)]}'
{"cinder/cmd/rtstool.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"81e2f0a23dd7be346ea8292a6735aa3b1e659f00","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    sys.exit(1)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"def save_json(json_file):"},{"line_number":180,"context_line":"    rtsroot \u003d rtslib.root.RTSRoot()"},{"line_number":181,"context_line":"    try:"},{"line_number":182,"context_line":"        rtsroot.save_to_file(json_file)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_14910747","line":179,"updated":"2015-03-03 08:51:28.000000000","message":"Good idea, after all I\u0027m not calling a save_to_json_file method or anything, should be kept non-specific.","commit_id":"470cff3eea43d2e03b42aeb6e249044c582a3358"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"78b9238d5d0535378bae4d9662b7aab1245a80ee","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    sys.exit(1)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"def save_json(json_file):"},{"line_number":180,"context_line":"    rtsroot \u003d rtslib.root.RTSRoot()"},{"line_number":181,"context_line":"    try:"},{"line_number":182,"context_line":"        rtsroot.save_to_file(json_file)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_5ef9e37e","line":179,"updated":"2015-03-03 06:26:19.000000000","message":"I would remove a clue to the file format from the method and variable names. From this utility perspective its just a file, today its a json tomorrow something totally different.","commit_id":"470cff3eea43d2e03b42aeb6e249044c582a3358"}],"cinder/tests/targets/test_lio_driver.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"81f35c4fc3d72c44aa5ccdbfc893ab06dce54a82","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        mget_target.return_value \u003d 1"},{"line_number":111,"context_line":"        # This test expects volume- before the actual id because that\u0027s how"},{"line_number":112,"context_line":"        # create_iscsi_target is coded (different than the rest of methods)"},{"line_number":113,"context_line":"        volume_id \u003d \u0027volume-83c2e877-feed-46be-8435-77884fe55b45\u0027"},{"line_number":114,"context_line":"        test_vol \u003d \u0027iqn.2010-10.org.openstack:\u0027 + volume_id"},{"line_number":115,"context_line":"        self.assertEqual("},{"line_number":116,"context_line":"            1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_d896dd3d","line":113,"updated":"2015-03-02 19:34:51.000000000","message":"Good idea!, although I\u0027ll keep a comment to explain why we aren\u0027t using volume_id like in the other tests.","commit_id":"526594a0da896799407b727a7398d9e684ef7bf4"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cdbae988514acfdc9889c03caea2253e03a61fac","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        mget_target.return_value \u003d 1"},{"line_number":111,"context_line":"        # This test expects volume- before the actual id because that\u0027s how"},{"line_number":112,"context_line":"        # create_iscsi_target is coded (different than the rest of methods)"},{"line_number":113,"context_line":"        volume_id \u003d \u0027volume-83c2e877-feed-46be-8435-77884fe55b45\u0027"},{"line_number":114,"context_line":"        test_vol \u003d \u0027iqn.2010-10.org.openstack:\u0027 + volume_id"},{"line_number":115,"context_line":"        self.assertEqual("},{"line_number":116,"context_line":"            1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_1b0cf641","line":113,"updated":"2015-03-02 17:47:33.000000000","message":"This should be called \"volume_name\" instead of \"volume_id\" (it\u0027s not a volume id), which should clarify what the comment above is talking about (and make it not needed).","commit_id":"526594a0da896799407b727a7398d9e684ef7bf4"}],"cinder/volume/targets/lio.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cdbae988514acfdc9889c03caea2253e03a61fac","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        # been successfully created."},{"line_number":86,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":87,"context_line":"            LOG.error(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id:%s.\") % vol_id)"},{"line_number":89,"context_line":"            LOG.error(_LE(\"%s\") % e)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_3bab7a1f","line":88,"updated":"2015-03-02 17:47:33.000000000","message":"Add a space after the colon.","commit_id":"526594a0da896799407b727a7398d9e684ef7bf4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"81f35c4fc3d72c44aa5ccdbfc893ab06dce54a82","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        # been successfully created."},{"line_number":86,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":87,"context_line":"            LOG.error(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id:%s.\") % vol_id)"},{"line_number":89,"context_line":"            LOG.error(_LE(\"%s\") % e)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_b895a934","line":88,"updated":"2015-03-02 19:34:51.000000000","message":"I was following this file\u0027s convention on how errors are being logged, I usually prefer calling exception, so I will do just as you suggest. :)","commit_id":"526594a0da896799407b727a7398d9e684ef7bf4"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cdbae988514acfdc9889c03caea2253e03a61fac","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        except putils.ProcessExecutionError as e:"},{"line_number":87,"context_line":"            LOG.error(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id:%s.\") % vol_id)"},{"line_number":89,"context_line":"            LOG.error(_LE(\"%s\") % e)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"},{"line_number":92,"context_line":"                            chap_auth\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_fbb9e279","line":89,"updated":"2015-03-02 17:47:33.000000000","message":"Drop the second LOG.error() call and just call LOG.exception() instead for the first one.","commit_id":"526594a0da896799407b727a7398d9e684ef7bf4"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"78b9238d5d0535378bae4d9662b7aab1245a80ee","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        iscsi_target \u003d 0  # NOTE: Not used by lio."},{"line_number":78,"context_line":"        return iscsi_target, lun"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _persist_configuration(self, vol_id):"},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            utils.execute(\u0027cinder-rtstool\u0027, \u0027save\u0027, run_as_root\u003dTrue)"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_7e24e70c","line":80,"updated":"2015-03-03 06:26:19.000000000","message":"I think rtstool must persist all changes by default and hide this detail from the caller instead of providing an API to do that after all you don\u0027t provide an option not to persist changes.","commit_id":"470cff3eea43d2e03b42aeb6e249044c582a3358"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"81e2f0a23dd7be346ea8292a6735aa3b1e659f00","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        iscsi_target \u003d 0  # NOTE: Not used by lio."},{"line_number":78,"context_line":"        return iscsi_target, lun"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _persist_configuration(self, vol_id):"},{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            utils.execute(\u0027cinder-rtstool\u0027, \u0027save\u0027, run_as_root\u003dTrue)"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_f470f341","line":80,"updated":"2015-03-03 08:51:28.000000000","message":"I thought about it (it was easier to code) but rejected the idea because rtstool is not only used by Cinder, it is also available as a CLI userland tool which is available as cinder-rtstool.\nSo I thought current behavior should not be modified for existing commands.","commit_id":"470cff3eea43d2e03b42aeb6e249044c582a3358"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"13f637e0c6a2ce5fb4feeaa424c6a162faefce15","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        # been successfully created."},{"line_number":86,"context_line":"        except putils.ProcessExecutionError:"},{"line_number":87,"context_line":"            LOG.exception(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id: %s.\") % vol_id)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"},{"line_number":91,"context_line":"                            chap_auth\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_177b297c","line":88,"updated":"2015-03-17 16:59:33.000000000","message":"Please, change \u0027%\u0027 to \u0027,\u0027","commit_id":"c43401e2d8de343b9fc30bd382c5b59039b4b060"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"01cd9e15fe624a21b670011fe912fa2086e25d56","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        # been successfully created."},{"line_number":86,"context_line":"        except putils.ProcessExecutionError:"},{"line_number":87,"context_line":"            LOG.exception(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id: %s.\") % vol_id)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"},{"line_number":91,"context_line":"                            chap_auth\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_7707051e","line":88,"updated":"2015-03-17 17:14:36.000000000","message":"Thanks, I\u0027m new and when I coded this I didn\u0027t know that delayed string interpolation was in the guidelines. I\u0027ll fix all instances of this in this patch.","commit_id":"c43401e2d8de343b9fc30bd382c5b59039b4b060"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"c1c05c2ea6b15629e7ddd8c3ca7743b40c97961c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        except putils.ProcessExecutionError:"},{"line_number":87,"context_line":"            LOG.exception(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id: %(vol_id)s.\"),"},{"line_number":89,"context_line":"                          {\u0027vol_id\u0027: vol_id})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"},{"line_number":92,"context_line":"                            chap_auth\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_3c97e049","line":89,"updated":"2015-03-25 14:22:16.000000000","message":"\u0027Exception level in the logging guideline is defined as \u0027something major is broken\u0027. This should probably be \u0027warning\u0027 (Something the sysadmin should investigate and fix soon) or even \u0027info\u0027","commit_id":"d8d0fd944ca582d1752109af16b0f4819d25015c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1f717b540b41b57a468a6ae3968470940de246d7","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        except putils.ProcessExecutionError:"},{"line_number":87,"context_line":"            LOG.exception(_LE(\"Failed to save iscsi LIO configuration when \""},{"line_number":88,"context_line":"                          \"modifying volume id: %(vol_id)s.\"),"},{"line_number":89,"context_line":"                          {\u0027vol_id\u0027: vol_id})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def create_iscsi_target(self, name, tid, lun, path,"},{"line_number":92,"context_line":"                            chap_auth\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_7fab0a75","line":89,"in_reply_to":"1a6ced46_3c97e049","updated":"2015-03-25 14:44:59.000000000","message":"You are right!\nChanged to warning.","commit_id":"d8d0fd944ca582d1752109af16b0f4819d25015c"}]}
