)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Use versionedObject"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since the core code have been changed to use"},{"line_number":10,"context_line":"versionedObject, Huawei drivers now change to"},{"line_number":11,"context_line":"use versionedObject too."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3aaa91ec_f90423c7","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":24},"updated":"2016-06-28 13:47:39.000000000","message":"nit: has","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Use versionedObject"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since the core code have been changed to use"},{"line_number":10,"context_line":"versionedObject, Huawei drivers now change to"},{"line_number":11,"context_line":"use versionedObject too."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3aaa91ec_3d683787","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":24},"in_reply_to":"3aaa91ec_f90423c7","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Use versionedObject"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since the core code have been changed to use"},{"line_number":10,"context_line":"versionedObject, Huawei drivers now change to"},{"line_number":11,"context_line":"use versionedObject too."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I4d0e7ac804a9d42754e7f7ce70cdd8af132e173a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3aaa91ec_79f953c8","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":42},"updated":"2016-06-28 13:47:39.000000000","message":"nit: changes","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Use versionedObject"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since the core code have been changed to use"},{"line_number":10,"context_line":"versionedObject, Huawei drivers now change to"},{"line_number":11,"context_line":"use versionedObject too."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I4d0e7ac804a9d42754e7f7ce70cdd8af132e173a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3aaa91ec_9d05ebc3","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":42},"in_reply_to":"3aaa91ec_79f953c8","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"}],"cinder/tests/unit/test_huawei_drivers.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":"\"\"\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"PROVIDER_LOCATION \u003d \u002711\u0027"},{"line_number":57,"context_line":"HOST \u003d \u0027ubuntu001@backend001#OpenStack_Pool\u0027"},{"line_number":58,"context_line":"ID \u003d \u002721ec7341-9256-497b-97d9-ef48edcf0635\u0027"},{"line_number":59,"context_line":"ADMIN_METADATA \u003d {\u0027huawei_lun_wwn\u0027: \u00276643e8c1004c5f6723e9f454003\u0027}"},{"line_number":60,"context_line":"TEST_PAIR_ID \u003d \"3400a30d844d0004\""},{"line_number":61,"context_line":"REPLICA_DRIVER_DATA \u003d \u0027{\"pair_id\": \"%s\", \"rmt_lun_id\": \"1\"}\u0027 % TEST_PAIR_ID"},{"line_number":62,"context_line":"VOL_METADATA \u003d [{\u0027key\u0027: \u0027hypermetro_id\u0027, \u0027value\u0027: \u002711\u0027},"},{"line_number":63,"context_line":"                {\u0027key\u0027: \u0027remote_lun_id\u0027, \u0027value\u0027: \u00271\u0027}]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"test_volume \u003d fake_volume.fake_volume_obj("},{"line_number":66,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":67,"context_line":"    admin_metadata\u003dADMIN_METADATA, id\u003dID)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"test_snapshot \u003d fake_snapshot.fake_snapshot_obj("},{"line_number":70,"context_line":"    admin_contex, provider_location\u003dPROVIDER_LOCATION, id\u003dID)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"test_snapshot.volume \u003d test_volume"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"replication_volume \u003d fake_volume.fake_volume_obj("},{"line_number":75,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":76,"context_line":"    admin_metadata\u003dADMIN_METADATA, replication_status\u003d\u0027disabled\u0027,"},{"line_number":77,"context_line":"    replication_driver_data\u003dREPLICA_DRIVER_DATA, id\u003dID)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"hyper_volume \u003d fake_volume.fake_volume_obj("},{"line_number":80,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":81,"context_line":"    volume_metadata\u003dVOL_METADATA, id\u003dID)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"original_volume \u003d fake_volume.fake_volume_obj(admin_contex, id\u003dID)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"current_volume \u003d fake_volume.fake_volume_obj("},{"line_number":86,"context_line":"    admin_contex, id\u003dID, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":87,"context_line":"    _name_id\u003d\u002721ec7341-9256-497b-97d9-ef48edcf0637\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"fake_smartx_value \u003d {\u0027smarttier\u0027: \u0027true\u0027,"},{"line_number":90,"context_line":"                     \u0027smartcache\u0027: \u0027true\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_eb2d6afe","line":87,"range":{"start_line":56,"start_character":0,"end_line":87,"end_character":52},"updated":"2016-06-28 13:47:39.000000000","message":"nit: I think these should be defined in the setUp method so you don\u0027t have to do deepcopies of it.  You could have a base test that adds it and then inherit from it in all your tests.","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":"\"\"\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"PROVIDER_LOCATION \u003d \u002711\u0027"},{"line_number":57,"context_line":"HOST \u003d \u0027ubuntu001@backend001#OpenStack_Pool\u0027"},{"line_number":58,"context_line":"ID \u003d \u002721ec7341-9256-497b-97d9-ef48edcf0635\u0027"},{"line_number":59,"context_line":"ADMIN_METADATA \u003d {\u0027huawei_lun_wwn\u0027: \u00276643e8c1004c5f6723e9f454003\u0027}"},{"line_number":60,"context_line":"TEST_PAIR_ID \u003d \"3400a30d844d0004\""},{"line_number":61,"context_line":"REPLICA_DRIVER_DATA \u003d \u0027{\"pair_id\": \"%s\", \"rmt_lun_id\": \"1\"}\u0027 % TEST_PAIR_ID"},{"line_number":62,"context_line":"VOL_METADATA \u003d [{\u0027key\u0027: \u0027hypermetro_id\u0027, \u0027value\u0027: \u002711\u0027},"},{"line_number":63,"context_line":"                {\u0027key\u0027: \u0027remote_lun_id\u0027, \u0027value\u0027: \u00271\u0027}]"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"test_volume \u003d fake_volume.fake_volume_obj("},{"line_number":66,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":67,"context_line":"    admin_metadata\u003dADMIN_METADATA, id\u003dID)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"test_snapshot \u003d fake_snapshot.fake_snapshot_obj("},{"line_number":70,"context_line":"    admin_contex, provider_location\u003dPROVIDER_LOCATION, id\u003dID)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"test_snapshot.volume \u003d test_volume"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"replication_volume \u003d fake_volume.fake_volume_obj("},{"line_number":75,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":76,"context_line":"    admin_metadata\u003dADMIN_METADATA, replication_status\u003d\u0027disabled\u0027,"},{"line_number":77,"context_line":"    replication_driver_data\u003dREPLICA_DRIVER_DATA, id\u003dID)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"hyper_volume \u003d fake_volume.fake_volume_obj("},{"line_number":80,"context_line":"    admin_contex, host\u003dHOST, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":81,"context_line":"    volume_metadata\u003dVOL_METADATA, id\u003dID)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"original_volume \u003d fake_volume.fake_volume_obj(admin_contex, id\u003dID)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"current_volume \u003d fake_volume.fake_volume_obj("},{"line_number":86,"context_line":"    admin_contex, id\u003dID, provider_location\u003dPROVIDER_LOCATION,"},{"line_number":87,"context_line":"    _name_id\u003d\u002721ec7341-9256-497b-97d9-ef48edcf0637\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"fake_smartx_value \u003d {\u0027smarttier\u0027: \u0027true\u0027,"},{"line_number":90,"context_line":"                     \u0027smartcache\u0027: \u0027true\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_25f3fd9f","line":87,"range":{"start_line":56,"start_character":0,"end_line":87,"end_character":52},"in_reply_to":"3aaa91ec_eb2d6afe","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":3565,"context_line":"                                                          original_volume,"},{"line_number":3566,"context_line":"                                                          current_volume,"},{"line_number":3567,"context_line":"                                                          \u0027available\u0027)"},{"line_number":3568,"context_line":"        self.assertEqual(current_volume._name_id,"},{"line_number":3569,"context_line":"                         model_update[\u0027_name_id\u0027])"},{"line_number":3570,"context_line":""},{"line_number":3571,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027add_lun_to_partition\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_0b8f1624","line":3568,"updated":"2016-06-28 13:47:39.000000000","message":"nit: current_volume.name_id","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":3565,"context_line":"                                                          original_volume,"},{"line_number":3566,"context_line":"                                                          current_volume,"},{"line_number":3567,"context_line":"                                                          \u0027available\u0027)"},{"line_number":3568,"context_line":"        self.assertEqual(current_volume._name_id,"},{"line_number":3569,"context_line":"                         model_update[\u0027_name_id\u0027])"},{"line_number":3570,"context_line":""},{"line_number":3571,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027add_lun_to_partition\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_f220994b","line":3568,"in_reply_to":"3aaa91ec_0b8f1624","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"}],"cinder/volume/drivers/huawei/huawei_driver.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ca06ced4c3ca4f67965670b79d909b3df4bbb76d","unresolved":false,"context_lines":[{"line_number":398,"context_line":"                raise"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        # Delete a replication volume"},{"line_number":401,"context_line":"        replica_data \u003d volume.get(\u0027replication_driver_data\u0027)"},{"line_number":402,"context_line":"        if replica_data:"},{"line_number":403,"context_line":"            try:"},{"line_number":404,"context_line":"                self.replica.delete_replica(volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_1f88ec21","line":401,"range":{"start_line":401,"start_character":8,"end_line":401,"end_character":60},"updated":"2016-06-28 14:42:46.000000000","message":"same","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":398,"context_line":"                raise"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        # Delete a replication volume"},{"line_number":401,"context_line":"        replica_data \u003d volume.get(\u0027replication_driver_data\u0027)"},{"line_number":402,"context_line":"        if replica_data:"},{"line_number":403,"context_line":"            try:"},{"line_number":404,"context_line":"                self.replica.delete_replica(volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_9db68bda","line":401,"range":{"start_line":401,"start_character":8,"end_line":401,"end_character":60},"in_reply_to":"3aaa91ec_1f88ec21","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ca06ced4c3ca4f67965670b79d909b3df4bbb76d","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                                        wait_interval * 10)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _get_original_status(self, volume):"},{"line_number":498,"context_line":"        return \u0027in-use\u0027 if volume.get(\u0027volume_attachment\u0027) else \u0027available\u0027"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def update_migrated_volume(self, ctxt, volume, new_volume,"},{"line_number":501,"context_line":"                               original_volume_status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_1f8f4c24","line":498,"range":{"start_line":498,"start_character":27,"end_line":498,"end_character":58},"updated":"2016-06-28 14:42:46.000000000","message":"same","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                                        wait_interval * 10)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"    def _get_original_status(self, volume):"},{"line_number":498,"context_line":"        return \u0027in-use\u0027 if volume.get(\u0027volume_attachment\u0027) else \u0027available\u0027"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"    def update_migrated_volume(self, ctxt, volume, new_volume,"},{"line_number":501,"context_line":"                               original_volume_status\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5daee385","line":498,"range":{"start_line":498,"start_character":27,"end_line":498,"end_character":58},"in_reply_to":"3aaa91ec_1f8f4c24","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            self.client.rename_lun(lun_id, original_name)"},{"line_number":508,"context_line":"        except exception.VolumeBackendAPIException:"},{"line_number":509,"context_line":"            LOG.error(_LE(\u0027Unable to rename lun %s on array.\u0027), current_name)"},{"line_number":510,"context_line":"            return {\u0027_name_id\u0027: new_volume._name_id or new_volume.id}"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        LOG.debug(\"Rename lun from %(current_name)s to %(original_name)s \""},{"line_number":513,"context_line":"                  \"successfully.\","}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_d9c96727","line":510,"updated":"2016-06-28 13:47:39.000000000","message":"-1: This should use OVO `name_id` property:\n\n return {\u0027_name_id\u0027: new_volume.name_id}","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":507,"context_line":"            self.client.rename_lun(lun_id, original_name)"},{"line_number":508,"context_line":"        except exception.VolumeBackendAPIException:"},{"line_number":509,"context_line":"            LOG.error(_LE(\u0027Unable to rename lun %s on array.\u0027), current_name)"},{"line_number":510,"context_line":"            return {\u0027_name_id\u0027: new_volume._name_id or new_volume.id}"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"        LOG.debug(\"Rename lun from %(current_name)s to %(original_name)s \""},{"line_number":513,"context_line":"                  \"successfully.\","}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_b2261166","line":510,"in_reply_to":"3aaa91ec_d9c96727","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":695,"context_line":"                                          constants.VOLUME_NOT_EXISTS_RAISE)"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        # Form the snapshot structure."},{"line_number":698,"context_line":"        snap_attrs \u003d [\u0027id\u0027, \u0027volume_id\u0027, \u0027volume\u0027, \u0027provider_location\u0027]"},{"line_number":699,"context_line":"        snapshot_type \u003d collections.namedtuple(\u0027snapshot_type\u0027, snap_attrs)"},{"line_number":700,"context_line":"        snapshot \u003d snapshot_type(id\u003duuid.uuid4().__str__(),"},{"line_number":701,"context_line":"                                 volume_id\u003dsrc_vref.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_0b9b96ca","line":698,"updated":"2016-06-28 13:47:39.000000000","message":"nit: A tuple here would be even better.","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":695,"context_line":"                                          constants.VOLUME_NOT_EXISTS_RAISE)"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        # Form the snapshot structure."},{"line_number":698,"context_line":"        snap_attrs \u003d [\u0027id\u0027, \u0027volume_id\u0027, \u0027volume\u0027, \u0027provider_location\u0027]"},{"line_number":699,"context_line":"        snapshot_type \u003d collections.namedtuple(\u0027snapshot_type\u0027, snap_attrs)"},{"line_number":700,"context_line":"        snapshot \u003d snapshot_type(id\u003duuid.uuid4().__str__(),"},{"line_number":701,"context_line":"                                 volume_id\u003dsrc_vref.id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_bdaee795","line":698,"in_reply_to":"3aaa91ec_0b9b96ca","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"09a9dbee7f068ac64d050be8ff127a9b013b64e2","unresolved":false,"context_lines":[{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        # Form the snapshot structure."},{"line_number":698,"context_line":"        snap_attrs \u003d [\u0027id\u0027, \u0027volume_id\u0027, \u0027volume\u0027, \u0027provider_location\u0027]"},{"line_number":699,"context_line":"        snapshot_type \u003d collections.namedtuple(\u0027snapshot_type\u0027, snap_attrs)"},{"line_number":700,"context_line":"        snapshot \u003d snapshot_type(id\u003duuid.uuid4().__str__(),"},{"line_number":701,"context_line":"                                 volume_id\u003dsrc_vref.id,"},{"line_number":702,"context_line":"                                 volume\u003dsrc_vref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_2b7132a9","line":699,"updated":"2016-06-28 13:47:39.000000000","message":"nit: Since you are faking a snapshot I think the name for the type should be \u0027Snapshot\u0027 instead of \u0027snapshot_type\u0027.\n\nnit: I think this should be defined globally at this library level or at class level.","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":696,"context_line":""},{"line_number":697,"context_line":"        # Form the snapshot structure."},{"line_number":698,"context_line":"        snap_attrs \u003d [\u0027id\u0027, \u0027volume_id\u0027, \u0027volume\u0027, \u0027provider_location\u0027]"},{"line_number":699,"context_line":"        snapshot_type \u003d collections.namedtuple(\u0027snapshot_type\u0027, snap_attrs)"},{"line_number":700,"context_line":"        snapshot \u003d snapshot_type(id\u003duuid.uuid4().__str__(),"},{"line_number":701,"context_line":"                                 volume_id\u003dsrc_vref.id,"},{"line_number":702,"context_line":"                                 volume\u003dsrc_vref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_1da45ba4","line":699,"in_reply_to":"3aaa91ec_2b7132a9","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ca06ced4c3ca4f67965670b79d909b3df4bbb76d","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"            \u0027replication_type\u0027: None,"},{"line_number":1055,"context_line":"        }"},{"line_number":1056,"context_line":""},{"line_number":1057,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027)"},{"line_number":1058,"context_line":"        old_opts \u003d self.get_lun_specs(lun_id)"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"        new_specs \u003d new_type[\u0027extra_specs\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_ce2fdc9f","line":1057,"range":{"start_line":1057,"start_character":17,"end_line":1057,"end_character":48},"updated":"2016-06-28 14:42:46.000000000","message":"missed this one.","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":1054,"context_line":"            \u0027replication_type\u0027: None,"},{"line_number":1055,"context_line":"        }"},{"line_number":1056,"context_line":""},{"line_number":1057,"context_line":"        lun_id \u003d volume.get(\u0027provider_location\u0027)"},{"line_number":1058,"context_line":"        old_opts \u003d self.get_lun_specs(lun_id)"},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"        new_specs \u003d new_type[\u0027extra_specs\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_7da47fb8","line":1057,"range":{"start_line":1057,"start_character":17,"end_line":1057,"end_character":48},"in_reply_to":"3aaa91ec_ce2fdc9f","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9dc4080f27208160a584ebb4189bdb799af00f5e","unresolved":false,"context_lines":[{"line_number":1545,"context_line":"            v_update \u003d {}"},{"line_number":1546,"context_line":"            v_update[\u0027volume_id\u0027] \u003d v.id"},{"line_number":1547,"context_line":"            metadata \u003d huawei_utils.get_volume_metadata(v)"},{"line_number":1548,"context_line":"            metadata.update({\u0027old_status\u0027: v[\u0027status\u0027]})"},{"line_number":1549,"context_line":"            v_update[\u0027updates\u0027] \u003d {\u0027status\u0027: \u0027error\u0027,"},{"line_number":1550,"context_line":"                                   \u0027metadata\u0027: metadata}"},{"line_number":1551,"context_line":"            volumes_update.append(v_update)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_4029d088","line":1548,"range":{"start_line":1548,"start_character":43,"end_line":1548,"end_character":54},"updated":"2016-06-29 07:59:34.000000000","message":"-1: v.status","commit_id":"a786f393d6cf39a1b4121087a025c3a3b5f8a19b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"        model_update \u003d {}"},{"line_number":1551,"context_line":"        volumes_model_update \u003d []"},{"line_number":1552,"context_line":"        model_update.update({\u0027status\u0027: group[\u0027status\u0027]})"},{"line_number":1553,"context_line":""},{"line_number":1554,"context_line":"        for volume_ref in volumes:"},{"line_number":1555,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_335e7e12","line":1552,"range":{"start_line":1552,"start_character":39,"end_line":1552,"end_character":54},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.status","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":"        model_update \u003d {}"},{"line_number":1551,"context_line":"        volumes_model_update \u003d []"},{"line_number":1552,"context_line":"        model_update.update({\u0027status\u0027: group[\u0027status\u0027]})"},{"line_number":1553,"context_line":""},{"line_number":1554,"context_line":"        for volume_ref in volumes:"},{"line_number":1555,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_0cd19cfa","line":1552,"range":{"start_line":1552,"start_character":39,"end_line":1552,"end_character":54},"in_reply_to":"1aa78d24_335e7e12","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":1633,"context_line":"        \"\"\"Delete consistency group snapshot.\"\"\""},{"line_number":1634,"context_line":"        LOG.info(_LI(\u0027Delete cgsnapshot %(snap_id)s for consistency group: \u0027"},{"line_number":1635,"context_line":"                     \u0027%(group_id)s\u0027),"},{"line_number":1636,"context_line":"                 {\u0027snap_id\u0027: cgsnapshot[\u0027id\u0027],"},{"line_number":1637,"context_line":"                  \u0027group_id\u0027: cgsnapshot[\u0027consistencygroup_id\u0027]})"},{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_53e6aa44","line":1636,"updated":"2016-07-06 08:43:38.000000000","message":"-1: -1: cgsnapshot.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":1633,"context_line":"        \"\"\"Delete consistency group snapshot.\"\"\""},{"line_number":1634,"context_line":"        LOG.info(_LI(\u0027Delete cgsnapshot %(snap_id)s for consistency group: \u0027"},{"line_number":1635,"context_line":"                     \u0027%(group_id)s\u0027),"},{"line_number":1636,"context_line":"                 {\u0027snap_id\u0027: cgsnapshot[\u0027id\u0027],"},{"line_number":1637,"context_line":"                  \u0027group_id\u0027: cgsnapshot[\u0027consistencygroup_id\u0027]})"},{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_2c4298ae","line":1636,"in_reply_to":"1aa78d24_53e6aa44","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"        LOG.info(_LI(\u0027Delete cgsnapshot %(snap_id)s for consistency group: \u0027"},{"line_number":1635,"context_line":"                     \u0027%(group_id)s\u0027),"},{"line_number":1636,"context_line":"                 {\u0027snap_id\u0027: cgsnapshot[\u0027id\u0027],"},{"line_number":1637,"context_line":"                  \u0027group_id\u0027: cgsnapshot[\u0027consistencygroup_id\u0027]})"},{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"},{"line_number":1640,"context_line":"        snapshots_model_update \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_93d2d25a","line":1637,"updated":"2016-07-06 08:43:38.000000000","message":"-1: cgsnapshot.consistencygroup_id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":1634,"context_line":"        LOG.info(_LI(\u0027Delete cgsnapshot %(snap_id)s for consistency group: \u0027"},{"line_number":1635,"context_line":"                     \u0027%(group_id)s\u0027),"},{"line_number":1636,"context_line":"                 {\u0027snap_id\u0027: cgsnapshot[\u0027id\u0027],"},{"line_number":1637,"context_line":"                  \u0027group_id\u0027: cgsnapshot[\u0027consistencygroup_id\u0027]})"},{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"},{"line_number":1640,"context_line":"        snapshots_model_update \u003d []"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_cc0f9486","line":1637,"in_reply_to":"1aa78d24_93d2d25a","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"},{"line_number":1640,"context_line":"        snapshots_model_update \u003d []"},{"line_number":1641,"context_line":"        model_update[\u0027status\u0027] \u003d cgsnapshot[\u0027status\u0027]"},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"        for snapshot in snapshots:"},{"line_number":1644,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_d3f1fa02","line":1641,"range":{"start_line":1641,"start_character":33,"end_line":1641,"end_character":53},"updated":"2016-07-06 08:43:38.000000000","message":"-1: cgsnapshot.status","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":1638,"context_line":""},{"line_number":1639,"context_line":"        model_update \u003d {}"},{"line_number":1640,"context_line":"        snapshots_model_update \u003d []"},{"line_number":1641,"context_line":"        model_update[\u0027status\u0027] \u003d cgsnapshot[\u0027status\u0027]"},{"line_number":1642,"context_line":""},{"line_number":1643,"context_line":"        for snapshot in snapshots:"},{"line_number":1644,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_6c1f80b7","line":1641,"range":{"start_line":1641,"start_character":33,"end_line":1641,"end_character":53},"in_reply_to":"1aa78d24_d3f1fa02","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":1648,"context_line":"            except Exception:"},{"line_number":1649,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1650,"context_line":"                    LOG.error(_LE(\"Delete cg snapshots failed. \""},{"line_number":1651,"context_line":"                                  \"Cgsnapshot id: %s\"), cgsnapshot[\u0027id\u0027])"},{"line_number":1652,"context_line":""},{"line_number":1653,"context_line":"        return model_update, snapshots_model_update"},{"line_number":1654,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_f3c35687","line":1651,"range":{"start_line":1651,"start_character":56,"end_line":1651,"end_character":72},"updated":"2016-07-06 08:43:38.000000000","message":"-1: cgsnapshot.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":1648,"context_line":"            except Exception:"},{"line_number":1649,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":1650,"context_line":"                    LOG.error(_LE(\"Delete cg snapshots failed. \""},{"line_number":1651,"context_line":"                                  \"Cgsnapshot id: %s\"), cgsnapshot[\u0027id\u0027])"},{"line_number":1652,"context_line":""},{"line_number":1653,"context_line":"        return model_update, snapshots_model_update"},{"line_number":1654,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_8c80ecc1","line":1651,"range":{"start_line":1651,"start_character":56,"end_line":1651,"end_character":72},"in_reply_to":"1aa78d24_f3c35687","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"}],"cinder/volume/drivers/huawei/hypermetro.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    def create_consistencygroup(self, group):"},{"line_number":272,"context_line":"        LOG.info(_LI(\"Create Consistency Group: %(group)s.\"),"},{"line_number":273,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":274,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":275,"context_line":"        domain_name \u003d self.configuration.metro_domain_name"},{"line_number":276,"context_line":"        domain_id \u003d self.client.get_hyper_domain_id(domain_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_33bafe0a","line":273,"range":{"start_line":273,"start_character":27,"end_line":273,"end_character":38},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    def create_consistencygroup(self, group):"},{"line_number":272,"context_line":"        LOG.info(_LI(\"Create Consistency Group: %(group)s.\"),"},{"line_number":273,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":274,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":275,"context_line":"        domain_name \u003d self.configuration.metro_domain_name"},{"line_number":276,"context_line":"        domain_id \u003d self.client.get_hyper_domain_id(domain_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_6c80208c","line":273,"range":{"start_line":273,"start_character":27,"end_line":273,"end_character":38},"in_reply_to":"1aa78d24_33bafe0a","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":271,"context_line":"    def create_consistencygroup(self, group):"},{"line_number":272,"context_line":"        LOG.info(_LI(\"Create Consistency Group: %(group)s.\"),"},{"line_number":273,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":274,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":275,"context_line":"        domain_name \u003d self.configuration.metro_domain_name"},{"line_number":276,"context_line":"        domain_id \u003d self.client.get_hyper_domain_id(domain_name)"},{"line_number":277,"context_line":"        if not domain_name or not domain_id:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_d33f3a85","line":274,"range":{"start_line":274,"start_character":46,"end_line":274,"end_character":57},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":271,"context_line":"    def create_consistencygroup(self, group):"},{"line_number":272,"context_line":"        LOG.info(_LI(\"Create Consistency Group: %(group)s.\"),"},{"line_number":273,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":274,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":275,"context_line":"        domain_name \u003d self.configuration.metro_domain_name"},{"line_number":276,"context_line":"        domain_id \u003d self.client.get_hyper_domain_id(domain_name)"},{"line_number":277,"context_line":"        if not domain_name or not domain_id:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_4c7d64b0","line":274,"range":{"start_line":274,"start_character":46,"end_line":274,"end_character":57},"in_reply_to":"1aa78d24_d33f3a85","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def delete_consistencygroup(self, context, group, volumes):"},{"line_number":285,"context_line":"        LOG.info(_LI(\"Delete Consistency Group: %(group)s.\"),"},{"line_number":286,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":287,"context_line":"        model_update \u003d {}"},{"line_number":288,"context_line":"        volumes_model_update \u003d []"},{"line_number":289,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_5354eac8","line":286,"range":{"start_line":286,"start_character":27,"end_line":286,"end_character":38},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    def delete_consistencygroup(self, context, group, volumes):"},{"line_number":285,"context_line":"        LOG.info(_LI(\"Delete Consistency Group: %(group)s.\"),"},{"line_number":286,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":287,"context_line":"        model_update \u003d {}"},{"line_number":288,"context_line":"        volumes_model_update \u003d []"},{"line_number":289,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_2c61f805","line":286,"range":{"start_line":286,"start_character":27,"end_line":286,"end_character":38},"in_reply_to":"1aa78d24_5354eac8","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":287,"context_line":"        model_update \u003d {}"},{"line_number":288,"context_line":"        volumes_model_update \u003d []"},{"line_number":289,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":290,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"},{"line_number":291,"context_line":"        if metrogroup_id:"},{"line_number":292,"context_line":"            self.client.delete_metrogroup(metrogroup_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_33515ed9","line":289,"range":{"start_line":289,"start_character":33,"end_line":289,"end_character":48},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.status","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":287,"context_line":"        model_update \u003d {}"},{"line_number":288,"context_line":"        volumes_model_update \u003d []"},{"line_number":289,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":290,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"},{"line_number":291,"context_line":"        if metrogroup_id:"},{"line_number":292,"context_line":"            self.client.delete_metrogroup(metrogroup_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_ef07e215","line":289,"range":{"start_line":289,"start_character":33,"end_line":289,"end_character":48},"in_reply_to":"1aa78d24_33515ed9","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                                add_volumes, remove_volumes):"},{"line_number":304,"context_line":"        LOG.info(_LI(\"Update Consistency Group: %(group)s. \""},{"line_number":305,"context_line":"                     \"This adds or removes volumes from a CG.\"),"},{"line_number":306,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":307,"context_line":"        model_update \u003d {}"},{"line_number":308,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":309,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_13754263","line":306,"range":{"start_line":306,"start_character":27,"end_line":306,"end_character":38},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                                add_volumes, remove_volumes):"},{"line_number":304,"context_line":"        LOG.info(_LI(\"Update Consistency Group: %(group)s. \""},{"line_number":305,"context_line":"                     \"This adds or removes volumes from a CG.\"),"},{"line_number":306,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":307,"context_line":"        model_update \u003d {}"},{"line_number":308,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":309,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_6f4ad256","line":306,"range":{"start_line":306,"start_character":27,"end_line":306,"end_character":38},"in_reply_to":"1aa78d24_13754263","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":305,"context_line":"                     \"This adds or removes volumes from a CG.\"),"},{"line_number":306,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":307,"context_line":"        model_update \u003d {}"},{"line_number":308,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":309,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"},{"line_number":310,"context_line":"        if metrogroup_id:"},{"line_number":311,"context_line":"            # Deal with add volumes to CG"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_f3719677","line":308,"range":{"start_line":308,"start_character":33,"end_line":308,"end_character":48},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.status","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":305,"context_line":"                     \"This adds or removes volumes from a CG.\"),"},{"line_number":306,"context_line":"                 {\u0027group\u0027: group[\u0027id\u0027]})"},{"line_number":307,"context_line":"        model_update \u003d {}"},{"line_number":308,"context_line":"        model_update[\u0027status\u0027] \u003d group[\u0027status\u0027]"},{"line_number":309,"context_line":"        metrogroup_id \u003d self.check_consistencygroup_need_to_stop(group)"},{"line_number":310,"context_line":"        if metrogroup_id:"},{"line_number":311,"context_line":"            # Deal with add volumes to CG"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_af767aa1","line":308,"range":{"start_line":308,"start_character":33,"end_line":308,"end_character":48},"in_reply_to":"1aa78d24_f3719677","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"942780951cc2a151f91107c1d034be3b38d7e18f","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        return metro_id"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def check_consistencygroup_need_to_stop(self, group):"},{"line_number":353,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":354,"context_line":"        metrogroup_id \u003d self.client.get_metrogroup_by_name(group_name)"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        if metrogroup_id:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_d30d7ae9","line":353,"range":{"start_line":353,"start_character":46,"end_line":353,"end_character":57},"updated":"2016-07-06 08:43:38.000000000","message":"-1: group.id","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"894fe484fa2f98df0eb055b4ac0ca2cd806050e3","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        return metro_id"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"    def check_consistencygroup_need_to_stop(self, group):"},{"line_number":353,"context_line":"        group_name \u003d huawei_utils.encode_name(group[\u0027id\u0027])"},{"line_number":354,"context_line":"        metrogroup_id \u003d self.client.get_metrogroup_by_name(group_name)"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"        if metrogroup_id:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1aa78d24_2f6baab8","line":353,"range":{"start_line":353,"start_character":46,"end_line":353,"end_character":57},"in_reply_to":"1aa78d24_d30d7ae9","updated":"2016-07-06 11:40:55.000000000","message":"Done","commit_id":"ba552f8eec4785bd94095462295b8f9adc8a247f"}],"cinder/volume/drivers/huawei/rest_client.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"ca06ced4c3ca4f67965670b79d909b3df4bbb76d","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        return result[\u0027data\u0027]"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def get_lun_id(self, volume, volume_name):"},{"line_number":309,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027) or"},{"line_number":310,"context_line":"                  self.get_lun_id_by_name(volume_name))"},{"line_number":311,"context_line":"        if not lun_id:"},{"line_number":312,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5fdd5441","line":309,"range":{"start_line":309,"start_character":18,"end_line":309,"end_character":49},"updated":"2016-06-28 14:42:46.000000000","message":"same","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"},{"author":{"_account_id":13203,"name":"Wilson Liu","email":"295988511@qq.com","username":"Bob-OpenStack"},"change_message_id":"4433ca8ff6c39bdb11ae62a9b0db0782e11ee02e","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        return result[\u0027data\u0027]"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def get_lun_id(self, volume, volume_name):"},{"line_number":309,"context_line":"        lun_id \u003d (volume.get(\u0027provider_location\u0027) or"},{"line_number":310,"context_line":"                  self.get_lun_id_by_name(volume_name))"},{"line_number":311,"context_line":"        if not lun_id:"},{"line_number":312,"context_line":"            msg \u003d (_(\"Can\u0027t find lun info on the array. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_5d1b831b","line":309,"range":{"start_line":309,"start_character":18,"end_line":309,"end_character":49},"in_reply_to":"3aaa91ec_5fdd5441","updated":"2016-06-29 03:44:40.000000000","message":"Done","commit_id":"bfd7507a809c41e87cb4a803d6e91e7075e0bc16"}]}
