)]}'
{"nova/virt/driver.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"635cbfdae42ee1e3686f5262495464c15890b7a3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import six"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"import nova.conf"},{"line_number":30,"context_line":"from nova.i18n import _"},{"line_number":31,"context_line":"from nova.virt import event as virtevent"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_038086bf","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":23},"updated":"2017-06-15 02:10:15.000000000","message":"I wonder if we can remove this as well","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"2341e679b8df6e36669faff4e8f659d826051cf6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import six"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"import nova.conf"},{"line_number":30,"context_line":"from nova.i18n import _"},{"line_number":31,"context_line":"from nova.virt import event as virtevent"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_2e080990","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":23},"in_reply_to":"7f231b9d_038086bf","updated":"2017-06-15 02:58:17.000000000","message":"_() is used for user visible msgs","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"895633eb5f47936b4e33e7fb842be6d47a2d40d3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import six"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"import nova.conf"},{"line_number":30,"context_line":"from nova.i18n import _"},{"line_number":31,"context_line":"from nova.virt import event as virtevent"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_2fa0a741","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":23},"in_reply_to":"7f231b9d_2e080990","updated":"2017-06-19 13:02:02.000000000","message":"What they said ^^","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"9e872f1631507262ea29afa4a8e0393347fcabae","unresolved":false,"context_lines":[{"line_number":27,"context_line":"import six"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"import nova.conf"},{"line_number":30,"context_line":"from nova.i18n import _"},{"line_number":31,"context_line":"from nova.virt import event as virtevent"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"CONF \u003d nova.conf.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_96d0e155","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":23},"in_reply_to":"7f231b9d_2fa0a741","updated":"2017-06-20 01:11:04.000000000","message":"Thanks for your approval,\n\n_() is preferred for any user facing message, even if it is also going to a log file. This ensures that the translated version of the message will be available to the user.\n\nSee: https://docs.openstack.org/developer/oslo.i18n/guidelines.html#choosing-a-marker-function","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"635cbfdae42ee1e3686f5262495464c15890b7a3","unresolved":false,"context_lines":[{"line_number":1625,"context_line":"            return driver"},{"line_number":1626,"context_line":"        raise ValueError()"},{"line_number":1627,"context_line":"    except ImportError:"},{"line_number":1628,"context_line":"        LOG.exception(_(\"Unable to load the virtualization driver\"))"},{"line_number":1629,"context_line":"        sys.exit(1)"},{"line_number":1630,"context_line":"    except ValueError:"},{"line_number":1631,"context_line":"        LOG.exception(\"Compute driver \u0027%s\u0027 from \u0027nova.virt\u0027 is not of type\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_23082290","line":1628,"range":{"start_line":1628,"start_character":22,"end_line":1628,"end_character":23},"updated":"2017-06-15 02:10:15.000000000","message":"why not this one?","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"2719c460a1fb132015099736f713ca57d9e7ad60","unresolved":false,"context_lines":[{"line_number":1625,"context_line":"            return driver"},{"line_number":1626,"context_line":"        raise ValueError()"},{"line_number":1627,"context_line":"    except ImportError:"},{"line_number":1628,"context_line":"        LOG.exception(_(\"Unable to load the virtualization driver\"))"},{"line_number":1629,"context_line":"        sys.exit(1)"},{"line_number":1630,"context_line":"    except ValueError:"},{"line_number":1631,"context_line":"        LOG.exception(\"Compute driver \u0027%s\u0027 from \u0027nova.virt\u0027 is not of type\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f201791_f79dca66","line":1628,"range":{"start_line":1628,"start_character":22,"end_line":1628,"end_character":23},"in_reply_to":"5f201791_2d73f882","updated":"2017-06-21 01:33:33.000000000","message":"Thank you Matt,\nI will remove _() call in LOG.exception in further commits","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"2341e679b8df6e36669faff4e8f659d826051cf6","unresolved":false,"context_lines":[{"line_number":1625,"context_line":"            return driver"},{"line_number":1626,"context_line":"        raise ValueError()"},{"line_number":1627,"context_line":"    except ImportError:"},{"line_number":1628,"context_line":"        LOG.exception(_(\"Unable to load the virtualization driver\"))"},{"line_number":1629,"context_line":"        sys.exit(1)"},{"line_number":1630,"context_line":"    except ValueError:"},{"line_number":1631,"context_line":"        LOG.exception(\"Compute driver \u0027%s\u0027 from \u0027nova.virt\u0027 is not of type\""}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_aed2d9fe","line":1628,"range":{"start_line":1628,"start_character":22,"end_line":1628,"end_character":23},"in_reply_to":"7f231b9d_23082290","updated":"2017-06-15 02:58:17.000000000","message":"Anytime that the message will be passed outside of the current context (for example as part of an exception) the _() marker function must be used.\nSee:\nhttps://docs.openstack.org/developer/oslo.i18n/guidelines.html#choosing-a-marker-function","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"08ae93d4819812e881446efed68a2c30e38191c4","unresolved":false,"context_lines":[{"line_number":1625,"context_line":"            return driver"},{"line_number":1626,"context_line":"        raise ValueError()"},{"line_number":1627,"context_line":"    except ImportError:"},{"line_number":1628,"context_line":"        LOG.exception(_(\"Unable to load the virtualization driver\"))"},{"line_number":1629,"context_line":"        sys.exit(1)"},{"line_number":1630,"context_line":"    except ValueError:"},{"line_number":1631,"context_line":"        LOG.exception(\"Compute driver \u0027%s\u0027 from \u0027nova.virt\u0027 is not of type\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f201791_2d73f882","line":1628,"range":{"start_line":1628,"start_character":22,"end_line":1628,"end_character":23},"in_reply_to":"7f231b9d_aed2d9fe","updated":"2017-06-20 19:39:27.000000000","message":"I don\u0027t think that\u0027s really what the doc is saying. The example there is when the message is passed to another context, i.e. it\u0027s used for both logging with LOG.exception and raised in an exception, which may end up going back to the user, like if it\u0027s used in a REST API response error message.\n\nI don\u0027t really think a single LOG.exception with _() is what is intended in the doc since we don\u0027t translate the logs anymore, and the end user doesn\u0027t see the logs, only the admin/operator. Also, it is odd that there is a distinction made between LOG.exception and LOG.error since they both log at level ERROR, the only difference is LOG.exception includes a traceback, but LOG.error would also if you passed the exc_info kwarg.\n\nAnyway, I don\u0027t want to hold this up on that since it\u0027s a large change, but I don\u0027t think _() is needed with LOG.exception either.","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"}],"nova/virt/hyperv/migrationops.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"635cbfdae42ee1e3686f5262495464c15890b7a3","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        if new_root_gb \u003c curr_root_gb:"},{"line_number":108,"context_line":"            raise exception.InstanceFaultRollback("},{"line_number":109,"context_line":"                exception.CannotResizeDisk("},{"line_number":110,"context_line":"                    reason\u003d_(\"Cannot resize the root disk to a smaller size. \""},{"line_number":111,"context_line":"                             \"Current size: %(curr_root_gb)s GB. Requested \""},{"line_number":112,"context_line":"                             \"size: %(new_root_gb)s GB.\") % {"},{"line_number":113,"context_line":"                                 \u0027curr_root_gb\u0027: curr_root_gb,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_8326d614","line":110,"range":{"start_line":110,"start_character":27,"end_line":110,"end_character":28},"updated":"2017-06-15 02:10:15.000000000","message":"this too","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"08ae93d4819812e881446efed68a2c30e38191c4","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        if new_root_gb \u003c curr_root_gb:"},{"line_number":108,"context_line":"            raise exception.InstanceFaultRollback("},{"line_number":109,"context_line":"                exception.CannotResizeDisk("},{"line_number":110,"context_line":"                    reason\u003d_(\"Cannot resize the root disk to a smaller size. \""},{"line_number":111,"context_line":"                             \"Current size: %(curr_root_gb)s GB. Requested \""},{"line_number":112,"context_line":"                             \"size: %(new_root_gb)s GB.\") % {"},{"line_number":113,"context_line":"                                 \u0027curr_root_gb\u0027: curr_root_gb,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f201791_cd17e4ed","line":110,"range":{"start_line":110,"start_character":27,"end_line":110,"end_character":28},"in_reply_to":"7f231b9d_8326d614","updated":"2017-06-20 19:39:27.000000000","message":"This one is probably OK given:\n\nhttps://docs.openstack.org/developer/oslo.i18n/guidelines.html#choosing-a-marker-function\n\nThis is raising up an exception which could eventually be presented to the user, like in an instance fault record.","commit_id":"6c3520ac5ba789dd40d51c0d20a30d0dc44a8c07"}],"nova/virt/libvirt/volume/quobyte.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"9063673405f04d1262e4a0bc3cae54a62b237b56","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        raise nova_exception.InternalError(msg)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if not os.access(mnt_base, os.W_OK | os.X_OK):"},{"line_number":81,"context_line":"        raise nova_exception.InternalError(\"Volume is not writable. Please\""},{"line_number":82,"context_line":"                                           \"broaden the file permissions. \""},{"line_number":83,"context_line":"                                           \"Mount: %s\" % mnt_base)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_ebfbae44","line":81,"range":{"start_line":81,"start_character":74,"end_line":81,"end_character":75},"updated":"2017-05-26 00:06:12.000000000","message":"White space is required.\n\n\"Volume is not writable. Please \"","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"9063673405f04d1262e4a0bc3cae54a62b237b56","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        raise nova_exception.InternalError(msg)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if not os.access(mnt_base, os.W_OK | os.X_OK):"},{"line_number":81,"context_line":"        raise nova_exception.InternalError(\"Volume is not writable. Please\""},{"line_number":82,"context_line":"                                           \"broaden the file permissions. \""},{"line_number":83,"context_line":"                                           \"Mount: %s\" % mnt_base)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_0665b7e1","line":81,"range":{"start_line":81,"start_character":43,"end_line":81,"end_character":44},"updated":"2017-05-26 00:06:12.000000000","message":"_() is required for exception message.","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"df68688b8a82a43ed98c1bd59b8b19cf639b72d3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        raise nova_exception.InternalError(msg)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if not os.access(mnt_base, os.W_OK | os.X_OK):"},{"line_number":81,"context_line":"        raise nova_exception.InternalError(\"Volume is not writable. Please\""},{"line_number":82,"context_line":"                                           \"broaden the file permissions. \""},{"line_number":83,"context_line":"                                           \"Mount: %s\" % mnt_base)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_ac614e3c","line":81,"range":{"start_line":81,"start_character":43,"end_line":81,"end_character":44},"in_reply_to":"ff0f0b1f_0665b7e1","updated":"2017-05-29 06:53:45.000000000","message":"Done","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"df68688b8a82a43ed98c1bd59b8b19cf639b72d3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        raise nova_exception.InternalError(msg)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if not os.access(mnt_base, os.W_OK | os.X_OK):"},{"line_number":81,"context_line":"        raise nova_exception.InternalError(\"Volume is not writable. Please\""},{"line_number":82,"context_line":"                                           \"broaden the file permissions. \""},{"line_number":83,"context_line":"                                           \"Mount: %s\" % mnt_base)"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_cc724212","line":81,"range":{"start_line":81,"start_character":74,"end_line":81,"end_character":75},"in_reply_to":"ff0f0b1f_ebfbae44","updated":"2017-05-29 06:53:45.000000000","message":"Done","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"}],"nova/virt/xenapi/volume_utils.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"9063673405f04d1262e4a0bc3cae54a62b237b56","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"import nova.conf"},{"line_number":32,"context_line":"from nova import exception"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from nova.i18n import _"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff0f0b1f_2672fb7d","line":33,"updated":"2017-05-26 00:06:12.000000000","message":"nit: line 33 (blank line) should be removed.","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"df68688b8a82a43ed98c1bd59b8b19cf639b72d3","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"import nova.conf"},{"line_number":32,"context_line":"from nova import exception"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from nova.i18n import _"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_0c527a68","line":33,"in_reply_to":"ff0f0b1f_2672fb7d","updated":"2017-05-29 06:53:45.000000000","message":"Done","commit_id":"9701e75f762cb9c7a01582759ef68ea3dceee17c"}]}
