)]}'
{"cinder/api/contrib/snapshot_actions.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"b082292085e931e9502a32f52684125dc5599a88","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":46,"context_line":"        authorize(context, \u0027update_snapshot_status\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        LOG.debug(\"body: %s\" % body)"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            status \u003d body[\u0027os-update_snapshot_status\u0027][\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_9bc13b84","line":47,"updated":"2015-03-16 18:08:41.000000000","message":"I disagree, the LP bug that this, and the other 2 patches, are closing is about marker functions, not delayed string interpolation.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":46,"context_line":"        authorize(context, \u0027update_snapshot_status\u0027)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        LOG.debug(\"body: %s\" % body)"},{"line_number":49,"context_line":"        try:"},{"line_number":50,"context_line":"            status \u003d body[\u0027os-update_snapshot_status\u0027][\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_876c90d1","line":47,"updated":"2015-03-16 15:36:49.000000000","message":"Please change all instances using % to , according to the delayed string interpolation recommendations here:\n\nhttp://docs.openstack.org/developer/oslo.i18n/guidelines.html#adding-variables-to-log-messages","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"            update_dict.update({\u0027progress\u0027: progress})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        LOG.info(_LI(\"Updating snapshot %(id)s with info %(dict)s\") %"},{"line_number":91,"context_line":"                 {\u0027id\u0027: id, \u0027dict\u0027: update_dict})"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        db.snapshot_update(context, id, update_dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_87a3b0fe","line":90,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"4f37cd5f23105e4159ec4919f09ca1c14971a915","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"            update_dict.update({\u0027progress\u0027: progress})"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        LOG.info(_LI(\"Updating snapshot %(id)s with info %(dict)s\") %"},{"line_number":91,"context_line":"                 {\u0027id\u0027: id, \u0027dict\u0027: update_dict})"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        db.snapshot_update(context, id, update_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_22771f3d","line":90,"updated":"2015-03-17 12:33:58.000000000","message":"Please replace % \u003d\u003e , Please recheck all your changes according to http://docs.openstack.org/developer/oslo.i18n/guidelines.html#examples","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/api/openstack/wsgi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":751,"context_line":"                code\u003dex_value.code, explanation\u003dex_value.msg))"},{"line_number":752,"context_line":"        elif isinstance(ex_value, TypeError):"},{"line_number":753,"context_line":"            exc_info \u003d (ex_type, ex_value, ex_traceback)"},{"line_number":754,"context_line":"            LOG.error(_LE("},{"line_number":755,"context_line":"                \u0027Exception handling resource: %s\u0027) %"},{"line_number":756,"context_line":"                ex_value, exc_info\u003dexc_info)"},{"line_number":757,"context_line":"            raise Fault(webob.exc.HTTPBadRequest())"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4784585d","line":754,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":755,"context_line":"                \u0027Exception handling resource: %s\u0027) %"},{"line_number":756,"context_line":"                ex_value, exc_info\u003dexc_info)"},{"line_number":757,"context_line":"            raise Fault(webob.exc.HTTPBadRequest())"},{"line_number":758,"context_line":"        elif isinstance(ex_value, Fault):"},{"line_number":759,"context_line":"            LOG.info(_LI(\"Fault thrown: %s\"), unicode(ex_value))"},{"line_number":760,"context_line":"            raise ex_value"},{"line_number":761,"context_line":"        elif isinstance(ex_value, webob.exc.HTTPException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_2789246f","line":758,"updated":"2015-03-16 15:36:49.000000000","message":"Remove unicode(). Should just pass in ex_value directly.\n\nhttp://docs.openstack.org/developer/oslo.i18n/guidelines.html#avoid-forcing-the-translation-of-translatable-variables","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":758,"context_line":"        elif isinstance(ex_value, Fault):"},{"line_number":759,"context_line":"            LOG.info(_LI(\"Fault thrown: %s\"), unicode(ex_value))"},{"line_number":760,"context_line":"            raise ex_value"},{"line_number":761,"context_line":"        elif isinstance(ex_value, webob.exc.HTTPException):"},{"line_number":762,"context_line":"            LOG.info(_LI(\"HTTP exception thrown: %s\"), unicode(ex_value))"},{"line_number":763,"context_line":"            raise Fault(ex_value)"},{"line_number":764,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_47eb7812","line":761,"updated":"2015-03-16 15:36:49.000000000","message":"Remove unicode().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":959,"context_line":"    def __call__(self, request):"},{"line_number":960,"context_line":"        \"\"\"WSGI method that controls (de)serialization and method dispatch.\"\"\""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"        LOG.info(_LI(\"%(method)s %(url)s\") % {\"method\": request.method,"},{"line_number":963,"context_line":"                                              \"url\": request.url})"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"        # Identify the action, its arguments, and the requested"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_27e04425","line":962,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        try:"},{"line_number":1060,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, status\u003dresponse.status_int)"},{"line_number":1061,"context_line":"            msg \u003d _(\"%(url)s returned with HTTP %(status)d\") % msg_dict"},{"line_number":1062,"context_line":"        except AttributeError as e:"},{"line_number":1063,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, e\u003de)"},{"line_number":1064,"context_line":"            msg \u003d _LI(\"%(url)s returned a fault: %(e)s\") % msg_dict"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_076a6080","line":1061,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LI().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":10485,"name":"Ankit Agrawal","email":"ankitagrawal8188@gmail.com","username":"ankitagrawal"},"change_message_id":"baf0f8fe27811651bb52b090bf2f186d6bf1e713","unresolved":false,"context_lines":[{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        try:"},{"line_number":1060,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, status\u003dresponse.status_int)"},{"line_number":1061,"context_line":"            msg \u003d _(\"%(url)s returned with HTTP %(status)d\") % msg_dict"},{"line_number":1062,"context_line":"        except AttributeError as e:"},{"line_number":1063,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, e\u003de)"},{"line_number":1064,"context_line":"            msg \u003d _LI(\"%(url)s returned a fault: %(e)s\") % msg_dict"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f87a1976","line":1061,"in_reply_to":"9a80dd14_076a6080","updated":"2015-03-17 11:21:12.000000000","message":"Done","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1081,"context_line":"                if (not self.wsgi_actions or action not in [\u0027action\u0027,"},{"line_number":1082,"context_line":"                                                            \u0027create\u0027,"},{"line_number":1083,"context_line":"                                                            \u0027delete\u0027,"},{"line_number":1084,"context_line":"                                                            \u0027update\u0027]):"},{"line_number":1085,"context_line":"                    LOG.exception(six.text_type(e))"},{"line_number":1086,"context_line":"                else:"},{"line_number":1087,"context_line":"                    ctxt.reraise \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_07c6e067","line":1084,"updated":"2015-03-16 15:36:49.000000000","message":"Passing in e is redundant since LOG.exception will already log the exception information, resulting in double logging here. Change to something like:\n\nLOG.exception(_LE(\"Error performing get.\"))","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"        if action \u003d\u003d \u0027action\u0027:"},{"line_number":1092,"context_line":"            # OK, it\u0027s an action; figure out which action..."},{"line_number":1093,"context_line":"            mtype \u003d _MEDIA_TYPE_MAP.get(content_type)"},{"line_number":1094,"context_line":"            action_name \u003d self.action_peek[mtype](body)"},{"line_number":1095,"context_line":"            LOG.debug(\"Action body: %s\" % body)"},{"line_number":1096,"context_line":"        else:"},{"line_number":1097,"context_line":"            action_name \u003d action"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_67a6bcc2","line":1094,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":959,"context_line":"    def __call__(self, request):"},{"line_number":960,"context_line":"        \"\"\"WSGI method that controls (de)serialization and method dispatch.\"\"\""},{"line_number":961,"context_line":""},{"line_number":962,"context_line":"        LOG.info(_LI(\"%(method)s %(url)s\") % {\"method\": request.method,"},{"line_number":963,"context_line":"                                              \"url\": request.url})"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"        # Identify the action, its arguments, and the requested"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_2edd1343","line":962,"updated":"2015-03-18 11:06:45.000000000","message":"Please, replace % \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        try:"},{"line_number":1060,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, status\u003dresponse.status_int)"},{"line_number":1061,"context_line":"            msg \u003d _LI(\"%(url)s returned with HTTP %(status)d\") % msg_dict"},{"line_number":1062,"context_line":"        except AttributeError as e:"},{"line_number":1063,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, e\u003de)"},{"line_number":1064,"context_line":"            msg \u003d _LI(\"%(url)s returned a fault: %(e)s\") % msg_dict"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_ceeb97da","line":1061,"updated":"2015-03-18 11:06:45.000000000","message":"Should be\nmsg \u003d _LI(\"%(url)s returned with HTTP %(status)d\")","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1061,"context_line":"            msg \u003d _LI(\"%(url)s returned with HTTP %(status)d\") % msg_dict"},{"line_number":1062,"context_line":"        except AttributeError as e:"},{"line_number":1063,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, e\u003de)"},{"line_number":1064,"context_line":"            msg \u003d _LI(\"%(url)s returned a fault: %(e)s\") % msg_dict"},{"line_number":1065,"context_line":""},{"line_number":1066,"context_line":"        LOG.info(msg)"},{"line_number":1067,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_4eb7a7f5","line":1064,"updated":"2015-03-18 11:06:45.000000000","message":"msg \u003d _LI(\"%(url)s returned a fault: %(e)s\")","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1063,"context_line":"            msg_dict \u003d dict(url\u003drequest.url, e\u003de)"},{"line_number":1064,"context_line":"            msg \u003d _LI(\"%(url)s returned a fault: %(e)s\") % msg_dict"},{"line_number":1065,"context_line":""},{"line_number":1066,"context_line":"        LOG.info(msg)"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"        return response"},{"line_number":1069,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_aec74363","line":1066,"updated":"2015-03-18 11:06:45.000000000","message":"LOG.info(msg, msg_dict)","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/backup/manager.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            if not allow_null_host:"},{"line_number":108,"context_line":"                msg \u003d _(\"NULL host not allowed for volume backend lookup.\")"},{"line_number":109,"context_line":"                raise exception.BackupFailedToGetVolumeBackend(msg)"},{"line_number":110,"context_line":"        else:"},{"line_number":111,"context_line":"            LOG.debug(\"Checking hostname \u0027%s\u0027 for backend info.\" % (host))"},{"line_number":112,"context_line":"            part \u003d host.partition(\u0027@\u0027)"},{"line_number":113,"context_line":"            if (part[1] \u003d\u003d \u0027@\u0027) and (part[2] !\u003d \u0027\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_472d38fd","line":110,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            LOG.debug(\"Checking hostname \u0027%s\u0027 for backend info.\" % (host))"},{"line_number":112,"context_line":"            part \u003d host.partition(\u0027@\u0027)"},{"line_number":113,"context_line":"            if (part[1] \u003d\u003d \u0027@\u0027) and (part[2] !\u003d \u0027\u0027):"},{"line_number":114,"context_line":"                backend \u003d part[2]"},{"line_number":115,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\" % (backend))"},{"line_number":116,"context_line":"                return backend"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_8733b060","line":114,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                backend \u003d part[2]"},{"line_number":115,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\" % (backend))"},{"line_number":116,"context_line":"                return backend"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        LOG.info(_LI(\"Backend not found in hostname (%s) so using default.\") %"},{"line_number":119,"context_line":"                 (host))"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_870ad076","line":117,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                LOG.debug(\"Got backend \u0027%s\u0027.\" % (backend))"},{"line_number":116,"context_line":"                return backend"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        LOG.info(_LI(\"Backend not found in hostname (%s) so using default.\") %"},{"line_number":119,"context_line":"                 (host))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        if \u0027default\u0027 not in self.volume_managers:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c7276810","line":118,"updated":"2015-03-16 15:36:49.000000000","message":"() not needed around host.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        return \u0027default\u0027"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _get_manager(self, backend):"},{"line_number":128,"context_line":"        LOG.debug(\"Manager requested for volume_backend \u0027%s\u0027.\" %"},{"line_number":129,"context_line":"                  (backend))"},{"line_number":130,"context_line":"        if backend is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_271924d1","line":127,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        return \u0027default\u0027"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def _get_manager(self, backend):"},{"line_number":128,"context_line":"        LOG.debug(\"Manager requested for volume_backend \u0027%s\u0027.\" %"},{"line_number":129,"context_line":"                  (backend))"},{"line_number":130,"context_line":"        if backend is None:"},{"line_number":131,"context_line":"            LOG.debug(\"Fetching default backend.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a78434d3","line":128,"updated":"2015-03-16 15:36:49.000000000","message":"() not needed around backend.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            raise exception.BackupFailedToGetVolumeBackend(msg)"},{"line_number":137,"context_line":"        return self.volume_managers[backend]"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def _get_driver(self, backend\u003dNone):"},{"line_number":140,"context_line":"        LOG.debug(\"Driver requested for volume_backend \u0027%s\u0027.\" %"},{"line_number":141,"context_line":"                  (backend))"},{"line_number":142,"context_line":"        if backend is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4762983e","line":139,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                service_name\u003dbackend)"},{"line_number":156,"context_line":"                config \u003d mgr.configuration"},{"line_number":157,"context_line":"                backend_name \u003d config.safe_get(\u0027volume_backend_name\u0027)"},{"line_number":158,"context_line":"                LOG.debug(\"Registering backend %(backend)s (host\u003d%(host)s \""},{"line_number":159,"context_line":"                          \"backend_name\u003d%(backend_name)s).\" %"},{"line_number":160,"context_line":"                          {\u0027backend\u0027: backend, \u0027host\u0027: host,"},{"line_number":161,"context_line":"                           \u0027backend_name\u0027: backend_name})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_8758108b","line":158,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                           \u0027backend_name\u0027: backend_name})"},{"line_number":162,"context_line":"                self.volume_managers[backend] \u003d mgr"},{"line_number":163,"context_line":"        else:"},{"line_number":164,"context_line":"            default \u003d importutils.import_object(CONF.volume_manager)"},{"line_number":165,"context_line":"            LOG.debug(\"Registering default backend %s.\" % (default))"},{"line_number":166,"context_line":"            self.volume_managers[\u0027default\u0027] \u003d default"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a75b5484","line":164,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            LOG.debug(\"Registering default backend %s.\" % (default))"},{"line_number":166,"context_line":"            self.volume_managers[\u0027default\u0027] \u003d default"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def _init_volume_driver(self, ctxt, driver):"},{"line_number":169,"context_line":"        LOG.info(_LI(\"Starting volume driver %(driver_name)s (%(version)s).\") %"},{"line_number":170,"context_line":"                 {\u0027driver_name\u0027: driver.__class__.__name__,"},{"line_number":171,"context_line":"                  \u0027version\u0027: driver.get_version()})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_274764a4","line":168,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            driver.do_setup(ctxt)"},{"line_number":174,"context_line":"            driver.check_for_setup_error()"},{"line_number":175,"context_line":"        except Exception as ex:"},{"line_number":176,"context_line":"            LOG.error(_LE(\"Error encountered during initialization of driver: \""},{"line_number":177,"context_line":"                          \"%(name)s.\") %"},{"line_number":178,"context_line":"                      {\u0027name\u0027: driver.__class__.__name__})"},{"line_number":179,"context_line":"            LOG.exception(ex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_07e340a4","line":176,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        except Exception as ex:"},{"line_number":176,"context_line":"            LOG.error(_LE(\"Error encountered during initialization of driver: \""},{"line_number":177,"context_line":"                          \"%(name)s.\") %"},{"line_number":178,"context_line":"                      {\u0027name\u0027: driver.__class__.__name__})"},{"line_number":179,"context_line":"            LOG.exception(ex)"},{"line_number":180,"context_line":"            # we don\u0027t want to continue since we failed"},{"line_number":181,"context_line":"            # to initialize the driver correctly."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a7a0b442","line":178,"updated":"2015-03-16 15:36:49.000000000","message":"Remove this, change previous LOG.error to LOG.exception for the same result.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        backups \u003d self.db.backup_get_all_by_host(ctxt, self.host)"},{"line_number":226,"context_line":"        for backup in backups:"},{"line_number":227,"context_line":"            if backup[\u0027status\u0027] \u003d\u003d \u0027creating\u0027:"},{"line_number":228,"context_line":"                LOG.info(_LI(\u0027Resetting backup %s to error (was creating).\u0027)"},{"line_number":229,"context_line":"                         % backup[\u0027id\u0027])"},{"line_number":230,"context_line":"                err \u003d \u0027incomplete backup reset on manager restart\u0027"},{"line_number":231,"context_line":"                self.db.backup_update(ctxt, backup[\u0027id\u0027], {\u0027status\u0027: \u0027error\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a7b7d483","line":228,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                                                           \u0027fail_reason\u0027: err})"},{"line_number":233,"context_line":"            if backup[\u0027status\u0027] \u003d\u003d \u0027restoring\u0027:"},{"line_number":234,"context_line":"                LOG.info(_LI(\u0027Resetting backup %s to \u0027"},{"line_number":235,"context_line":"                             \u0027 available (was restoring).\u0027)"},{"line_number":236,"context_line":"                         % backup[\u0027id\u0027])"},{"line_number":237,"context_line":"                self.db.backup_update(ctxt, backup[\u0027id\u0027],"},{"line_number":238,"context_line":"                                      {\u0027status\u0027: \u0027available\u0027})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e7ac6c37","line":235,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                         % backup[\u0027id\u0027])"},{"line_number":237,"context_line":"                self.db.backup_update(ctxt, backup[\u0027id\u0027],"},{"line_number":238,"context_line":"                                      {\u0027status\u0027: \u0027available\u0027})"},{"line_number":239,"context_line":"            if backup[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027:"},{"line_number":240,"context_line":"                LOG.info(_LI(\u0027Resuming delete on backup: %s.\u0027) % backup[\u0027id\u0027])"},{"line_number":241,"context_line":"                self.delete_backup(ctxt, backup[\u0027id\u0027])"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_27a3e443","line":239,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        backup \u003d self.db.backup_get(context, backup_id)"},{"line_number":246,"context_line":"        volume_id \u003d backup[\u0027volume_id\u0027]"},{"line_number":247,"context_line":"        volume \u003d self.db.volume_get(context, volume_id)"},{"line_number":248,"context_line":"        LOG.info(_LI(\u0027Create backup started, backup: %(backup_id)s \u0027"},{"line_number":249,"context_line":"                     \u0027volume: %(volume_id)s.\u0027) %"},{"line_number":250,"context_line":"                 {\u0027backup_id\u0027: backup_id, \u0027volume_id\u0027: volume_id})"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_67687cf5","line":248,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    def restore_backup(self, context, backup_id, volume_id):"},{"line_number":312,"context_line":"        \"\"\"Restore volume backups from configured backup service.\"\"\""},{"line_number":313,"context_line":"        LOG.info(_LI(\u0027Restore backup started, backup: %(backup_id)s \u0027"},{"line_number":314,"context_line":"                     \u0027volume: %(volume_id)s.\u0027) %"},{"line_number":315,"context_line":"                 {\u0027backup_id\u0027: backup_id, \u0027volume_id\u0027: volume_id})"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c75f683f","line":313,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":388,"context_line":"        self.db.volume_update(context, volume_id, {\u0027status\u0027: \u0027available\u0027})"},{"line_number":389,"context_line":"        backup \u003d self.db.backup_update(context, backup_id,"},{"line_number":390,"context_line":"                                       {\u0027status\u0027: \u0027available\u0027})"},{"line_number":391,"context_line":"        LOG.info(_LI(\u0027Restore backup finished, backup %(backup_id)s restored\u0027"},{"line_number":392,"context_line":"                     \u0027 to volume %(volume_id)s.\u0027) %"},{"line_number":393,"context_line":"                 {\u0027backup_id\u0027: backup_id, \u0027volume_id\u0027: volume_id})"},{"line_number":394,"context_line":"        self._notify_about_backup_usage(context, backup, \"restore.end\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_27512430","line":391,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":618,"context_line":"                    backup_service.verify(backup_id)"},{"line_number":619,"context_line":"                else:"},{"line_number":620,"context_line":"                    LOG.warn(_LW(\u0027Backup service %(service)s does not support \u0027"},{"line_number":621,"context_line":"                                 \u0027verify. Backup id %(id)s is not verified. \u0027"},{"line_number":622,"context_line":"                                 \u0027Skipping verify.\u0027) % {\u0027service\u0027:"},{"line_number":623,"context_line":"                                                        self.driver_name,"},{"line_number":624,"context_line":"                                                        \u0027id\u0027: backup_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e708ec2e","line":621,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":629,"context_line":"                                           \u0027fail_reason\u0027:"},{"line_number":630,"context_line":"                                           unicode(err)})"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"            LOG.info(_LI(\u0027Import record id %s metadata from driver \u0027"},{"line_number":633,"context_line":"                         \u0027finished.\u0027) % backup_id)"},{"line_number":634,"context_line":""},{"line_number":635,"context_line":"    def reset_status(self, context, backup_id, status):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c214b645","line":632,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":698,"context_line":"                                              {\u0027status\u0027: status})"},{"line_number":699,"context_line":"            except exception.InvalidBackup:"},{"line_number":700,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":701,"context_line":"                    msg \u003d (_LE(\"Backup id %(id)s is not invalid. \""},{"line_number":702,"context_line":"                               \"Skipping reset.\") % {\u0027id\u0027: backup_id})"},{"line_number":703,"context_line":"                    LOG.error(msg)"},{"line_number":704,"context_line":"            except exception.BackupVerifyUnsupportedDriver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_2e827300","line":701,"updated":"2015-03-18 11:06:45.000000000","message":"The same as for cinder/api/openstack/wsgi.py","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/brick/exception.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                # kwargs doesn\u0027t match a variable in the message"},{"line_number":52,"context_line":"                # log the issue and the kwargs"},{"line_number":53,"context_line":"                msg \u003d (_LE(\"Exception in string format operation.  msg\u003d\u0027%s\u0027\")"},{"line_number":54,"context_line":"                       % self.message)"},{"line_number":55,"context_line":"                LOG.exception(msg)"},{"line_number":56,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":57,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\u0027name\u0027: name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c26916bf","line":54,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                       % self.message)"},{"line_number":55,"context_line":"                LOG.exception(msg)"},{"line_number":56,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":57,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\u0027name\u0027: name,"},{"line_number":58,"context_line":"                                                            \u0027value\u0027: value})"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"                # at least get the core message out if something happened"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_225bd222","line":57,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                       % self.message)"},{"line_number":55,"context_line":"                LOG.exception(msg)"},{"line_number":56,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":57,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\u0027name\u0027: name,"},{"line_number":58,"context_line":"                                                            \u0027value\u0027: value})"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"                # at least get the core message out if something happened"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8e76ff3d","line":57,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/brick/initiator/connector.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                device_scan_attempts\u003dDEVICE_SCAN_ATTEMPTS_DEFAULT,"},{"line_number":113,"context_line":"                arch\u003dplatform.machine(),"},{"line_number":114,"context_line":"                *args, **kwargs):"},{"line_number":115,"context_line":"        \"\"\"Build a Connector object based upon protocol and architecture.\"\"\""},{"line_number":116,"context_line":"        LOG.debug(\"Factory for %s on %s\" % (protocol, arch))"},{"line_number":117,"context_line":"        protocol \u003d protocol.upper()"},{"line_number":118,"context_line":"        if protocol \u003d\u003d \"ISCSI\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_22b2f248","line":115,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            out, info \u003d self._execute(*cmd, run_as_root\u003drun_as_root,"},{"line_number":187,"context_line":"                                      root_helper\u003dself._root_helper)"},{"line_number":188,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":189,"context_line":"            LOG.error(_LE(\"Failed to access the device on the path \""},{"line_number":190,"context_line":"                          \"%(path)s: %(error)s %(info)s.\") %"},{"line_number":191,"context_line":"                      {\"path\": path, \"error\": e.stderr,"},{"line_number":192,"context_line":"                       \"info\": info})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_62878a61","line":189,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":427,"context_line":"            for l in lines.split(\u0027\\n\u0027):"},{"line_number":428,"context_line":"                if l.startswith(\u0027InitiatorName\u003d\u0027):"},{"line_number":429,"context_line":"                    return l[l.index(\u0027\u003d\u0027) + 1:].strip()"},{"line_number":430,"context_line":"        except putils.ProcessExecutionError:"},{"line_number":431,"context_line":"            msg \u003d (_(\"Could not find the iSCSI Initiator File %s\")"},{"line_number":432,"context_line":"                   % file_path)"},{"line_number":433,"context_line":"            LOG.warn(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_62eeaa23","line":430,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":441,"context_line":"                                   connection_properties[\u0027target_portal\u0027],"},{"line_number":442,"context_line":"                                   *iscsi_command, run_as_root\u003dTrue,"},{"line_number":443,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":444,"context_line":"                                   check_exit_code\u003dcheck_exit_code)"},{"line_number":445,"context_line":"        LOG.debug(\"iscsiadm %s: stdout\u003d%s stderr\u003d%s\" %"},{"line_number":446,"context_line":"                  (iscsi_command, out, err))"},{"line_number":447,"context_line":"        return (out, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c2de766c","line":444,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def _disconnect_volume_multipath_iscsi(self, connection_properties,"},{"line_number":461,"context_line":"                                           multipath_name):"},{"line_number":462,"context_line":"        \"\"\"This removes a multipath device and it\u0027s LUNs.\"\"\""},{"line_number":463,"context_line":"        LOG.debug(\"Disconnect multipath device %s\" % multipath_name)"},{"line_number":464,"context_line":"        block_devices \u003d self.driver.get_all_block_devices()"},{"line_number":465,"context_line":"        devices \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e2d9ba83","line":462,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":620,"context_line":"                                   *iscsi_command,"},{"line_number":621,"context_line":"                                   run_as_root\u003dTrue,"},{"line_number":622,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":623,"context_line":"                                   check_exit_code\u003dcheck_exit_code)"},{"line_number":624,"context_line":"        LOG.debug(\"iscsiadm %s: stdout\u003d%s stderr\u003d%s\" %"},{"line_number":625,"context_line":"                  (iscsi_command, out, err))"},{"line_number":626,"context_line":"        return (out, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_42d2865c","line":623,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                                   *multipath_command,"},{"line_number":632,"context_line":"                                   run_as_root\u003dTrue,"},{"line_number":633,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":634,"context_line":"                                   check_exit_code\u003dcheck_exit_code)"},{"line_number":635,"context_line":"        LOG.debug(\"multipath %s: stdout\u003d%s stderr\u003d%s\" %"},{"line_number":636,"context_line":"                  (multipath_command, out, err))"},{"line_number":637,"context_line":"        return (out, err)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a2cb42a2","line":634,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":684,"context_line":"        target_portal - ip and optional port"},{"line_number":685,"context_line":"        target_iqn - iSCSI Qualified Name"},{"line_number":686,"context_line":"        target_lun - LUN id of the volume"},{"line_number":687,"context_line":"        \"\"\""},{"line_number":688,"context_line":"        LOG.debug(\"execute \u003d %s\" % self._execute)"},{"line_number":689,"context_line":"        device_info \u003d {\u0027type\u0027: \u0027block\u0027}"},{"line_number":690,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c2c5968e","line":687,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        host_devices \u003d self._get_host_devices(possible_devs, lun)"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"        if len(host_devices) \u003d\u003d 0:"},{"line_number":699,"context_line":"            # this is empty because we don\u0027t have any FC HBAs"},{"line_number":700,"context_line":"            msg \u003d _(\"We are unable to locate any Fibre Channel devices\")"},{"line_number":701,"context_line":"            LOG.warn(msg)"},{"line_number":702,"context_line":"            raise exception.NoFibreChannelHostsFound()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4239a6a2","line":699,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":746,"context_line":"        if self.use_multipath:"},{"line_number":747,"context_line":"            mdev_info \u003d self._linuxscsi.find_multipath_device(self.device_name)"},{"line_number":748,"context_line":"            if mdev_info is not None:"},{"line_number":749,"context_line":"                LOG.debug(\"Multipath device discovered %(device)s\""},{"line_number":750,"context_line":"                          % {\u0027device\u0027: mdev_info[\u0027device\u0027]})"},{"line_number":751,"context_line":"                device_path \u003d mdev_info[\u0027device\u0027]"},{"line_number":752,"context_line":"                devices \u003d mdev_info[\u0027devices\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a242620c","line":749,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":826,"context_line":"        if self.use_multipath and \u0027multipath_id\u0027 in device_info:"},{"line_number":827,"context_line":"            multipath_id \u003d device_info[\u0027multipath_id\u0027]"},{"line_number":828,"context_line":"            mdev_info \u003d self._linuxscsi.find_multipath_device(multipath_id)"},{"line_number":829,"context_line":"            devices \u003d mdev_info[\u0027devices\u0027]"},{"line_number":830,"context_line":"            LOG.debug(\"devices to remove \u003d %s\" % devices)"},{"line_number":831,"context_line":"            self._linuxscsi.flush_multipath_device(multipath_id)"},{"line_number":832,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e26e1a95","line":829,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"                                   run_as_root\u003dTrue,"},{"line_number":1014,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":1015,"context_line":"                                   check_exit_code\u003d0)"},{"line_number":1016,"context_line":""},{"line_number":1017,"context_line":"        LOG.debug(\u0027aoe-discover: stdout\u003d%(out)s stderr%(err)s\u0027 %"},{"line_number":1018,"context_line":"                  {\u0027out\u0027: out, \u0027err\u0027: err})"},{"line_number":1019,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a210a200","line":1016,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1023,"context_line":"                                   run_as_root\u003dTrue,"},{"line_number":1024,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":1025,"context_line":"                                   check_exit_code\u003d0)"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"        LOG.debug(\u0027aoe-revalidate %(dev)s: stdout\u003d%(out)s stderr%(err)s\u0027 %"},{"line_number":1028,"context_line":"                  {\u0027dev\u0027: aoe_device, \u0027out\u0027: out, \u0027err\u0027: err})"},{"line_number":1029,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e2f53acb","line":1026,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1032,"context_line":"                                   aoe_device,"},{"line_number":1033,"context_line":"                                   run_as_root\u003dTrue,"},{"line_number":1034,"context_line":"                                   root_helper\u003dself._root_helper,"},{"line_number":1035,"context_line":"                                   check_exit_code\u003d0)"},{"line_number":1036,"context_line":"        LOG.debug(\u0027aoe-flush %(dev)s: stdout\u003d%(out)s stderr%(err)s\u0027 %"},{"line_number":1037,"context_line":"                  {\u0027dev\u0027: aoe_device, \u0027out\u0027: out, \u0027err\u0027: err})"},{"line_number":1038,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_422e0644","line":1035,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1141,"context_line":"        self.cli_path \u003d os.getenv(\u0027HUAWEISDSHYPERVISORCLI_PATH\u0027)"},{"line_number":1142,"context_line":"        if not self.cli_path:"},{"line_number":1143,"context_line":"            self.cli_path \u003d \u0027/usr/local/bin/sds/sds_cli\u0027"},{"line_number":1144,"context_line":"            LOG.debug(\"CLI path is not configured, using default %s.\""},{"line_number":1145,"context_line":"                      % self.cli_path)"},{"line_number":1146,"context_line":"        if not os.path.isfile(self.cli_path):"},{"line_number":1147,"context_line":"            self.iscliexist \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_82db9e4d","line":1144,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1155,"context_line":"    @synchronized(\u0027connect_volume\u0027)"},{"line_number":1156,"context_line":"    def connect_volume(self, connection_properties):"},{"line_number":1157,"context_line":"        \"\"\"Connect to a volume.\"\"\""},{"line_number":1158,"context_line":"        LOG.debug(\"Connect_volume connection properties: %s.\""},{"line_number":1159,"context_line":"                  % connection_properties)"},{"line_number":1160,"context_line":"        out \u003d self._attach_volume(connection_properties[\u0027volume_id\u0027])"},{"line_number":1161,"context_line":"        if not out or int(out[\u0027ret_code\u0027]) not in (self.attached_success_code,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e2e37a02","line":1158,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"    @synchronized(\u0027connect_volume\u0027)"},{"line_number":1178,"context_line":"    def disconnect_volume(self, connection_properties, device_info):"},{"line_number":1179,"context_line":"        \"\"\"Disconnect a volume from the local host.\"\"\""},{"line_number":1180,"context_line":"        LOG.debug(\"Disconnect_volume: %s.\" % connection_properties)"},{"line_number":1181,"context_line":"        out \u003d self._detach_volume(connection_properties[\u0027volume_id\u0027])"},{"line_number":1182,"context_line":"        if not out or int(out[\u0027ret_code\u0027]) not in (self.attached_success_code,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_42bc46dc","line":1179,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"    def is_volume_connected(self, volume_name):"},{"line_number":1190,"context_line":"        \"\"\"Check if volume already connected to host\"\"\""},{"line_number":1191,"context_line":"        LOG.debug(\u0027Check if volume %s already connected to a host.\u0027"},{"line_number":1192,"context_line":"                  % volume_name)"},{"line_number":1193,"context_line":"        out \u003d self._query_attached_volume(volume_name)"},{"line_number":1194,"context_line":"        if out:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_82b2be03","line":1191,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"        out, clilog \u003d self._execute(*cmd, run_as_root\u003dFalse,"},{"line_number":1217,"context_line":"                                    root_helper\u003dself._root_helper)"},{"line_number":1218,"context_line":"        analyse_result \u003d self._analyze_output(out)"},{"line_number":1219,"context_line":"        LOG.debug(\u0027%(method)s volume returns %(analyse_result)s.\u0027"},{"line_number":1220,"context_line":"                  % {\u0027method\u0027: method, \u0027analyse_result\u0027: analyse_result})"},{"line_number":1221,"context_line":"        if clilog:"},{"line_number":1222,"context_line":"            LOG.error(_LE(\"SDS CLI output some log: %s.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c2cf567d","line":1219,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"        LOG.debug(\u0027%(method)s volume returns %(analyse_result)s.\u0027"},{"line_number":1220,"context_line":"                  % {\u0027method\u0027: method, \u0027analyse_result\u0027: analyse_result})"},{"line_number":1221,"context_line":"        if clilog:"},{"line_number":1222,"context_line":"            LOG.error(_LE(\"SDS CLI output some log: %s.\")"},{"line_number":1223,"context_line":"                      % clilog)"},{"line_number":1224,"context_line":"        return analyse_result"},{"line_number":1225,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_02c6ce67","line":1222,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1228,"context_line":"        if out:"},{"line_number":1229,"context_line":"            analyse_result \u003d {}"},{"line_number":1230,"context_line":"            out_temp \u003d out.split(\u0027\\n\u0027)"},{"line_number":1231,"context_line":"            for line in out_temp:"},{"line_number":1232,"context_line":"                LOG.debug(\"Line is %s.\" % line)"},{"line_number":1233,"context_line":"                if line.find(\u0027\u003d\u0027) !\u003d -1:"},{"line_number":1234,"context_line":"                    key, val \u003d line.split(\u0027\u003d\u0027, 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_62a6aac2","line":1231,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"}],"cinder/exception.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4291a645","line":96,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a927cddad51febbe31fb1a3f254ba4d6201f6238","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_7807edc9","line":96,"updated":"2015-03-17 19:22:35.000000000","message":"I just realized my comment is unclear, sorry. :(\nI meant that since this is an error it should be cataloged as such, even if now it doesn\u0027t need any translation.","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f3598c82dc62efc4dd9303fcace1e5e47d666a15","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_b7441db8","line":96,"updated":"2015-03-17 17:09:00.000000000","message":"I think we should, as the intention is to allow log levels using separate message catalogs.","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4d3324688bedcf6775f26499354e7cc78ade8565","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_e416ea57","line":96,"updated":"2015-03-17 15:54:07.000000000","message":"There is no text that can be translated in this message... should we really mark it?","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_6ea2ab9b","line":96,"in_reply_to":"9a80dd14_7807edc9","updated":"2015-03-18 11:06:45.000000000","message":"Also \u0027%\u0027 should be replaced with \u0027,\u0027","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0e138d9b5ad0a08f9944402183d7dacd3232f071","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                # log the issue and the kwargs"},{"line_number":94,"context_line":"                LOG.exception(_LE(\u0027Exception in string format operation\u0027))"},{"line_number":95,"context_line":"                for name, value in kwargs.iteritems():"},{"line_number":96,"context_line":"                    LOG.error(_LE(\"%(name)s: %(value)s\") % {\"name\": name,"},{"line_number":97,"context_line":"                                                            \"value\": value})"},{"line_number":98,"context_line":"                if CONF.fatal_exception_format_errors:"},{"line_number":99,"context_line":"                    raise exc_info[0], exc_info[1], exc_info[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_03e76bad","line":96,"in_reply_to":"9a80dd14_b7441db8","updated":"2015-03-17 18:20:43.000000000","message":"Eric\u0027s point here is there is nothing to actually translate in this string. Good point, but not sure if it really matter too much. Ends up being a noop for the translators.","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/image/glance.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                    extra \u003d \u0027done trying\u0027"},{"line_number":188,"context_line":"                    error_msg \u003d _LE(\"Error contacting glance server \""},{"line_number":189,"context_line":"                                    \"\u0027%(netloc)s\u0027 for \u0027%(method)s\u0027, \""},{"line_number":190,"context_line":"                                    \"%(extra)s.\") % {\u0027netloc\u0027: netloc,"},{"line_number":191,"context_line":"                                                     \u0027method\u0027: method,"},{"line_number":192,"context_line":"                                                     \u0027extra\u0027: extra,"},{"line_number":193,"context_line":"                                                     }"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_aec3c336","line":190,"updated":"2015-03-18 11:06:45.000000000","message":"The same comment as for cinder/api/openstack/wsgi.py","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/image/image_utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    mbps \u003d (fsz_mb / duration)"},{"line_number":99,"context_line":"    msg \u003d (\"Image conversion details: src %(src)s, size %(sz).2f MB, \""},{"line_number":100,"context_line":"           \"duration %(duration).2f sec, destination %(dest)s\")"},{"line_number":101,"context_line":"    LOG.debug(msg % {\"src\": source,"},{"line_number":102,"context_line":"                     \"sz\": fsz_mb,"},{"line_number":103,"context_line":"                     \"duration\": duration,"},{"line_number":104,"context_line":"                     \"dest\": dest})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_02f08e8f","line":101,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                     \"dest\": dest})"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    msg \u003d _LI(\"Converted %(sz).2f MB image at %(mbps).2f MB/s\")"},{"line_number":107,"context_line":"    LOG.info(msg % {\"sz\": fsz_mb, \"mbps\": mbps})"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"def convert_image(source, dest, out_format, run_as_root\u003dTrue, throttle\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_422d26fd","line":107,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    mbps \u003d (fsz_mb / duration)"},{"line_number":142,"context_line":"    msg \u003d (\"Image fetch details: dest %(dest)s, size %(sz).2f MB, \""},{"line_number":143,"context_line":"           \"duration %(duration).2f sec\")"},{"line_number":144,"context_line":"    LOG.debug(msg % {\"dest\": image_file.name,"},{"line_number":145,"context_line":"                     \"sz\": fsz_mb,"},{"line_number":146,"context_line":"                     \"duration\": duration})"},{"line_number":147,"context_line":"    msg \u003d _LI(\"Image download %(sz).2f MB at %(mbps).2f MB/s\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e23b7a35","line":144,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                     \"sz\": fsz_mb,"},{"line_number":146,"context_line":"                     \"duration\": duration})"},{"line_number":147,"context_line":"    msg \u003d _LI(\"Image download %(sz).2f MB at %(mbps).2f MB/s\")"},{"line_number":148,"context_line":"    LOG.info(msg % {\"sz\": fsz_mb, \"mbps\": mbps})"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"def fetch_verify_image(context, image_service, image_id, dest,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_820abe76","line":148,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            # qemu-img is not installed but we do have a RAW image.  As a"},{"line_number":243,"context_line":"            # result we only need to copy the image to the destination and then"},{"line_number":244,"context_line":"            # return."},{"line_number":245,"context_line":"            LOG.debug(\u0027Copying image from %(tmp)s to volume %(dest)s - \u0027"},{"line_number":246,"context_line":"                      \u0027size: %(size)s\u0027 % {\u0027tmp\u0027: tmp, \u0027dest\u0027: dest,"},{"line_number":247,"context_line":"                                          \u0027size\u0027: image_meta[\u0027size\u0027]})"},{"line_number":248,"context_line":"            image_size_m \u003d math.ceil(image_meta[\u0027size\u0027] / units.Mi)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_427b66f4","line":245,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        # and if so, writing directly to the device. However, we need to keep"},{"line_number":281,"context_line":"        # check via \u0027qemu-img info\u0027 that what we copied was in fact a raw"},{"line_number":282,"context_line":"        # image and not a different format with a backing file, which may be"},{"line_number":283,"context_line":"        # malicious."},{"line_number":284,"context_line":"        LOG.debug(\"%s was %s, converting to %s \" % (image_id, fmt,"},{"line_number":285,"context_line":"                                                    volume_format))"},{"line_number":286,"context_line":"        convert_image(tmp, dest, volume_format,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_a28422d3","line":283,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":299,"context_line":"def upload_volume(context, image_service, image_meta, volume_path,"},{"line_number":300,"context_line":"                  volume_format\u003d\u0027raw\u0027, run_as_root\u003dTrue):"},{"line_number":301,"context_line":"    image_id \u003d image_meta[\u0027id\u0027]"},{"line_number":302,"context_line":"    if (image_meta[\u0027disk_format\u0027] \u003d\u003d volume_format):"},{"line_number":303,"context_line":"        LOG.debug(\"%s was %s, no need to convert to %s\" %"},{"line_number":304,"context_line":"                  (image_id, volume_format, image_meta[\u0027disk_format\u0027]))"},{"line_number":305,"context_line":"        if os.name \u003d\u003d \u0027nt\u0027 or os.access(volume_path, os.R_OK):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_0275eef8","line":302,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":311,"context_line":"                    image_service.update(context, image_id, {}, image_file)"},{"line_number":312,"context_line":"        return"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    with temporary_file() as tmp:"},{"line_number":315,"context_line":"        LOG.debug(\"%s was %s, converting to %s\" %"},{"line_number":316,"context_line":"                  (image_id, volume_format, image_meta[\u0027disk_format\u0027]))"},{"line_number":317,"context_line":"        convert_image(volume_path, tmp, image_meta[\u0027disk_format\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6265ca43","line":314,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    mbps \u003d (fsz_mb / duration)"},{"line_number":99,"context_line":"    msg \u003d (\"Image conversion details: src %(src)s, size %(sz).2f MB, \""},{"line_number":100,"context_line":"           \"duration %(duration).2f sec, destination %(dest)s\")"},{"line_number":101,"context_line":"    LOG.debug(msg % {\"src\": source,"},{"line_number":102,"context_line":"                     \"sz\": fsz_mb,"},{"line_number":103,"context_line":"                     \"duration\": duration,"},{"line_number":104,"context_line":"                     \"dest\": dest})"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_4eea47ad","line":101,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                     \"dest\": dest})"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    msg \u003d _LI(\"Converted %(sz).2f MB image at %(mbps).2f MB/s\")"},{"line_number":107,"context_line":"    LOG.info(msg % {\"sz\": fsz_mb, \"mbps\": mbps})"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"def convert_image(source, dest, out_format, run_as_root\u003dTrue, throttle\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_eedcdb1a","line":107,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                     \"sz\": fsz_mb,"},{"line_number":146,"context_line":"                     \"duration\": duration})"},{"line_number":147,"context_line":"    msg \u003d _LI(\"Image download %(sz).2f MB at %(mbps).2f MB/s\")"},{"line_number":148,"context_line":"    LOG.info(msg % {\"sz\": fsz_mb, \"mbps\": mbps})"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"def fetch_verify_image(context, image_service, image_id, dest,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8ecb5f49","line":148,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/scheduler/filter_scheduler.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            return  # no previously attempted hosts, skip"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        last_host \u003d hosts[-1]"},{"line_number":215,"context_line":"        msg \u003d _LE(\"Error scheduling %(volume_id)s from last vol-service: \""},{"line_number":216,"context_line":"                  \"%(last_host)s : %(exc)s\") % {\u0027volume_id\u0027: volume_id,"},{"line_number":217,"context_line":"                                                \u0027last_host\u0027: last_host,"},{"line_number":218,"context_line":"                                                \u0027exc\u0027: exc,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_4297e6eb","line":215,"updated":"2015-03-16 15:36:49.000000000","message":"msg isn\u0027t really needed since it\u0027s just passed in to LOG.error. I\u0027d rather see the string and the format arguments used directly in the log statement.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":304,"context_line":"                                                     filter_properties)"},{"line_number":305,"context_line":"        if not hosts:"},{"line_number":306,"context_line":"            return []"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        LOG.debug(\"Filtered %s\" % hosts)"},{"line_number":309,"context_line":"        # weighted_host \u003d WeightedHost() ... the best"},{"line_number":310,"context_line":"        # host for the job."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e2853aad","line":307,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":375,"context_line":""},{"line_number":376,"context_line":"            if not hosts:"},{"line_number":377,"context_line":"                return []"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"            LOG.debug(\"Filtered %s\" % hosts)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # weighted_host \u003d WeightedHost() ... the best"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_228cb2d6","line":378,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"    def _choose_top_host(self, weighed_hosts, request_spec):"},{"line_number":425,"context_line":"        top_host \u003d weighed_hosts[0]"},{"line_number":426,"context_line":"        host_state \u003d top_host.obj"},{"line_number":427,"context_line":"        LOG.debug(\"Choosing %s\" % host_state.host)"},{"line_number":428,"context_line":"        volume_properties \u003d request_spec[\u0027volume_properties\u0027]"},{"line_number":429,"context_line":"        host_state.consume_from_volume(volume_properties)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_c2b11690","line":426,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":431,"context_line":""},{"line_number":432,"context_line":"    def _choose_top_host_group(self, weighed_hosts, request_spec_list):"},{"line_number":433,"context_line":"        top_host \u003d weighed_hosts[0]"},{"line_number":434,"context_line":"        host_state \u003d top_host.obj"},{"line_number":435,"context_line":"        LOG.debug(\"Choosing %s\" % host_state.host)"},{"line_number":436,"context_line":"        return top_host"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_02a88e1e","line":434,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            return  # no previously attempted hosts, skip"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        last_host \u003d hosts[-1]"},{"line_number":215,"context_line":"        msg \u003d _LE(\"Error scheduling %(volume_id)s from last vol-service: \""},{"line_number":216,"context_line":"                  \"%(last_host)s : %(exc)s\") % {\u0027volume_id\u0027: volume_id,"},{"line_number":217,"context_line":"                                                \u0027last_host\u0027: last_host,"},{"line_number":218,"context_line":"                                                \u0027exc\u0027: exc,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_ee03fb73","line":215,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/scheduler/manager.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                request_spec_list,"},{"line_number":113,"context_line":"                filter_properties_list)"},{"line_number":114,"context_line":"        except exception.NoValidHost:"},{"line_number":115,"context_line":"            msg \u003d (_LE(\"Could not find a host for consistency group \""},{"line_number":116,"context_line":"                       \"%(group_id)s.\") %"},{"line_number":117,"context_line":"                   {\u0027group_id\u0027: group_id})"},{"line_number":118,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e2737ae4","line":115,"updated":"2015-03-16 15:36:49.000000000","message":"Get rid of msg variable. Move into LOG.error().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                     request_spec, msg\u003dNone):"},{"line_number":278,"context_line":"        # TODO(harlowja): move into a task that just does this later."},{"line_number":279,"context_line":"        if not msg:"},{"line_number":280,"context_line":"            msg \u003d (_LE(\"Failed to schedule_%(method)s: %(ex)s\") %"},{"line_number":281,"context_line":"                   {\u0027method\u0027: method, \u0027ex\u0027: ex})"},{"line_number":282,"context_line":"        LOG.error(msg)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_621dca72","line":280,"updated":"2015-03-16 15:36:49.000000000","message":"Move into LOG.error or wrap ex in six.text_type. Also move indent of LOG.error so it only is called if there actually is a msg to log.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                filter_properties_list)"},{"line_number":114,"context_line":"        except exception.NoValidHost:"},{"line_number":115,"context_line":"            msg \u003d (_LE(\"Could not find a host for consistency group \""},{"line_number":116,"context_line":"                       \"%(group_id)s.\") %"},{"line_number":117,"context_line":"                   {\u0027group_id\u0027: group_id})"},{"line_number":118,"context_line":"            LOG.error(msg)"},{"line_number":119,"context_line":"            db.consistencygroup_update(context, group_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_4e016769","line":116,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                     request_spec, msg\u003dNone):"},{"line_number":278,"context_line":"        # TODO(harlowja): move into a task that just does this later."},{"line_number":279,"context_line":"        if not msg:"},{"line_number":280,"context_line":"            msg \u003d (_LE(\"Failed to schedule_%(method)s: %(ex)s\") %"},{"line_number":281,"context_line":"                   {\u0027method\u0027: method, \u0027ex\u0027: ex})"},{"line_number":282,"context_line":"        LOG.error(msg)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_6ef70b8d","line":280,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/service.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            self.service_id \u003d service_ref[\u0027id\u0027]"},{"line_number":150,"context_line":"        except exception.NotFound:"},{"line_number":151,"context_line":"            self._create_service_ref(ctxt)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.debug(\"Creating RPC server for service %s\" % self.topic)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        target \u003d messaging.Target(topic\u003dself.topic, server\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76558bf8","line":152,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        # Make sure report interval is less than service down time"},{"line_number":186,"context_line":"        if self.report_interval:"},{"line_number":187,"context_line":"            if CONF.service_down_time \u003c\u003d self.report_interval:"},{"line_number":188,"context_line":"                new_down_time \u003d int(self.report_interval * 2.5)"},{"line_number":189,"context_line":"                LOG.warn(_(\"Report interval must be less than service down \""},{"line_number":190,"context_line":"                           \"time. Current config service_down_time: \""},{"line_number":191,"context_line":"                           \"%(service_down_time)s, report_interval for this: \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_3676b3a4","line":188,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW()","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        self.stop()"},{"line_number":254,"context_line":"        try:"},{"line_number":255,"context_line":"            db.service_destroy(context.get_admin_context(), self.service_id)"},{"line_number":256,"context_line":"        except exception.NotFound:"},{"line_number":257,"context_line":"            LOG.warn(_(\u0027Service killed that has no database entry\u0027))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def stop(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_966f5fc3","line":256,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW()","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":434,"context_line":"        # should use secret flag when switch over to openstack-common"},{"line_number":435,"context_line":"        if (\"_password\" in flag or \"_key\" in flag or"},{"line_number":436,"context_line":"                (flag \u003d\u003d \"sql_connection\" and"},{"line_number":437,"context_line":"                    (\"mysql:\" in flag_get or \"postgresql:\" in flag_get))):"},{"line_number":438,"context_line":"            LOG.debug(\u0027%s : FLAG SET \u0027 % flag)"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            LOG.debug(\u0027%(flag)s : %(flag_get)s\u0027 %"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_96a67f0d","line":437,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                (flag \u003d\u003d \"sql_connection\" and"},{"line_number":437,"context_line":"                    (\"mysql:\" in flag_get or \"postgresql:\" in flag_get))):"},{"line_number":438,"context_line":"            LOG.debug(\u0027%s : FLAG SET \u0027 % flag)"},{"line_number":439,"context_line":"        else:"},{"line_number":440,"context_line":"            LOG.debug(\u0027%(flag)s : %(flag_get)s\u0027 %"},{"line_number":441,"context_line":"                      {\u0027flag\u0027: flag, \u0027flag_get\u0027: flag_get})"},{"line_number":442,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d6ab97d3","line":439,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"}],"cinder/transfer/api.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def create(self, context, volume_id, display_name):"},{"line_number":102,"context_line":"        \"\"\"Creates an entry in the transfers table.\"\"\""},{"line_number":103,"context_line":"        volume_api.check_policy(context, \u0027create_transfer\u0027)"},{"line_number":104,"context_line":"        LOG.info(_LI(\"Generating transfer record for volume %s\") % volume_id)"},{"line_number":105,"context_line":"        volume_ref \u003d self.db.volume_get(context, volume_id)"},{"line_number":106,"context_line":"        if volume_ref[\u0027status\u0027] !\u003d \"available\":"},{"line_number":107,"context_line":"            raise exception.InvalidVolume(reason\u003d_(\"status must be available\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_36eb1314","line":104,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":121,"context_line":"        try:"},{"line_number":122,"context_line":"            transfer \u003d self.db.transfer_create(context, transfer_rec)"},{"line_number":123,"context_line":"        except Exception:"},{"line_number":124,"context_line":"            LOG.error(_LE(\"Failed to create transfer record \""},{"line_number":125,"context_line":"                          \"for %s\") % volume_id)"},{"line_number":126,"context_line":"            raise"},{"line_number":127,"context_line":"        return {\u0027id\u0027: transfer[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_56eec722","line":124,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            def _consumed(name):"},{"line_number":159,"context_line":"                return (usages[name][\u0027reserved\u0027] + usages[name][\u0027in_use\u0027])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"            if \u0027gigabytes\u0027 in overs:"},{"line_number":162,"context_line":"                msg \u003d _(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":163,"context_line":"                        \"%(s_size)sG volume (%(d_consumed)dG of %(d_quota)dG \""},{"line_number":164,"context_line":"                        \"already consumed)\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76c82ba8","line":161,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW()","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            if \u0027gigabytes\u0027 in overs:"},{"line_number":162,"context_line":"                msg \u003d _(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":163,"context_line":"                        \"%(s_size)sG volume (%(d_consumed)dG of %(d_quota)dG \""},{"line_number":164,"context_line":"                        \"already consumed)\")"},{"line_number":165,"context_line":"                LOG.warn(msg % {\u0027s_pid\u0027: context.project_id,"},{"line_number":166,"context_line":"                                \u0027s_size\u0027: vol_ref[\u0027size\u0027],"},{"line_number":167,"context_line":"                                \u0027d_consumed\u0027: _consumed(\u0027gigabytes\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d6d9d783","line":164,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                    requested\u003dvol_ref[\u0027size\u0027],"},{"line_number":171,"context_line":"                    consumed\u003d_consumed(\u0027gigabytes\u0027),"},{"line_number":172,"context_line":"                    quota\u003dquotas[\u0027gigabytes\u0027])"},{"line_number":173,"context_line":"            elif \u0027volumes\u0027 in overs:"},{"line_number":174,"context_line":"                msg \u003d _(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":175,"context_line":"                        \"volume (%(d_consumed)d volumes \""},{"line_number":176,"context_line":"                        \"already consumed)\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b6c5438f","line":173,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            elif \u0027volumes\u0027 in overs:"},{"line_number":174,"context_line":"                msg \u003d _(\"Quota exceeded for %(s_pid)s, tried to create \""},{"line_number":175,"context_line":"                        \"volume (%(d_consumed)d volumes \""},{"line_number":176,"context_line":"                        \"already consumed)\")"},{"line_number":177,"context_line":"                LOG.warn(msg % {\u0027s_pid\u0027: context.project_id,"},{"line_number":178,"context_line":"                                \u0027d_consumed\u0027: _consumed(\u0027volumes\u0027)})"},{"line_number":179,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d6c0f77d","line":176,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                                                gigabytes\u003d-vol_ref[\u0027size\u0027])"},{"line_number":186,"context_line":"        except Exception:"},{"line_number":187,"context_line":"            donor_reservations \u003d None"},{"line_number":188,"context_line":"            LOG.exception(_LE(\"Failed to update quota donating volume\""},{"line_number":189,"context_line":"                              \" transfer id %s\") % transfer_id)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_363953a4","line":188,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                                    context.project_id)"},{"line_number":202,"context_line":"            QUOTAS.commit(context, reservations)"},{"line_number":203,"context_line":"            if donor_reservations:"},{"line_number":204,"context_line":"                QUOTAS.commit(context, donor_reservations, project_id\u003ddonor_id)"},{"line_number":205,"context_line":"            LOG.info(_LI(\"Volume %s has been transferred.\") % volume_id)"},{"line_number":206,"context_line":"        except Exception:"},{"line_number":207,"context_line":"            with excutils.save_and_reraise_exception():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_763f4b87","line":204,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"4f37cd5f23105e4159ec4919f09ca1c14971a915","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    def create(self, context, volume_id, display_name):"},{"line_number":102,"context_line":"        \"\"\"Creates an entry in the transfers table.\"\"\""},{"line_number":103,"context_line":"        volume_api.check_policy(context, \u0027create_transfer\u0027)"},{"line_number":104,"context_line":"        LOG.info(_LI(\"Generating transfer record for volume %s\") % volume_id)"},{"line_number":105,"context_line":"        volume_ref \u003d self.db.volume_get(context, volume_id)"},{"line_number":106,"context_line":"        if volume_ref[\u0027status\u0027] !\u003d \"available\":"},{"line_number":107,"context_line":"            raise exception.InvalidVolume(reason\u003d_(\"status must be available\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_62c3d757","line":104,"updated":"2015-03-17 12:33:58.000000000","message":"According to http://docs.openstack.org/developer/oslo.i18n/guidelines.html#examples, please replace %\u003d\u003e,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        num_attempts \u003d retry_info.get(\u0027num_attempts\u0027, 0)"},{"line_number":101,"context_line":"        request_spec[\u0027volume_id\u0027] \u003d volume_id"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        LOG.debug(\"Volume %(volume_id)s: re-scheduling %(method)s \""},{"line_number":104,"context_line":"                  \"attempt %(num)d due to %(reason)s\" %"},{"line_number":105,"context_line":"                  {\u0027volume_id\u0027: volume_id,"},{"line_number":106,"context_line":"                   \u0027method\u0027: common.make_pretty_name(create_volume),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f6525bdc","line":103,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            update \u003d {"},{"line_number":136,"context_line":"                \u0027status\u0027: \u0027creating\u0027,"},{"line_number":137,"context_line":"                \u0027scheduled_at\u0027: timeutils.utcnow(),"},{"line_number":138,"context_line":"            }"},{"line_number":139,"context_line":"            LOG.debug(\"Updating volume %(volume_id)s with %(update)s.\" %"},{"line_number":140,"context_line":"                      {\u0027update\u0027: update, \u0027volume_id\u0027: volume_id})"},{"line_number":141,"context_line":"            self.db.volume_update(context, volume_id, update)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_164e0f38","line":138,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":317,"context_line":"            # If notification sending of volume database entry reading fails"},{"line_number":318,"context_line":"            # then we shouldn\u0027t error out the whole workflow since this is"},{"line_number":319,"context_line":"            # not always information that must be sent for volumes to operate"},{"line_number":320,"context_line":"            LOG.exception(_LE(\"Failed notifying about the volume\""},{"line_number":321,"context_line":"                              \" action %(event)s for volume %(volume_id)s\") %"},{"line_number":322,"context_line":"                          {\u0027event\u0027: self.event_suffix,"},{"line_number":323,"context_line":"                           \u0027volume_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_96591fff","line":320,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            if kwargs.get(\u0027snapshot_id\u0027):"},{"line_number":358,"context_line":"                src_type \u003d \u0027snapshot\u0027"},{"line_number":359,"context_line":"                src_id \u003d kwargs[\u0027snapshot_id\u0027]"},{"line_number":360,"context_line":"                snapshot_id \u003d src_id"},{"line_number":361,"context_line":"                LOG.debug(log_template % {\u0027src_type\u0027: src_type,"},{"line_number":362,"context_line":"                                          \u0027src_id\u0027: src_id,"},{"line_number":363,"context_line":"                                          \u0027vol_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_360793cb","line":360,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":366,"context_line":"            elif kwargs.get(\u0027source_volid\u0027):"},{"line_number":367,"context_line":"                src_type \u003d \u0027source volume\u0027"},{"line_number":368,"context_line":"                src_id \u003d kwargs[\u0027source_volid\u0027]"},{"line_number":369,"context_line":"                source_volid \u003d src_id"},{"line_number":370,"context_line":"                LOG.debug(log_template % {\u0027src_type\u0027: src_type,"},{"line_number":371,"context_line":"                                          \u0027src_id\u0027: src_id,"},{"line_number":372,"context_line":"                                          \u0027vol_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_760d8be7","line":369,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":377,"context_line":"            elif kwargs.get(\u0027source_replicaid\u0027):"},{"line_number":378,"context_line":"                src_type \u003d \u0027source replica\u0027"},{"line_number":379,"context_line":"                src_id \u003d kwargs[\u0027source_replicaid\u0027]"},{"line_number":380,"context_line":"                source_replicaid \u003d src_id"},{"line_number":381,"context_line":"                LOG.debug(log_template % {\u0027src_type\u0027: src_type,"},{"line_number":382,"context_line":"                                          \u0027src_id\u0027: src_id,"},{"line_number":383,"context_line":"                                          \u0027vol_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_96103f01","line":380,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                src_type \u003d \u0027image\u0027"},{"line_number":390,"context_line":"                src_id \u003d kwargs[\u0027image_id\u0027]"},{"line_number":391,"context_line":"                image_id \u003d src_id"},{"line_number":392,"context_line":"                image_meta \u003d kwargs.get(\u0027image_meta\u0027, {})"},{"line_number":393,"context_line":"                LOG.debug(log_template % {\u0027src_type\u0027: src_type,"},{"line_number":394,"context_line":"                                          \u0027src_id\u0027: src_id,"},{"line_number":395,"context_line":"                                          \u0027vol_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b6faa3ba","line":392,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":400,"context_line":"            # would be available for that volume in"},{"line_number":401,"context_line":"            # volume glance metadata table"},{"line_number":402,"context_line":"            pass"},{"line_number":403,"context_line":"        except exception.CinderException as ex:"},{"line_number":404,"context_line":"            LOG.exception(exception_template % {\u0027src_type\u0027: src_type,"},{"line_number":405,"context_line":"                                                \u0027src_id\u0027: src_id,"},{"line_number":406,"context_line":"                                                \u0027vol_id\u0027: volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d6f557cb","line":403,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        except exception.CinderException as ex:"},{"line_number":424,"context_line":"            LOG.exception(_LE(\"Failed fetching snapshot %(snapshot_id)s \""},{"line_number":425,"context_line":"                              \"bootable\""},{"line_number":426,"context_line":"                              \" flag using the provided glance snapshot \""},{"line_number":427,"context_line":"                              \"%(snapshot_ref_id)s volume reference\") %"},{"line_number":428,"context_line":"                          {\u0027snapshot_id\u0027: snapshot_id,"},{"line_number":429,"context_line":"                           \u0027snapshot_ref_id\u0027: snapshot.volume_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_7624ab5f","line":426,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":438,"context_line":"            LOG.debug(\u0027Marking volume %s as bootable.\u0027, volume_id)"},{"line_number":439,"context_line":"            self.db.volume_update(context, volume_id, {\u0027bootable\u0027: True})"},{"line_number":440,"context_line":"        except exception.CinderException as ex:"},{"line_number":441,"context_line":"            LOG.exception(_LE(\"Failed updating volume %(volume_id)s bootable \""},{"line_number":442,"context_line":"                              \"flag to true\") % {\u0027volume_id\u0027: volume_id})"},{"line_number":443,"context_line":"            raise exception.MetadataUpdateFailure(reason\u003dex)"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f617bbeb","line":441,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":486,"context_line":"        \"\"\"Downloads Glance image to the specified volume.\"\"\""},{"line_number":487,"context_line":"        copy_image_to_volume \u003d self.driver.copy_image_to_volume"},{"line_number":488,"context_line":"        volume_id \u003d volume_ref[\u0027id\u0027]"},{"line_number":489,"context_line":"        LOG.debug(\"Attempting download of %(image_id)s (%(image_location)s)\""},{"line_number":490,"context_line":"                  \" to volume %(volume_id)s.\" %"},{"line_number":491,"context_line":"                  {\u0027image_id\u0027: image_id, \u0027volume_id\u0027: volume_id,"},{"line_number":492,"context_line":"                   \u0027image_location\u0027: image_location})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_36d5d31b","line":489,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":493,"context_line":"        try:"},{"line_number":494,"context_line":"            copy_image_to_volume(context, volume_ref, image_service, image_id)"},{"line_number":495,"context_line":"        except processutils.ProcessExecutionError as ex:"},{"line_number":496,"context_line":"            LOG.error(_LE(\"Failed to copy image %(image_id)s to volume: \""},{"line_number":497,"context_line":"                          \"%(volume_id)s, error: %(error)s\") %"},{"line_number":498,"context_line":"                      {\u0027volume_id\u0027: volume_id,"},{"line_number":499,"context_line":"                       \u0027error\u0027: ex.stderr, \u0027image_id\u0027: image_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76dbcb4e","line":496,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":499,"context_line":"                       \u0027error\u0027: ex.stderr, \u0027image_id\u0027: image_id})"},{"line_number":500,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex.stderr)"},{"line_number":501,"context_line":"        except exception.ImageUnacceptable as ex:"},{"line_number":502,"context_line":"            LOG.error(_LE(\"Failed to copy image to volume: %(volume_id)s, \""},{"line_number":503,"context_line":"                          \"error: %(error)s\") %"},{"line_number":504,"context_line":"                      {\u0027volume_id\u0027: volume_id, \u0027error\u0027: ex})"},{"line_number":505,"context_line":"            raise exception.ImageUnacceptable(ex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_36bcf3db","line":502,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":504,"context_line":"                      {\u0027volume_id\u0027: volume_id, \u0027error\u0027: ex})"},{"line_number":505,"context_line":"            raise exception.ImageUnacceptable(ex)"},{"line_number":506,"context_line":"        except Exception as ex:"},{"line_number":507,"context_line":"            LOG.error(_LE(\"Failed to copy image %(image_id)s to \""},{"line_number":508,"context_line":"                          \"volume: %(volume_id)s, error: %(error)s\") %"},{"line_number":509,"context_line":"                      {\u0027volume_id\u0027: volume_id, \u0027error\u0027: ex,"},{"line_number":510,"context_line":"                       \u0027image_id\u0027: image_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_96b59fee","line":507,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":513,"context_line":"            else:"},{"line_number":514,"context_line":"                raise"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"        LOG.debug(\"Downloaded image %(image_id)s (%(image_location)s)\""},{"line_number":517,"context_line":"                  \" to volume %(volume_id)s successfully.\" %"},{"line_number":518,"context_line":"                  {\u0027image_id\u0027: image_id, \u0027volume_id\u0027: volume_id,"},{"line_number":519,"context_line":"                   \u0027image_location\u0027: image_location})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f6c5fb5b","line":516,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        # which means we can have partial create/update failure."},{"line_number":551,"context_line":"        volume_metadata \u003d dict(property_metadata)"},{"line_number":552,"context_line":"        volume_metadata.update(base_metadata)"},{"line_number":553,"context_line":"        LOG.debug(\"Creating volume glance metadata for volume %(volume_id)s\""},{"line_number":554,"context_line":"                  \" backed by image %(image_id)s with: %(vol_metadata)s.\" %"},{"line_number":555,"context_line":"                  {\u0027volume_id\u0027: volume_id, \u0027image_id\u0027: image_id,"},{"line_number":556,"context_line":"                   \u0027vol_metadata\u0027: volume_metadata})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76a90b8f","line":553,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":564,"context_line":"    def _create_from_image(self, context, volume_ref,"},{"line_number":565,"context_line":"                           image_location, image_id, image_meta,"},{"line_number":566,"context_line":"                           image_service, **kwargs):"},{"line_number":567,"context_line":"        LOG.debug(\"Cloning %(volume_id)s from image %(image_id)s \""},{"line_number":568,"context_line":"                  \" at location %(image_location)s.\" %"},{"line_number":569,"context_line":"                  {\u0027volume_id\u0027: volume_ref[\u0027id\u0027],"},{"line_number":570,"context_line":"                   \u0027image_location\u0027: image_location, \u0027image_id\u0027: image_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1698cf73","line":567,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":593,"context_line":"                volume_ref \u003d self.db.volume_update(context,"},{"line_number":594,"context_line":"                                                   volume_ref[\u0027id\u0027], updates)"},{"line_number":595,"context_line":"            except exception.CinderException:"},{"line_number":596,"context_line":"                LOG.exception(_LE(\"Failed updating volume %(volume_id)s with \""},{"line_number":597,"context_line":"                                  \"%(updates)s\") %"},{"line_number":598,"context_line":"                              {\u0027volume_id\u0027: volume_ref[\u0027id\u0027],"},{"line_number":599,"context_line":"                               \u0027updates\u0027: updates})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_568de72f","line":596,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":617,"context_line":"        # we can\u0027t do anything if the driver didn\u0027t init"},{"line_number":618,"context_line":"        if not self.driver.initialized:"},{"line_number":619,"context_line":"            driver_name \u003d self.driver.__class__.__name__"},{"line_number":620,"context_line":"            LOG.error(_LE(\"Unable to create volume. \""},{"line_number":621,"context_line":"                          \"Volume driver %s not initialized\") % driver_name)"},{"line_number":622,"context_line":"            # NOTE(flaper87): Set the error status before"},{"line_number":623,"context_line":"            # raising any exception."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d678f72c","line":620,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":625,"context_line":"            raise exception.DriverNotInitialized()"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        create_type \u003d volume_spec.pop(\u0027type\u0027, None)"},{"line_number":628,"context_line":"        LOG.info(_LI(\"Volume %(volume_id)s: being created as %(create_type)s \""},{"line_number":629,"context_line":"                     \"with specification: %(volume_spec)s\") %"},{"line_number":630,"context_line":"                 {\u0027volume_spec\u0027: volume_spec, \u0027volume_id\u0027: volume_id,"},{"line_number":631,"context_line":"                  \u0027create_type\u0027: create_type})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_166fef60","line":628,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":659,"context_line":"            # If somehow the update failed we want to ensure that the"},{"line_number":660,"context_line":"            # failure is logged (but not try rescheduling since the volume at"},{"line_number":661,"context_line":"            # this point has been created)."},{"line_number":662,"context_line":"            LOG.exception(_LE(\"Failed updating model of volume %(volume_id)s \""},{"line_number":663,"context_line":"                              \"with creation provided model %(model)s\") %"},{"line_number":664,"context_line":"                          {\u0027volume_id\u0027: volume_id, \u0027model\u0027: model_update})"},{"line_number":665,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_56940736","line":662,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":703,"context_line":"            super(CreateVolumeOnFinishTask, self).execute(context, volume_ref)"},{"line_number":704,"context_line":"        except exception.CinderException:"},{"line_number":705,"context_line":"            LOG.exception(_LE(\"Failed updating volume %(volume_id)s with \""},{"line_number":706,"context_line":"                              \"%(update)s\") % {\u0027volume_id\u0027: volume_id,"},{"line_number":707,"context_line":"                                               \u0027update\u0027: update})"},{"line_number":708,"context_line":"        # Even if the update fails, the volume is ready."},{"line_number":709,"context_line":"        msg \u003d _LI(\"Volume %(volume_name)s (%(volume_id)s): created \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d69f174e","line":706,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":708,"context_line":"        # Even if the update fails, the volume is ready."},{"line_number":709,"context_line":"        msg \u003d _LI(\"Volume %(volume_name)s (%(volume_id)s): created \""},{"line_number":710,"context_line":"                  \"successfully\")"},{"line_number":711,"context_line":"        LOG.info(msg % {"},{"line_number":712,"context_line":"            \u0027volume_name\u0027: volume_spec[\u0027volume_name\u0027],"},{"line_number":713,"context_line":"            \u0027volume_id\u0027: volume_id,"},{"line_number":714,"context_line":"        })"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_36b873c7","line":711,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"}],"cinder/volume/manager.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            volume_driver \u003d MAPPING[volume_driver]"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        vol_db_empty \u003d self._set_voldb_empty_at_startup_indicator("},{"line_number":209,"context_line":"            context.get_admin_context())"},{"line_number":210,"context_line":"        LOG.debug(\"Cinder Volume DB check: vol_db_empty\u003d%s\" % vol_db_empty)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        self.driver \u003d importutils.import_object("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_16bd2fb1","line":209,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            self.extra_capabilities \u003d {}"},{"line_number":225,"context_line":"        except Exception:"},{"line_number":226,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":227,"context_line":"                LOG.error(_LE(\"Invalid JSON: %s\") %"},{"line_number":228,"context_line":"                          self.driver.configuration.extra_capabilities)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def _add_to_threadpool(self, func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b6d2a3fd","line":227,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                pool \u003d self.driver.get_pool(volume)"},{"line_number":242,"context_line":"            except Exception as err:"},{"line_number":243,"context_line":"                LOG.error(_LE(\u0027Failed to fetch pool name for volume: %s\u0027),"},{"line_number":244,"context_line":"                          volume[\u0027id\u0027])"},{"line_number":245,"context_line":"                LOG.exception(err)"},{"line_number":246,"context_line":"                return"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76fcab72","line":244,"updated":"2015-03-16 15:36:49.000000000","message":"Redundant. Change LOG.error to LOG.exception and remove this one.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    def init_host(self):"},{"line_number":292,"context_line":"        \"\"\"Perform any required initialization.\"\"\""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":295,"context_line":"        LOG.info(_LI(\"Starting volume driver %(driver_name)s (%(version)s)\") %"},{"line_number":296,"context_line":"                 {\u0027driver_name\u0027: self.driver.__class__.__name__,"},{"line_number":297,"context_line":"                  \u0027version\u0027: self.driver.get_version()})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_16eb6fa4","line":294,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":299,"context_line":"            self.driver.do_setup(ctxt)"},{"line_number":300,"context_line":"            self.driver.check_for_setup_error()"},{"line_number":301,"context_line":"        except Exception as ex:"},{"line_number":302,"context_line":"            LOG.error(_LE(\"Error encountered during \""},{"line_number":303,"context_line":"                          \"initialization of driver: %(name)s\") %"},{"line_number":304,"context_line":"                      {\u0027name\u0027: self.driver.__class__.__name__})"},{"line_number":305,"context_line":"            LOG.exception(ex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_56308755","line":302,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":301,"context_line":"        except Exception as ex:"},{"line_number":302,"context_line":"            LOG.error(_LE(\"Error encountered during \""},{"line_number":303,"context_line":"                          \"initialization of driver: %(name)s\") %"},{"line_number":304,"context_line":"                      {\u0027name\u0027: self.driver.__class__.__name__})"},{"line_number":305,"context_line":"            LOG.exception(ex)"},{"line_number":306,"context_line":"            # we don\u0027t want to continue since we failed"},{"line_number":307,"context_line":"            # to initialize the driver correctly."}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b640e3a5","line":304,"updated":"2015-03-16 15:36:49.000000000","message":"Redundant. Change LOG.error to LOG.exception and remove this one.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":308,"context_line":"            return"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        volumes \u003d self.db.volume_get_all_by_host(ctxt, self.host)"},{"line_number":311,"context_line":"        # FIXME volume count for exporting is wrong"},{"line_number":312,"context_line":"        LOG.debug(\"Re-exporting %s volumes\" % len(volumes))"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f646dbbe","line":311,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":325,"context_line":"                            self.driver.ensure_export(ctxt, volume)"},{"line_number":326,"context_line":"                    except Exception as export_ex:"},{"line_number":327,"context_line":"                        LOG.error(_LE(\"Failed to re-export volume %s: \""},{"line_number":328,"context_line":"                                      \"setting to error state\"), volume[\u0027id\u0027])"},{"line_number":329,"context_line":"                        LOG.exception(export_ex)"},{"line_number":330,"context_line":"                        self.db.volume_update(ctxt,"},{"line_number":331,"context_line":"                                              volume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_367b13f6","line":328,"updated":"2015-03-16 15:36:49.000000000","message":"Change LOG.error to LOG.exception and remove this one.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                    LOG.info(_LI(\"volume %s: skipping export\"), volume[\u0027id\u0027])"},{"line_number":342,"context_line":"        except Exception as ex:"},{"line_number":343,"context_line":"            LOG.error(_LE(\"Error encountered during \""},{"line_number":344,"context_line":"                          \"re-exporting phase of driver initialization: \""},{"line_number":345,"context_line":"                          \" %(name)s\") %"},{"line_number":346,"context_line":"                      {\u0027name\u0027: self.driver.__class__.__name__})"},{"line_number":347,"context_line":"            LOG.exception(ex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76810bc2","line":344,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":343,"context_line":"            LOG.error(_LE(\"Error encountered during \""},{"line_number":344,"context_line":"                          \"re-exporting phase of driver initialization: \""},{"line_number":345,"context_line":"                          \" %(name)s\") %"},{"line_number":346,"context_line":"                      {\u0027name\u0027: self.driver.__class__.__name__})"},{"line_number":347,"context_line":"            LOG.exception(ex)"},{"line_number":348,"context_line":"            return"},{"line_number":349,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_3662333e","line":346,"updated":"2015-03-16 15:36:49.000000000","message":"Change LOG.error to LOG.exception and remove this one.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        LOG.debug(\u0027Resuming any in progress delete operations\u0027)"},{"line_number":356,"context_line":"        for volume in volumes:"},{"line_number":357,"context_line":"            if volume[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027:"},{"line_number":358,"context_line":"                LOG.info(_LI(\u0027Resuming delete on volume: %s\u0027) % volume[\u0027id\u0027])"},{"line_number":359,"context_line":"                if CONF.volume_service_inithost_offload:"},{"line_number":360,"context_line":"                    # Offload all the pending volume delete operations to the"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_5665e742","line":357,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":410,"context_line":"                source_replicaid\u003dsource_replicaid,"},{"line_number":411,"context_line":"                consistencygroup_id\u003dconsistencygroup_id,"},{"line_number":412,"context_line":"                cgsnapshot_id\u003dcgsnapshot_id)"},{"line_number":413,"context_line":"        except Exception:"},{"line_number":414,"context_line":"            LOG.exception(_LE(\"Failed to create manager volume flow\"))"},{"line_number":415,"context_line":"            raise exception.CinderException("},{"line_number":416,"context_line":"                _(\"Failed to create manager volume flow.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d6fe3737","line":413,"updated":"2015-03-16 15:36:49.000000000","message":"These two lines are creating duplicate translation string in different catalogs. Change this to be:\n\nmsg \u003d _(\"Failed to create manager volume flow.\")\nLOG.exception(msg)\nraise exception.CinderException(msg)","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":476,"context_line":"        except exception.VolumeNotFound:"},{"line_number":477,"context_line":"            # NOTE(thingee): It could be possible for a volume to"},{"line_number":478,"context_line":"            # be deleted when resuming deletes from init_host()."},{"line_number":479,"context_line":"            LOG.info(_LI(\"Tried to delete volume %s, but it no longer exists, \""},{"line_number":480,"context_line":"                         \"moving on\") % (volume_id))"},{"line_number":481,"context_line":"            return True"},{"line_number":482,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f6909bee","line":479,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":621,"context_line":"                pass"},{"line_number":622,"context_line":"            except exception.CinderException as ex:"},{"line_number":623,"context_line":"                LOG.exception(_LE(\"Failed updating %(snapshot_id)s\""},{"line_number":624,"context_line":"                                  \" metadata using the provided volumes\""},{"line_number":625,"context_line":"                                  \" %(volume_id)s metadata\") %"},{"line_number":626,"context_line":"                              {\u0027volume_id\u0027: volume_id,"},{"line_number":627,"context_line":"                               \u0027snapshot_id\u0027: snapshot.id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_96b75f84","line":624,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1013,"context_line":"        except exception.InvalidConnectorException as err:"},{"line_number":1014,"context_line":"            raise exception.InvalidInput(reason\u003derr)"},{"line_number":1015,"context_line":"        except Exception as err:"},{"line_number":1016,"context_line":"            err_msg \u003d (_(\u0027Unable to validate connector information in \u0027"},{"line_number":1017,"context_line":"                         \u0027backend: %(err)s\u0027) % {\u0027err\u0027: err})"},{"line_number":1018,"context_line":"            LOG.error(err_msg)"},{"line_number":1019,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_76102b59","line":1016,"updated":"2015-03-16 15:36:49.000000000","message":"Wrap err in six.text_type().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1036,"context_line":"                                               volume_id,"},{"line_number":1037,"context_line":"                                               model_update)"},{"line_number":1038,"context_line":"        except exception.CinderException as ex:"},{"line_number":1039,"context_line":"            LOG.exception(_LE(\"Failed updating model of volume %(volume_id)s\""},{"line_number":1040,"context_line":"                              \" with driver provided model %(model)s\") %"},{"line_number":1041,"context_line":"                          {\u0027volume_id\u0027: volume_id, \u0027model\u0027: model_update})"},{"line_number":1042,"context_line":"            raise exception.ExportFailure(reason\u003dex)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f6033b0d","line":1039,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"                conn_info \u003d self.driver.initialize_connection(volume,"},{"line_number":1052,"context_line":"                                                              connector)"},{"line_number":1053,"context_line":"        except Exception as err:"},{"line_number":1054,"context_line":"            err_msg \u003d (_(\u0027Unable to fetch connection information from \u0027"},{"line_number":1055,"context_line":"                         \u0027backend: %(err)s\u0027) % {\u0027err\u0027: err})"},{"line_number":1056,"context_line":"            LOG.error(err_msg)"},{"line_number":1057,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d93668e6","line":1054,"updated":"2015-03-16 15:36:49.000000000","message":"Wrap err in six.text_type().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"            self.driver.terminate_connection(volume_ref, connector,"},{"line_number":1109,"context_line":"                                             force\u003dforce)"},{"line_number":1110,"context_line":"        except Exception as err:"},{"line_number":1111,"context_line":"            err_msg \u003d (_(\u0027Unable to terminate volume connection: %(err)s\u0027)"},{"line_number":1112,"context_line":"                       % {\u0027err\u0027: err})"},{"line_number":1113,"context_line":"            LOG.error(err_msg)"},{"line_number":1114,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_3976a4a4","line":1111,"updated":"2015-03-16 15:36:49.000000000","message":"Wrap err in six.text_type().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1139,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1140,"context_line":"                    LOG.exception(_LE(\"Failed updating model of \""},{"line_number":1141,"context_line":"                                      \"volume %(volume_id)s \""},{"line_number":1142,"context_line":"                                      \"with drivers update %(model)s \""},{"line_number":1143,"context_line":"                                      \"during xfr.\") %"},{"line_number":1144,"context_line":"                                  {\u0027volume_id\u0027: volume_id,"},{"line_number":1145,"context_line":"                                   \u0027model\u0027: model_update})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_399dc4bc","line":1142,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"        except Exception:"},{"line_number":1217,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1218,"context_line":"                msg \u003d _LE(\"Failed to copy volume %(vol1)s to %(vol2)s\")"},{"line_number":1219,"context_line":"                LOG.error(msg % {\u0027vol1\u0027: volume[\u0027id\u0027],"},{"line_number":1220,"context_line":"                                 \u0027vol2\u0027: new_volume[\u0027id\u0027]})"},{"line_number":1221,"context_line":"                volume \u003d self.db.volume_get(ctxt, volume[\u0027id\u0027])"},{"line_number":1222,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_59a0b8f3","line":1219,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1265,"context_line":""},{"line_number":1266,"context_line":"        msg \u003d _(\"migrate_volume_completion: completing migration for \""},{"line_number":1267,"context_line":"                \"volume %(vol1)s (temporary volume %(vol2)s\")"},{"line_number":1268,"context_line":"        LOG.debug(msg % {\u0027vol1\u0027: volume_id, \u0027vol2\u0027: new_volume_id})"},{"line_number":1269,"context_line":"        volume \u003d self.db.volume_get(ctxt, volume_id)"},{"line_number":1270,"context_line":"        new_volume \u003d self.db.volume_get(ctxt, new_volume_id)"},{"line_number":1271,"context_line":"        rpcapi \u003d volume_rpcapi.VolumeAPI()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f9b6cc3c","line":1268,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1275,"context_line":"        if error:"},{"line_number":1276,"context_line":"            msg \u003d _LI(\"migrate_volume_completion is cleaning up an error \""},{"line_number":1277,"context_line":"                      \"for volume %(vol1)s (temporary volume %(vol2)s\")"},{"line_number":1278,"context_line":"            LOG.info(msg % {\u0027vol1\u0027: volume[\u0027id\u0027],"},{"line_number":1279,"context_line":"                            \u0027vol2\u0027: new_volume[\u0027id\u0027]})"},{"line_number":1280,"context_line":"            rpcapi.delete_volume(ctxt, new_volume)"},{"line_number":1281,"context_line":"            updates \u003d {\u0027migration_status\u0027: None, \u0027status\u0027: orig_volume_status}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_5987d860","line":1278,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1292,"context_line":"            self.delete_volume(ctxt, volume_id)"},{"line_number":1293,"context_line":"        except Exception as ex:"},{"line_number":1294,"context_line":"            msg \u003d _LE(\"Failed to delete migration source vol %(vol)s: %(err)s\")"},{"line_number":1295,"context_line":"            LOG.error(msg % {\u0027vol\u0027: volume_id, \u0027err\u0027: ex})"},{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"        # Give driver (new_volume) a chance to update things as needed"},{"line_number":1298,"context_line":"        # Note this needs to go through rpc to the host of the new volume"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_79f1fcff","line":1295,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1405,"context_line":"                                self.driver.configuration.config_group)"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"            LOG.warning(_LW(\u0027Unable to update stats, %(driver_name)s \u0027"},{"line_number":1408,"context_line":"                            \u0027-%(driver_version)s \u0027"},{"line_number":1409,"context_line":"                            \u0027%(config_group)s driver is uninitialized.\u0027) %"},{"line_number":1410,"context_line":"                        {\u0027driver_name\u0027: self.driver.__class__.__name__,"},{"line_number":1411,"context_line":"                         \u0027driver_version\u0027: self.driver.get_version(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b9c5348f","line":1408,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1632,"context_line":"                retyped \u003d False"},{"line_number":1633,"context_line":"                LOG.error(_LE(\"Volume %s: driver error when trying to retype, \""},{"line_number":1634,"context_line":"                              \"falling back to generic mechanism.\"),"},{"line_number":1635,"context_line":"                          volume_ref[\u0027id\u0027])"},{"line_number":1636,"context_line":"                LOG.exception(ex)"},{"line_number":1637,"context_line":""},{"line_number":1638,"context_line":"        # We could not change the type, so we need to migrate the volume, where"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b973747e","line":1635,"updated":"2015-03-16 15:36:49.000000000","message":"Change previous LOG.error to LOG.exception and get rid of this one.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1686,"context_line":"            QUOTAS.commit(context, new_reservations, project_id\u003dproject_id)"},{"line_number":1687,"context_line":"        self.publish_service_capabilities(context)"},{"line_number":1688,"context_line":""},{"line_number":1689,"context_line":"    def manage_existing(self, ctxt, volume_id, ref\u003dNone):"},{"line_number":1690,"context_line":"        LOG.debug(\u0027manage_existing: managing %s.\u0027 % ref)"},{"line_number":1691,"context_line":"        try:"},{"line_number":1692,"context_line":"            flow_engine \u003d manage_existing.get_flow("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_390784cb","line":1689,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1696,"context_line":"                self.host,"},{"line_number":1697,"context_line":"                volume_id,"},{"line_number":1698,"context_line":"                ref)"},{"line_number":1699,"context_line":"        except Exception:"},{"line_number":1700,"context_line":"            LOG.exception(_LE(\"Failed to create manage_existing flow.\"))"},{"line_number":1701,"context_line":"            raise exception.CinderException("},{"line_number":1702,"context_line":"                _(\"Failed to create manage existing flow.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b9e8d4e2","line":1699,"updated":"2015-03-16 15:36:49.000000000","message":"Duplicating translation strings. Do:\n\nmsg \u003d _(\"Failed to create manage_existing flow.\")\nLOG.exception(msg)\nraise exception.CinderException(msg)","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1730,"context_line":"        except exception.DriverNotInitialized:"},{"line_number":1731,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1732,"context_line":"                LOG.exception(_LE(\"Failed to promote replica \""},{"line_number":1733,"context_line":"                                  \"for volume %(id)s.\")"},{"line_number":1734,"context_line":"                              % {\u0027id\u0027: volume_id})"},{"line_number":1735,"context_line":""},{"line_number":1736,"context_line":"        volume \u003d self.db.volume_get(ctxt, volume_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_79b2dc06","line":1733,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1761,"context_line":"            utils.require_driver_initialized(self.driver)"},{"line_number":1762,"context_line":"        except exception.DriverNotInitialized:"},{"line_number":1763,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1764,"context_line":"                LOG.exception(_LE(\"Failed to sync replica for volume %(id)s.\")"},{"line_number":1765,"context_line":"                              % {\u0027id\u0027: volume_id})"},{"line_number":1766,"context_line":""},{"line_number":1767,"context_line":"        volume \u003d self.db.volume_get(ctxt, volume_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b9cff47d","line":1764,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1801,"context_line":"                if model_update:"},{"line_number":1802,"context_line":"                    self.db.volume_update(ctxt, vol[\u0027id\u0027], model_update)"},{"line_number":1803,"context_line":"            except Exception:"},{"line_number":1804,"context_line":"                LOG.exception(_LE(\"Error checking replication status for \""},{"line_number":1805,"context_line":"                                  \"volume %s\") % vol[\u0027id\u0027])"},{"line_number":1806,"context_line":""},{"line_number":1807,"context_line":"    def create_consistencygroup(self, context, group_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_99acf0a0","line":1804,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":1977,"context_line":"            raise"},{"line_number":1978,"context_line":"        except exception.CinderException as ex:"},{"line_number":1979,"context_line":"            LOG.error(_LE(\"Failed to update %(volume_id)s\""},{"line_number":1980,"context_line":"                          \" metadata using the provided snapshot\""},{"line_number":1981,"context_line":"                          \" %(snapshot_id)s metadata.\") %"},{"line_number":1982,"context_line":"                      {\u0027volume_id\u0027: vol[\u0027id\u0027],"},{"line_number":1983,"context_line":"                       \u0027snapshot_id\u0027: vol[\u0027snapshot_id\u0027]})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_598d1830","line":1980,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":2325,"context_line":"                        context, snapshot[\u0027id\u0027], volume_id)"},{"line_number":2326,"context_line":"                except exception.CinderException as ex:"},{"line_number":2327,"context_line":"                    LOG.error(_LE(\"Failed updating %(snapshot_id)s\""},{"line_number":2328,"context_line":"                                  \" metadata using the provided volumes\""},{"line_number":2329,"context_line":"                                  \" %(volume_id)s metadata\") %"},{"line_number":2330,"context_line":"                              {\u0027volume_id\u0027: volume_id,"},{"line_number":2331,"context_line":"                               \u0027snapshot_id\u0027: snapshot_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d9c66848","line":2328,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        except Exception:"},{"line_number":226,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":227,"context_line":"                LOG.error(_LE(\"Invalid JSON: %s\") %"},{"line_number":228,"context_line":"                          self.driver.configuration.extra_capabilities)"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    def _add_to_threadpool(self, func, *args, **kwargs):"},{"line_number":231,"context_line":"        self._tp.spawn_n(func, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_0e2e8ffa","line":228,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"        except Exception:"},{"line_number":1217,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1218,"context_line":"                msg \u003d _LE(\"Failed to copy volume %(vol1)s to %(vol2)s\")"},{"line_number":1219,"context_line":"                LOG.error(msg % {\u0027vol1\u0027: volume[\u0027id\u0027],"},{"line_number":1220,"context_line":"                                 \u0027vol2\u0027: new_volume[\u0027id\u0027]})"},{"line_number":1221,"context_line":"                volume \u003d self.db.volume_get(ctxt, volume[\u0027id\u0027])"},{"line_number":1222,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_6e3e2b2b","line":1219,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1275,"context_line":"        if error:"},{"line_number":1276,"context_line":"            msg \u003d _LI(\"migrate_volume_completion is cleaning up an error \""},{"line_number":1277,"context_line":"                      \"for volume %(vol1)s (temporary volume %(vol2)s\")"},{"line_number":1278,"context_line":"            LOG.info(msg % {\u0027vol1\u0027: volume[\u0027id\u0027],"},{"line_number":1279,"context_line":"                            \u0027vol2\u0027: new_volume[\u0027id\u0027]})"},{"line_number":1280,"context_line":"            rpcapi.delete_volume(ctxt, new_volume)"},{"line_number":1281,"context_line":"            updates \u003d {\u0027migration_status\u0027: None, \u0027status\u0027: orig_volume_status}"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_ce4397ad","line":1278,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":1292,"context_line":"            self.delete_volume(ctxt, volume_id)"},{"line_number":1293,"context_line":"        except Exception as ex:"},{"line_number":1294,"context_line":"            msg \u003d _LE(\"Failed to delete migration source vol %(vol)s: %(err)s\")"},{"line_number":1295,"context_line":"            LOG.error(msg % {\u0027vol\u0027: volume_id, \u0027err\u0027: ex})"},{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"        # Give driver (new_volume) a chance to update things as needed"},{"line_number":1298,"context_line":"        # Note this needs to go through rpc to the host of the new volume"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_0e15af9a","line":1295,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/volume/utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        if blocksize.startswith((\u0027-\u0027, \u00270\u0027)) or \u0027.\u0027 in blocksize:"},{"line_number":256,"context_line":"            raise ValueError"},{"line_number":257,"context_line":"        bs \u003d strutils.string_to_bytes(\u0027%sB\u0027 % blocksize)"},{"line_number":258,"context_line":"    except ValueError:"},{"line_number":259,"context_line":"        msg \u003d (_(\"Incorrect value error: %(blocksize)s, \""},{"line_number":260,"context_line":"                 \"it may indicate that \\\u0027volume_dd_blocksize\\\u0027 \""},{"line_number":261,"context_line":"                 \"was configured incorrectly. Fall back to default.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_d93bc835","line":258,"updated":"2015-03-16 15:36:49.000000000","message":"Should be _LW(). Move into LOG call to get rid of msg variable and then % \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    mbps \u003d (size_in_m / duration)"},{"line_number":322,"context_line":"    mesg \u003d (\"Volume copy details: src %(src)s, dest %(dest)s, \""},{"line_number":323,"context_line":"            \"size %(sz).2f MB, duration %(duration).2f sec\")"},{"line_number":324,"context_line":"    LOG.debug(mesg % {\"src\": srcstr,"},{"line_number":325,"context_line":"                      \"dest\": deststr,"},{"line_number":326,"context_line":"                      \"sz\": size_in_m,"},{"line_number":327,"context_line":"                      \"duration\": duration})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_1919e0d0","line":324,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":326,"context_line":"                      \"sz\": size_in_m,"},{"line_number":327,"context_line":"                      \"duration\": duration})"},{"line_number":328,"context_line":"    mesg \u003d _LI(\"Volume copy %(size_in_m).2f MB at %(mbps).2f MB/s\")"},{"line_number":329,"context_line":"    LOG.info(mesg % {\u0027size_in_m\u0027: size_in_m, \u0027mbps\u0027: mbps})"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"def copy_volume(srcstr, deststr, size_in_m, blocksize, sync\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_7981fcc1","line":329,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    if volume_clear_ionice is None:"},{"line_number":356,"context_line":"        volume_clear_ionice \u003d CONF.volume_clear_ionice"},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"    LOG.info(_LI(\"Performing secure delete on volume: %s\") % volume_path)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    if volume_clear \u003d\u003d \u0027zero\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f9740cff","line":357,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":380,"context_line":"    # NOTE(jdg): use a default of 1, mostly for unit test, but in"},{"line_number":381,"context_line":"    # some incredible event this is 0 (cirros image?) don\u0027t barf"},{"line_number":382,"context_line":"    if duration \u003c 1:"},{"line_number":383,"context_line":"        duration \u003d 1"},{"line_number":384,"context_line":"    LOG.info(_LI(\u0027Elapsed time for clear volume: %.2f sec\u0027) % duration)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_19700007","line":383,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":326,"context_line":"                      \"sz\": size_in_m,"},{"line_number":327,"context_line":"                      \"duration\": duration})"},{"line_number":328,"context_line":"    mesg \u003d _LI(\"Volume copy %(size_in_m).2f MB at %(mbps).2f MB/s\")"},{"line_number":329,"context_line":"    LOG.info(mesg % {\u0027size_in_m\u0027: size_in_m, \u0027mbps\u0027: mbps})"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"def copy_volume(srcstr, deststr, size_in_m, blocksize, sync\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_2e0c3394","line":329,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":248,"context_line":"                            command,"},{"line_number":249,"context_line":"                            check_exit_code\u003dcheck_exit_code)"},{"line_number":250,"context_line":"                    except Exception as e:"},{"line_number":251,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":252,"context_line":"                        LOG.error(msg)"},{"line_number":253,"context_line":"                        last_exception \u003d e"},{"line_number":254,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_99a07043","line":251,"updated":"2015-03-16 15:36:49.000000000","message":"Move into LOG.error call and get rid of msg, % \u003d\u003e , and get rid of six.text_type().\n\nOr get rid of it all and just have a LOG.exception().","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                        stderr\u003d\"Error running SSH command\","},{"line_number":266,"context_line":"                        cmd\u003dcommand)"},{"line_number":267,"context_line":"        except Exception:"},{"line_number":268,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":269,"context_line":"                LOG.error(_LE(\"Error running SSH command: %s\") % command)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    def _ssh_execute(self, cmd_list, check_exit_code\u003dTrue, attempts\u003d1):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_7942dc68","line":268,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":293,"context_line":"                                             self.switch_pwd,"},{"line_number":294,"context_line":"                                             min_size\u003d1,"},{"line_number":295,"context_line":"                                             max_size\u003d5)"},{"line_number":296,"context_line":"        stdin, stdout, stderr \u003d None, None, None"},{"line_number":297,"context_line":"        LOG.debug(\"Executing command via ssh: %s\" % command)"},{"line_number":298,"context_line":"        last_exception \u003d None"},{"line_number":299,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_993cf0e2","line":296,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                        exit_status \u003d channel.recv_exit_status()"},{"line_number":308,"context_line":"                        LOG.debug(\"Exit Status from ssh:%s\", exit_status)"},{"line_number":309,"context_line":"                        # exit_status \u003d\u003d -1 if no exit code was returned"},{"line_number":310,"context_line":"                        if exit_status !\u003d -1:"},{"line_number":311,"context_line":"                            LOG.debug(\u0027Result was %s\u0027 % exit_status)"},{"line_number":312,"context_line":"                            if check_exit_code and exit_status !\u003d 0:"},{"line_number":313,"context_line":"                                raise processutils.ProcessExecutionError("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f92c0cae","line":310,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                        else:"},{"line_number":321,"context_line":"                            return True"},{"line_number":322,"context_line":"                    except Exception as e:"},{"line_number":323,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":324,"context_line":"                        LOG.error(msg)"},{"line_number":325,"context_line":"                        last_exception \u003d e"},{"line_number":326,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_f9032c0d","line":323,"updated":"2015-03-16 15:36:49.000000000","message":"Same as above, reformat or just replace with call to LOG.exception.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                        cmd\u003dcommand)"},{"line_number":340,"context_line":"        except Exception as e:"},{"line_number":341,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":342,"context_line":"                msg \u003d (_LE(\"Error executing command via ssh: %s\") %"},{"line_number":343,"context_line":"                       six.text_type(e))"},{"line_number":344,"context_line":"                LOG.error(msg)"},{"line_number":345,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_2c282485","line":342,"updated":"2015-03-16 15:36:49.000000000","message":"Reformat or LOG.exception.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":249,"context_line":"                            check_exit_code\u003dcheck_exit_code)"},{"line_number":250,"context_line":"                    except Exception as e:"},{"line_number":251,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":252,"context_line":"                        LOG.error(msg)"},{"line_number":253,"context_line":"                        last_exception \u003d e"},{"line_number":254,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":255,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8e20bff9","line":252,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                        cmd\u003dcommand)"},{"line_number":340,"context_line":"        except Exception as e:"},{"line_number":341,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":342,"context_line":"                msg \u003d (_LE(\"Error executing command via ssh: %s\") %"},{"line_number":343,"context_line":"                       six.text_type(e))"},{"line_number":344,"context_line":"                LOG.error(msg)"},{"line_number":345,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_ce1ab7c5","line":342,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}],"cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                         \u0027zone_config\u0027: switch_data}"},{"line_number":126,"context_line":"            LOG.error(msg)"},{"line_number":127,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":128,"context_line":"            LOG.exception(exc_msg)"},{"line_number":129,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        return zone_set"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ec5fec0c","line":128,"updated":"2015-03-16 15:36:49.000000000","message":"Get rid of exc_msg and LOG.exception call. Just replace LOG.error with LOG.exception.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                    ) % {\u0027switch\u0027: self.switch_ip,"},{"line_number":246,"context_line":"                         \u0027zone_status\u0027: switch_data}"},{"line_number":247,"context_line":"            LOG.error(msg)"},{"line_number":248,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":249,"context_line":"            LOG.exception(exc_msg)"},{"line_number":250,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_cc92289e","line":248,"updated":"2015-03-16 15:36:49.000000000","message":"Get rid of exc_msg and LOG.exception call, replace LOG.error with LOG.exception.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":376,"context_line":"                            command,"},{"line_number":377,"context_line":"                            check_exit_code\u003dcheck_exit_code)"},{"line_number":378,"context_line":"                    except Exception as e:"},{"line_number":379,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":380,"context_line":"                        LOG.error(msg)"},{"line_number":381,"context_line":"                        last_exception \u003d e"},{"line_number":382,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ec528cdc","line":379,"updated":"2015-03-16 15:36:49.000000000","message":"Get rid of msg and just do LOG.exception(_LE(\"Exception running SSH command.\"))","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                                             self.switch_pwd,"},{"line_number":422,"context_line":"                                             min_size\u003d1,"},{"line_number":423,"context_line":"                                             max_size\u003d5)"},{"line_number":424,"context_line":"        stdin, stdout, stderr \u003d None, None, None"},{"line_number":425,"context_line":"        LOG.debug(\"Executing command via ssh: %s\" % command)"},{"line_number":426,"context_line":"        last_exception \u003d None"},{"line_number":427,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_ac73347e","line":424,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                        exit_status \u003d channel.recv_exit_status()"},{"line_number":436,"context_line":"                        LOG.debug(\"Exit Status from ssh:%s\", exit_status)"},{"line_number":437,"context_line":"                        # exit_status \u003d\u003d -1 if no exit code was returned"},{"line_number":438,"context_line":"                        if exit_status !\u003d -1:"},{"line_number":439,"context_line":"                            LOG.debug(\u0027Result was %s\u0027 % exit_status)"},{"line_number":440,"context_line":"                            if check_exit_code and exit_status !\u003d 0:"},{"line_number":441,"context_line":"                                raise processutils.ProcessExecutionError("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_8c103001","line":438,"updated":"2015-03-16 15:36:49.000000000","message":"% \u003d\u003e ,","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                            return True"},{"line_number":450,"context_line":"                    except Exception as e:"},{"line_number":451,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":452,"context_line":"                        LOG.error(msg)"},{"line_number":453,"context_line":"                        last_exception \u003d e"},{"line_number":454,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":455,"context_line":"                LOG.debug(\"Handling error case after SSH:%s\", last_exception)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6c24dc5f","line":452,"updated":"2015-03-16 15:36:49.000000000","message":"Replace with single call to LOG.exception.","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f4ebad7d2b27d887d342179f5e56622c35ba8b39","unresolved":false,"context_lines":[{"line_number":468,"context_line":"        except Exception as e:"},{"line_number":469,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":470,"context_line":"                msg \u003d (_LE(\"Error executing command via ssh: %s\") %"},{"line_number":471,"context_line":"                       six.text_type(e))"},{"line_number":472,"context_line":"                LOG.error(msg)"},{"line_number":473,"context_line":"        finally:"},{"line_number":474,"context_line":"            if stdin:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6cdbfc4e","line":471,"updated":"2015-03-16 15:36:49.000000000","message":"Replace with LOG.exception(_LE(\"Error executing command via ssh.\"))","commit_id":"1a27937312e9314d3dd5891b9de4a2254666df93"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f3598c82dc62efc4dd9303fcace1e5e47d666a15","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    \"zone_config\u003d%(zone_config)s).\""},{"line_number":124,"context_line":"                    ) % {\u0027switch\u0027: self.switch_ip,"},{"line_number":125,"context_line":"                         \u0027zone_config\u0027: switch_data}"},{"line_number":126,"context_line":"            LOG.error(msg)"},{"line_number":127,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":128,"context_line":"            LOG.exception(exc_msg)"},{"line_number":129,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_974719bc","line":126,"updated":"2015-03-17 17:09:00.000000000","message":"I hope someone answers this question, because I\u0027ve been wondering that myself in general. Like Eric says we usually use LOG.error instead of LOG.exception. Is ti because we don\u0027t want the traceback? Or because we leave the decission of logging the traceback (if needed) to the receptor of the raised exception?","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a927cddad51febbe31fb1a3f254ba4d6201f6238","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    \"zone_config\u003d%(zone_config)s).\""},{"line_number":124,"context_line":"                    ) % {\u0027switch\u0027: self.switch_ip,"},{"line_number":125,"context_line":"                         \u0027zone_config\u0027: switch_data}"},{"line_number":126,"context_line":"            LOG.error(msg)"},{"line_number":127,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":128,"context_line":"            LOG.exception(exc_msg)"},{"line_number":129,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_5804e9c5","line":126,"updated":"2015-03-17 19:22:35.000000000","message":"What a day! Another comment that was not clear. :(\nI know of the difference of error and exception methods, my question was on the lines of, are there guidelines on when it\u0027s recommended to use exception in the code and when error?","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4d3324688bedcf6775f26499354e7cc78ade8565","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    \"zone_config\u003d%(zone_config)s).\""},{"line_number":124,"context_line":"                    ) % {\u0027switch\u0027: self.switch_ip,"},{"line_number":125,"context_line":"                         \u0027zone_config\u0027: switch_data}"},{"line_number":126,"context_line":"            LOG.error(msg)"},{"line_number":127,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":128,"context_line":"            LOG.exception(exc_msg)"},{"line_number":129,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8ff467d0","line":126,"updated":"2015-03-17 15:54:07.000000000","message":"Why doesn\u0027t this just call LOG.exception(msg)?  I think this may be done incorrectly in general.","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0e138d9b5ad0a08f9944402183d7dacd3232f071","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                    \"zone_config\u003d%(zone_config)s).\""},{"line_number":124,"context_line":"                    ) % {\u0027switch\u0027: self.switch_ip,"},{"line_number":125,"context_line":"                         \u0027zone_config\u0027: switch_data}"},{"line_number":126,"context_line":"            LOG.error(msg)"},{"line_number":127,"context_line":"            exc_msg \u003d _LE(\"Exception: %s\") % six.text_type(ex)"},{"line_number":128,"context_line":"            LOG.exception(exc_msg)"},{"line_number":129,"context_line":"            raise exception.FCZoneDriverException(reason\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_435c034d","line":126,"in_reply_to":"9a80dd14_974719bc","updated":"2015-03-17 18:20:43.000000000","message":"LOG.exception will log whatever exception is currently in scope. I think I may have pointed out similar situations in the earlier patchset.\n\nI\u0027ve filed a bug and will work on cleaning up all the other issues here. I will address this there.","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":377,"context_line":"                            check_exit_code\u003dcheck_exit_code)"},{"line_number":378,"context_line":"                    except Exception as e:"},{"line_number":379,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":380,"context_line":"                        LOG.error(msg)"},{"line_number":381,"context_line":"                        last_exception \u003d e"},{"line_number":382,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"},{"line_number":383,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_4e86c7dc","line":380,"updated":"2015-03-18 11:06:45.000000000","message":"Should be replaced with LOG.exception","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a870f5dccda4e532dbe92815232dc3bcff4eb91b","unresolved":false,"context_lines":[{"line_number":448,"context_line":"                        else:"},{"line_number":449,"context_line":"                            return True"},{"line_number":450,"context_line":"                    except Exception as e:"},{"line_number":451,"context_line":"                        msg \u003d _LE(\"Exception: %s\") % six.text_type(e)"},{"line_number":452,"context_line":"                        LOG.error(msg)"},{"line_number":453,"context_line":"                        last_exception \u003d e"},{"line_number":454,"context_line":"                        greenthread.sleep(random.randint(20, 500) / 100.0)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a80dd14_8e67df50","line":451,"updated":"2015-03-18 11:06:45.000000000","message":"% \u003d\u003e ,","commit_id":"2ae2eeac817fc9495304dcbd84eff72d18e03cac"}]}
