)]}'
{"tempest/common/waiters.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"bc373a8f18db89cf450bd9688bad21b00a6b6f8c","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fce034c_6eddfd6e","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"updated":"2019-04-17 09:11:06.000000000","message":"if new_host is in host and migration_status !\u003d \u0027success\u0027, shall we return?","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"bf2166907f55409f8a63b7ada0e9e1ce33481e59","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_63ac6e8c","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"3fce034c_6eddfd6e","updated":"2019-04-23 16:12:45.000000000","message":"Apologies, I missed this review. No, we need to ensure the os-migrate_volume_completion c-api has been called successfully, moving migration_status to \u0027success\u0027 regardless of the volume being moved between c-vol backends:\n\nhttps://opendev.org/openstack/cinder/src/commit/e843d89cb0ac87ed9e9f4d2be621f8b61fe943f6/cinder/volume/manager.py#L2375-L2414","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"0611e76def16ae1cb5eaa751e26adea552a7635e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_dcc16ae6","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_3b3773e6","updated":"2019-04-24 12:51:03.000000000","message":"I\u0027m sorry, I don\u0027t understand your question. AND is the correct conditional here and works as expected.","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b8787badfcaf598a410e7f5d453db594c08b5de4","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_afaec42b","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_63ac6e8c","updated":"2019-04-24 00:47:29.000000000","message":"oh, so I wonder why \"and\" is here while not \"or\"","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"fbc46224c13857d65a178f3cb8d72e825e805488","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_d81c1d6c","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_afaec42b","updated":"2019-04-24 06:57:51.000000000","message":"os-vol-host-attr:host is updated before migration_status so OR wouldn\u0027t wait long enough here. We could just wait for migration_status and assert os-vol-host-attr:host later but I don\u0027t think it matters either way as both would result in a failure.","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f01192ad0221f081249a30f9d3c038f7f11262a6","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_3b3773e6","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_d81c1d6c","updated":"2019-04-24 07:34:40.000000000","message":"Sorry I\u0027m a little confused.\nIf we should wait until both \u0027success\u0027 and new_host in host, then \"AND\" wouldn\u0027t wait long enough?","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"fc005f2a12a71dc5287088116687ddb9691e0c29","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_ea680e88","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_dcc16ae6","updated":"2019-04-25 01:25:48.000000000","message":"If migration_status is \u0027migrating\u0027 and new_host is in host, wait_for_volume_migration will return True, is this expected?","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"49ebe2828937addfb80ed620a39fdf7a178cb3fa","unresolved":false,"context_lines":[{"line_number":221,"context_line":"    start \u003d int(time.time())"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    # new_host is hostname@backend while current_host is hostname@backend#type"},{"line_number":224,"context_line":"    while migration_status !\u003d \u0027success\u0027 and new_host not in host:"},{"line_number":225,"context_line":"        time.sleep(client.build_interval)"},{"line_number":226,"context_line":"        body \u003d client.show_volume(volume_id)[\u0027volume\u0027]"},{"line_number":227,"context_line":"        host \u003d body[\u0027os-vol-host-attr:host\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_31b219e8","line":224,"range":{"start_line":224,"start_character":40,"end_line":224,"end_character":43},"in_reply_to":"ffb9cba7_ea680e88","updated":"2019-04-25 09:31:17.000000000","message":"Doh, apologies I see your point now. I\u0027ll respin and add tests to validate the use of OR.","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"}],"tempest/lib/services/volume/v3/volumes_client.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"bc373a8f18db89cf450bd9688bad21b00a6b6f8c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            return params"},{"line_number":36,"context_line":"        return urllib.urlencode(params)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def list_hosts(self):"},{"line_number":39,"context_line":"        \"\"\"Lists all hosts summary info that is not disabled."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-all-hosts-for-a-project"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fce034c_eed24d5c","line":38,"range":{"start_line":38,"start_character":7,"end_line":38,"end_character":25},"updated":"2019-04-17 09:11:06.000000000","message":"Better to add a reno for adding a new interface?","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"bf2166907f55409f8a63b7ada0e9e1ce33481e59","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            return params"},{"line_number":36,"context_line":"        return urllib.urlencode(params)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def list_hosts(self):"},{"line_number":39,"context_line":"        \"\"\"Lists all hosts summary info that is not disabled."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v3/index.html#list-all-hosts-for-a-project"}],"source_content_type":"text/x-python","patch_set":14,"id":"ffb9cba7_63c54e3c","line":38,"range":{"start_line":38,"start_character":7,"end_line":38,"end_character":25},"in_reply_to":"3fce034c_eed24d5c","updated":"2019-04-23 16:12:45.000000000","message":"Sure if that\u0027s really required I\u0027ll respin now with a note.","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"}],"tempest/scenario/test_volume_migrate_attached.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"83a3caa130afe99019642e9ca1de0476a7cf3bbf","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def skip_checks(cls):"},{"line_number":47,"context_line":"        super(TestVolumeMigrateRetypeAttached, cls).skip_checks()"},{"line_number":48,"context_line":"        if not CONF.volume_feature_enabled.multi_backend:"},{"line_number":49,"context_line":"            raise cls.skipException(\"Cinder multi-backend feature disabled\")"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if len(set(CONF.volume.backend_names)) \u003c 2:"},{"line_number":52,"context_line":"            raise cls.skipException(\"Requires at least two different \""},{"line_number":53,"context_line":"                                    \"backend names\")"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def _boot_instance_from_volume(self, vol_id, keypair, security_group):"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_8c539f39","line":53,"range":{"start_line":47,"start_character":0,"end_line":53,"end_character":52},"updated":"2019-02-22 14:39:52.000000000","message":"This isn\u0027t relevant to the new test. Instead you need to assert that we have multiple c-vols, which we\u0027re actually not doing here.","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"c5bcf7cb4fd2ae62a0cb4e836182db24edcace36","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def skip_checks(cls):"},{"line_number":47,"context_line":"        super(TestVolumeMigrateRetypeAttached, cls).skip_checks()"},{"line_number":48,"context_line":"        if not CONF.volume_feature_enabled.multi_backend:"},{"line_number":49,"context_line":"            raise cls.skipException(\"Cinder multi-backend feature disabled\")"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        if len(set(CONF.volume.backend_names)) \u003c 2:"},{"line_number":52,"context_line":"            raise cls.skipException(\"Requires at least two different \""},{"line_number":53,"context_line":"                                    \"backend names\")"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def _boot_instance_from_volume(self, vol_id, keypair, security_group):"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_a50a1ace","line":53,"range":{"start_line":47,"start_character":0,"end_line":53,"end_character":52},"in_reply_to":"9fdfeff1_8c539f39","updated":"2019-02-25 11:56:11.000000000","message":"As discussed, I\u0027ve misunderstood cinder\u0027s definition of \u0027host\u0027 here, which is actually \u0027\u003cnode\u003e@\u003cbackend\u003e\u0027. By this definition, if we have at least 2 backends, we must also have at least 2 \u0027hosts\u0027, so this is fine.","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"c5bcf7cb4fd2ae62a0cb4e836182db24edcace36","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            # We are looking for a c-vol service with a host@backend host_name"},{"line_number":160,"context_line":"            # that isn\u0027t part of the host currently hosting the volume."},{"line_number":161,"context_line":"            if (host[\u0027service\u0027] \u003d\u003d \u0027cinder-volume\u0027 and"},{"line_number":162,"context_line":"                host[\u0027host_name\u0027] not in src_host):"},{"line_number":163,"context_line":"                dest_host \u003d host[\u0027host_name\u0027]"},{"line_number":164,"context_line":"                break"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_85003636","line":162,"range":{"start_line":162,"start_character":34,"end_line":162,"end_character":40},"updated":"2019-02-25 11:56:11.000000000","message":"src_host.startswith() instead of not in, and a comment explaining that they\u0027re not in the same format?","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"83a3caa130afe99019642e9ca1de0476a7cf3bbf","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        # Identify the source and destination hosts for the migration"},{"line_number":156,"context_line":"        src_host \u003d volume[\u0027volume\u0027][\u0027os-vol-host-attr:host\u0027]"},{"line_number":157,"context_line":"        hosts \u003d self.admin_volumes_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":158,"context_line":"        for host in hosts:"},{"line_number":159,"context_line":"            # We are looking for a c-vol service with a host@backend host_name"},{"line_number":160,"context_line":"            # that isn\u0027t part of the host currently hosting the volume."},{"line_number":161,"context_line":"            if (host[\u0027service\u0027] \u003d\u003d \u0027cinder-volume\u0027 and"},{"line_number":162,"context_line":"                host[\u0027host_name\u0027] not in src_host):"},{"line_number":163,"context_line":"                dest_host \u003d host[\u0027host_name\u0027]"},{"line_number":164,"context_line":"                break"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        LOG.info(\"Migrating Volume %s from host %s to host %s\","},{"line_number":167,"context_line":"                 volume_id, src_host, dest_host)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_ec126b62","line":164,"range":{"start_line":157,"start_character":0,"end_line":164,"end_character":21},"updated":"2019-02-22 14:39:52.000000000","message":"We need to skip if dest_host would be None here.","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"c5bcf7cb4fd2ae62a0cb4e836182db24edcace36","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        # Identify the source and destination hosts for the migration"},{"line_number":156,"context_line":"        src_host \u003d volume[\u0027volume\u0027][\u0027os-vol-host-attr:host\u0027]"},{"line_number":157,"context_line":"        hosts \u003d self.admin_volumes_client.list_hosts()[\u0027hosts\u0027]"},{"line_number":158,"context_line":"        for host in hosts:"},{"line_number":159,"context_line":"            # We are looking for a c-vol service with a host@backend host_name"},{"line_number":160,"context_line":"            # that isn\u0027t part of the host currently hosting the volume."},{"line_number":161,"context_line":"            if (host[\u0027service\u0027] \u003d\u003d \u0027cinder-volume\u0027 and"},{"line_number":162,"context_line":"                host[\u0027host_name\u0027] not in src_host):"},{"line_number":163,"context_line":"                dest_host \u003d host[\u0027host_name\u0027]"},{"line_number":164,"context_line":"                break"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        LOG.info(\"Migrating Volume %s from host %s to host %s\","},{"line_number":167,"context_line":"                 volume_id, src_host, dest_host)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_851ef609","line":164,"range":{"start_line":157,"start_character":0,"end_line":164,"end_character":21},"in_reply_to":"9fdfeff1_ec126b62","updated":"2019-02-25 11:56:11.000000000","message":"Debatable in light of the above. It would be nicer to assert dest_host is not None here, but if we don\u0027t it\u0027ll still explode below in a manner which should require minimal sleuthing, and with 2 backends we\u0027re not expecting this to happen.","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"c5bcf7cb4fd2ae62a0cb4e836182db24edcace36","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        timestamp2 \u003d self.get_timestamp(ip_instance,"},{"line_number":175,"context_line":"                                        private_key\u003dkeypair[\u0027private_key\u0027],"},{"line_number":176,"context_line":"                                        server\u003dinstance)"},{"line_number":177,"context_line":"        self.assertEqual(timestamp, timestamp2)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_85d7d6bf","line":177,"updated":"2019-02-25 11:56:11.000000000","message":"IIUC, this test would not currently fail for the bug we\u0027re trying to fix, and therefore doesn\u0027t test it. The bug is that following migration we\u0027ve got a new volume_id. We should add assertions here that the volume_id has not changed, similar to what I did in my soon-to-be-abandoned change:\n\n  https://review.openstack.org/#/c/618533/3/tempest/scenario/test_volume_migrate_attached.py\n\nWe should also add the same assertions to the retype test. Retype *should* currently work, but the assertions there will be useful to ensure we don\u0027t regress.","commit_id":"f891b39d55b0c57ffadfa447c99a274251eefc9d"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a50bbedd4cd492bcd310bab7e31d855967afcaa3","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":98,"context_line":"    @decorators.idempotent_id(\u0027deadd2c2-beef-4dce-98be-f86765ff311b\u0027)"},{"line_number":99,"context_line":"    @utils.services(\u0027compute\u0027, \u0027volume\u0027)"},{"line_number":100,"context_line":"    def test_volume_retype_attached(self):"},{"line_number":101,"context_line":"        LOG.info(\"Creating keypair and security group\")"},{"line_number":102,"context_line":"        keypair \u003d self.create_keypair()"},{"line_number":103,"context_line":"        security_group \u003d self._create_security_group()"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fce034c_e773b94c","line":100,"updated":"2019-04-11 11:00:19.000000000","message":"I was worried about this naming change. There are two usages of \u0027test_volume_migrate_attached\u0027. But it looks matching with the module name not for this test function name. So, I think it\u0027s OK to change the name. http://codesearch.openstack.org/?q\u003dtest_volume_migrate_attached\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"57ace134b6822e4cba9cfe9c6e56e11c0c3eb0f9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":98,"context_line":"    @decorators.idempotent_id(\u0027deadd2c2-beef-4dce-98be-f86765ff311b\u0027)"},{"line_number":99,"context_line":"    @utils.services(\u0027compute\u0027, \u0027volume\u0027)"},{"line_number":100,"context_line":"    def test_volume_retype_attached(self):"},{"line_number":101,"context_line":"        LOG.info(\"Creating keypair and security group\")"},{"line_number":102,"context_line":"        keypair \u003d self.create_keypair()"},{"line_number":103,"context_line":"        security_group \u003d self._create_security_group()"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fce034c_27aea12e","line":100,"in_reply_to":"3fce034c_e773b94c","updated":"2019-04-11 11:21:06.000000000","message":"Yeah correct, so this shouldn\u0027t impact anything AFAIK and just ensures the actual test is named correctly.","commit_id":"fbbb5ddb733cd973a25b5c3569cbee3611592d14"}]}
