)]}'
{"cinder/api/v2/views/volumes.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4b758f65e3cb64bbda3697e75c6b49c62be8cc2c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            \u0027managing\u0027: \u0027creating\u0027,"},{"line_number":62,"context_line":"            fields.VolumeStatus.ERROR_MANAGING: fields.VolumeStatus.ERROR,"},{"line_number":63,"context_line":"            fields.VolumeStatus.ERROR_MANAGING_DELETING:"},{"line_number":64,"context_line":"                fields.VolumeStatus.DELETING,"},{"line_number":65,"context_line":"        }"},{"line_number":66,"context_line":"        vol_status \u003d volume.get(\u0027status\u0027)"},{"line_number":67,"context_line":"        return status_map.get(vol_status, vol_status)"}],"source_content_type":"text/x-python","patch_set":21,"id":"5ff73747_20475b4e","line":64,"updated":"2017-04-24 19:37:55.000000000","message":"Why are two of these entries updated and the first left as-is?","commit_id":"5c42db606c86da5548eae1fbdd1b5e3476c19f99"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"160b77538523dbc0bf286b16b9a558d6e8c4516c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"            \u0027managing\u0027: \u0027creating\u0027,"},{"line_number":62,"context_line":"            fields.VolumeStatus.ERROR_MANAGING: fields.VolumeStatus.ERROR,"},{"line_number":63,"context_line":"            fields.VolumeStatus.ERROR_MANAGING_DELETING:"},{"line_number":64,"context_line":"                fields.VolumeStatus.DELETING,"},{"line_number":65,"context_line":"        }"},{"line_number":66,"context_line":"        vol_status \u003d volume.get(\u0027status\u0027)"},{"line_number":67,"context_line":"        return status_map.get(vol_status, vol_status)"}],"source_content_type":"text/x-python","patch_set":21,"id":"5ff73747_b2abbc1b","line":64,"in_reply_to":"5ff73747_20475b4e","updated":"2017-04-25 01:44:27.000000000","message":"sorry, miss it, will update next patchset.","commit_id":"5c42db606c86da5548eae1fbdd1b5e3476c19f99"}],"cinder/backup/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4b758f65e3cb64bbda3697e75c6b49c62be8cc2c","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                    \u0027actual_status\u0027: actual_status})"},{"line_number":513,"context_line":"            self._update_backup_error(backup, err)"},{"line_number":514,"context_line":"            self.db.volume_update(context, volume_id,"},{"line_number":515,"context_line":"                                  {\u0027status\u0027: fields.VolumeStatus.ERROR})"},{"line_number":516,"context_line":"            raise exception.InvalidBackup(reason\u003derr)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"        if volume[\u0027size\u0027] \u003e backup[\u0027size\u0027]:"}],"source_content_type":"text/x-python","patch_set":21,"id":"5ff73747_40914799","line":515,"range":{"start_line":515,"start_character":34,"end_line":515,"end_character":72},"updated":"2017-04-24 19:37:55.000000000","message":"I\u0027m not really convinced that this is an improvement.\n\nWhat\u0027s so bad about passing in \u0027error\u0027 directly?","commit_id":"5c42db606c86da5548eae1fbdd1b5e3476c19f99"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"160b77538523dbc0bf286b16b9a558d6e8c4516c","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                    \u0027actual_status\u0027: actual_status})"},{"line_number":513,"context_line":"            self._update_backup_error(backup, err)"},{"line_number":514,"context_line":"            self.db.volume_update(context, volume_id,"},{"line_number":515,"context_line":"                                  {\u0027status\u0027: fields.VolumeStatus.ERROR})"},{"line_number":516,"context_line":"            raise exception.InvalidBackup(reason\u003derr)"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"        if volume[\u0027size\u0027] \u003e backup[\u0027size\u0027]:"}],"source_content_type":"text/x-python","patch_set":21,"id":"5ff73747_32144c4e","line":515,"range":{"start_line":515,"start_character":34,"end_line":515,"end_character":72},"in_reply_to":"5ff73747_40914799","updated":"2017-04-25 01:44:27.000000000","message":"TBH, it\u0027s not harm to pass in \u0027error\u0027 directly I think.  I also agree you that we didn\u0027t need to replace all the strings with field status. We didn\u0027t want it too, but I\u0027m just not sure which string we should use the field status. \n\nNow some strings Cinder have already replaced them, some strings are not.  IMO,  we should keep consistent, because it also make the code hard to read if we mix them together.\n\nSo what you think?","commit_id":"5c42db606c86da5548eae1fbdd1b5e3476c19f99"}],"cinder/objects/volume.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"84b517bef6cba508a4cb304fa8a7188f42c07a73","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":83,"context_line":"        \u0027size\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":84,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":85,"context_line":"        \u0027status\u0027: c_fields.VolumeStatusField(nullable\u003dTrue),"},{"line_number":86,"context_line":"        \u0027attach_status\u0027: c_fields.VolumeAttachStatusField(nullable\u003dTrue),"},{"line_number":87,"context_line":"        \u0027migration_status\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a1ff146_67d8ec1e","line":85,"updated":"2017-03-14 14:16:11.000000000","message":"this should not be changed by this patch. It needs a migrate script.","commit_id":"2976dbe6277e49010c9e5185b0799217547f34e3"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"30760e24735c85d501849cf2b0eb828167d5f941","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":83,"context_line":"        \u0027size\u0027: fields.IntegerField(nullable\u003dTrue),"},{"line_number":84,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":85,"context_line":"        \u0027status\u0027: c_fields.VolumeStatusField(nullable\u003dTrue),"},{"line_number":86,"context_line":"        \u0027attach_status\u0027: c_fields.VolumeAttachStatusField(nullable\u003dTrue),"},{"line_number":87,"context_line":"        \u0027migration_status\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_7eadc330","line":85,"in_reply_to":"3a1ff146_67d8ec1e","updated":"2017-03-17 03:16:43.000000000","message":"em, Okay, that could be done later.","commit_id":"2976dbe6277e49010c9e5185b0799217547f34e3"}],"cinder/scheduler/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"aa555e675dd7e8df69dda645dc5e771ba6f1bad9","unresolved":false,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        def _manage_existing_set_error(self, context, ex, request_spec):"},{"line_number":314,"context_line":"            volume_state \u003d {\u0027volume_state\u0027:"},{"line_number":315,"context_line":"                                {\u0027status\u0027: fields.VolumeStatus.ERROR_MANAGING}}"},{"line_number":316,"context_line":"            self._set_volume_state_and_notify(\u0027manage_existing\u0027, volume_state,"},{"line_number":317,"context_line":"                                              context, ex, request_spec)"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a25e98e_e043de6a","line":315,"updated":"2017-03-13 20:32:24.000000000","message":"pep8 error here","commit_id":"3344a8adeb2a3e2cd005c7bb8f1fc4b5eb839fa5"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"1e9c7da976943fbab89f85a5ce431fb574d817f1","unresolved":false,"context_lines":[{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        def _manage_existing_set_error(self, context, ex, request_spec):"},{"line_number":314,"context_line":"            volume_state \u003d {\u0027volume_state\u0027:"},{"line_number":315,"context_line":"                                {\u0027status\u0027: fields.VolumeStatus.ERROR_MANAGING}}"},{"line_number":316,"context_line":"            self._set_volume_state_and_notify(\u0027manage_existing\u0027, volume_state,"},{"line_number":317,"context_line":"                                              context, ex, request_spec)"},{"line_number":318,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a22e58a_882a57e6","line":315,"in_reply_to":"7a25e98e_e043de6a","updated":"2017-03-14 05:44:44.000000000","message":"Done","commit_id":"3344a8adeb2a3e2cd005c7bb8f1fc4b5eb839fa5"}],"cinder/tests/tempest/api/volume/test_volume_unicode.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6c36d54dc88c9c1c7f46f85eff8af447cca0deae","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder.objects import fields"},{"line_number":23,"context_line":"CONF \u003d config.CONF"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class CinderUnicodeTest(volume_base.BaseVolumeTest):"}],"source_content_type":"text/x-python","patch_set":17,"id":"bff0334d_d75569fb","line":23,"updated":"2017-04-12 04:29:21.000000000","message":"If you need to do an update, please add a blank line between the last import and the CONF definition.","commit_id":"5d23127ed9a597c3f31fd117fee668cf00b88e5c"}],"cinder/tests/unit/api/contrib/test_volume_actions.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"101799595c7ea735715b491581105d0a7c38bf35","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self.api_patchers[_meth].return_value \u003d True"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        db_vol \u003d {\u0027id\u0027: fake.VOLUME_ID, \u0027host\u0027: \u0027fake\u0027,"},{"line_number":70,"context_line":"                  \u0027status\u0027: fields.VolumeStatus.AVAILABLE,"},{"line_number":71,"context_line":"                  \u0027size\u0027: 1, \u0027migration_status\u0027: None,"},{"line_number":72,"context_line":"                  \u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID,"},{"line_number":73,"context_line":"                  \u0027project_id\u0027: fake.PROJECT_ID}"}],"source_content_type":"text/x-python","patch_set":17,"id":"9ff52f3f_46e61219","line":70,"updated":"2017-04-13 13:55:15.000000000","message":"I\u0027m not sure I understand the rationale for doing this replacement across the board in unit tests.\n\nIt doesn\u0027t really help anything that I can see, and it makes them harder to read...\n\n\nAt any rate, it would at least look better to use\n\n  from cinder.objects.fields import VolumeStatus\n\n  \u0027status\u0027: VolumeStatus.AVAILABLE\n\nin this file.","commit_id":"5d23127ed9a597c3f31fd117fee668cf00b88e5c"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"d485455ea6f045a9c63e2b937d9227b0e80ab656","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self.api_patchers[_meth].return_value \u003d True"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        db_vol \u003d {\u0027id\u0027: fake.VOLUME_ID, \u0027host\u0027: \u0027fake\u0027,"},{"line_number":70,"context_line":"                  \u0027status\u0027: fields.VolumeStatus.AVAILABLE,"},{"line_number":71,"context_line":"                  \u0027size\u0027: 1, \u0027migration_status\u0027: None,"},{"line_number":72,"context_line":"                  \u0027volume_type_id\u0027: fake.VOLUME_TYPE_ID,"},{"line_number":73,"context_line":"                  \u0027project_id\u0027: fake.PROJECT_ID}"}],"source_content_type":"text/x-python","patch_set":17,"id":"7ffa3b31_c2b3b497","line":70,"in_reply_to":"9ff52f3f_46e61219","updated":"2017-04-20 02:24:33.000000000","message":"Yeah, it\u0027s useless to change the test code. Remove it in the next PS","commit_id":"5d23127ed9a597c3f31fd117fee668cf00b88e5c"}],"cinder/tests/unit/consistencygroup/test_cg.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"4c3209e0a0d5d7199de40a3a928fe1e470cfbba2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import ddt"},{"line_number":14,"context_line":"import mock"},{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import cinder.consistencygroup"}],"source_content_type":"text/x-python","patch_set":12,"id":"dfeb2761_94f44d5d","line":14,"updated":"2017-03-31 01:35:27.000000000","message":"I think this file got picked up by accident?","commit_id":"63f28a57abcd64163a1402e1c074ba00fbdc9c6f"}]}
