)]}'
{"manila_tempest_tests/common/constants.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":23,"context_line":"STATUS_SHRINKING_POSSIBLE_DATA_LOSS_ERROR \u003d ("},{"line_number":24,"context_line":"    \u0027shrinking_possible_data_loss_error\u0027)"},{"line_number":25,"context_line":"TEMPEST_MANILA_PREFIX \u003d \u0027tempest-manila\u0027"},{"line_number":26,"context_line":"STATUS_SERVER_MIGRATING \u003d \u0027server_migrating\u0027"},{"line_number":27,"context_line":"STATUS_SERVER_MIGRATING_TO \u003d \u0027server_migrating_to\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Replication"},{"line_number":30,"context_line":"REPLICATION_STYLE_READABLE \u003d \u0027readable\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_7842f910","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":50},"updated":"2020-08-22 13:56:10.000000000","message":"server status are at the end, or rename to STATUS_MIGRATING and STATUS_MIGRATION_TO since they are shared between servers and instances","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":23,"context_line":"STATUS_SHRINKING_POSSIBLE_DATA_LOSS_ERROR \u003d ("},{"line_number":24,"context_line":"    \u0027shrinking_possible_data_loss_error\u0027)"},{"line_number":25,"context_line":"TEMPEST_MANILA_PREFIX \u003d \u0027tempest-manila\u0027"},{"line_number":26,"context_line":"STATUS_SERVER_MIGRATING \u003d \u0027server_migrating\u0027"},{"line_number":27,"context_line":"STATUS_SERVER_MIGRATING_TO \u003d \u0027server_migrating_to\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# Replication"},{"line_number":30,"context_line":"REPLICATION_STYLE_READABLE \u003d \u0027readable\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_06c7d165","line":27,"range":{"start_line":26,"start_character":0,"end_line":27,"end_character":50},"in_reply_to":"9f560f44_7842f910","updated":"2020-08-27 13:47:29.000000000","message":"I will address this in the next PS.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"}],"manila_tempest_tests/services/share/v2/json/shares_client.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5b30a193a1f2cf40ccea9d410c2d9051e3d5f0a2","unresolved":false,"context_lines":[{"line_number":2100,"context_line":"        }"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"        body \u003d json.dumps(body)"},{"line_number":2103,"context_line":"        result \u003d self.post(\u0027share-servers/%s/action\u0027 % share_server_id, body,"},{"line_number":2104,"context_line":"                           headers\u003dEXPERIMENTAL, extra_headers\u003dTrue,"},{"line_number":2105,"context_line":"                           version\u003dversion)"},{"line_number":2106,"context_line":"        return json.loads(result[1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_bb5e4642","line":2103,"range":{"start_line":2103,"start_character":8,"end_line":2103,"end_character":14},"updated":"2020-09-09 04:54:45.000000000","message":"Here and below, these HTTP methods return a tuple:\n\n resp, body\n\nwith it, you can check resp.status as suggested below, and return the json formatted body.","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"91eb6323392b4edbfb648d38475669ab52136d86","unresolved":false,"context_lines":[{"line_number":2100,"context_line":"        }"},{"line_number":2101,"context_line":""},{"line_number":2102,"context_line":"        body \u003d json.dumps(body)"},{"line_number":2103,"context_line":"        result \u003d self.post(\u0027share-servers/%s/action\u0027 % share_server_id, body,"},{"line_number":2104,"context_line":"                           headers\u003dEXPERIMENTAL, extra_headers\u003dTrue,"},{"line_number":2105,"context_line":"                           version\u003dversion)"},{"line_number":2106,"context_line":"        return json.loads(result[1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_2479562e","line":2103,"range":{"start_line":2103,"start_character":8,"end_line":2103,"end_character":14},"in_reply_to":"9f560f44_bb5e4642","updated":"2020-09-10 16:58:12.000000000","message":"Done","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5b30a193a1f2cf40ccea9d410c2d9051e3d5f0a2","unresolved":false,"context_lines":[{"line_number":2103,"context_line":"        result \u003d self.post(\u0027share-servers/%s/action\u0027 % share_server_id, body,"},{"line_number":2104,"context_line":"                           headers\u003dEXPERIMENTAL, extra_headers\u003dTrue,"},{"line_number":2105,"context_line":"                           version\u003dversion)"},{"line_number":2106,"context_line":"        return json.loads(result[1])"},{"line_number":2107,"context_line":""},{"line_number":2108,"context_line":"    def share_server_migration_start(self, share_server_id, host,"},{"line_number":2109,"context_line":"                                     writable\u003dFalse, new_share_network_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_db517a32","line":2106,"range":{"start_line":2106,"start_character":8,"end_line":2106,"end_character":36},"updated":"2020-09-09 04:54:45.000000000","message":"Add: \n\n self.expected_success(200, resp.status)\n return body","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"91eb6323392b4edbfb648d38475669ab52136d86","unresolved":false,"context_lines":[{"line_number":2103,"context_line":"        result \u003d self.post(\u0027share-servers/%s/action\u0027 % share_server_id, body,"},{"line_number":2104,"context_line":"                           headers\u003dEXPERIMENTAL, extra_headers\u003dTrue,"},{"line_number":2105,"context_line":"                           version\u003dversion)"},{"line_number":2106,"context_line":"        return json.loads(result[1])"},{"line_number":2107,"context_line":""},{"line_number":2108,"context_line":"    def share_server_migration_start(self, share_server_id, host,"},{"line_number":2109,"context_line":"                                     writable\u003dFalse, new_share_network_id\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_436453b9","line":2106,"range":{"start_line":2106,"start_character":8,"end_line":2106,"end_character":36},"in_reply_to":"9f560f44_db517a32","updated":"2020-09-10 16:58:12.000000000","message":"Done","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"}],"manila_tempest_tests/tests/api/admin/test_share_servers_migration.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def resource_setup(cls):"},{"line_number":44,"context_line":"        super(MigrationShareServerBase, cls).resource_setup()"},{"line_number":45,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":46,"context_line":"        cls.pools \u003d [pool[\u0027pool\u0027] for pool in cls.all_hosts[\u0027pools\u0027]]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if len(cls.pools) \u003c 2:"},{"line_number":49,"context_line":"            msg \u003d (\"Could not find the necessary pools. At least two\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_987a6d74","line":46,"range":{"start_line":46,"start_character":8,"end_line":46,"end_character":69},"updated":"2020-08-22 13:56:10.000000000","message":"1. if you always split the pools from the backends, you should create a list of backends here, thus avoiding triggering migration checks to the same backend.\n\n2. filter backends that are dhss\u003dfalse","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def resource_setup(cls):"},{"line_number":44,"context_line":"        super(MigrationShareServerBase, cls).resource_setup()"},{"line_number":45,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":46,"context_line":"        cls.pools \u003d [pool[\u0027pool\u0027] for pool in cls.all_hosts[\u0027pools\u0027]]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if len(cls.pools) \u003c 2:"},{"line_number":49,"context_line":"            msg \u003d (\"Could not find the necessary pools. At least two\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d27754d3","line":46,"range":{"start_line":46,"start_character":8,"end_line":46,"end_character":69},"in_reply_to":"9f560f44_987a6d74","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":46,"context_line":"        cls.pools \u003d [pool[\u0027pool\u0027] for pool in cls.all_hosts[\u0027pools\u0027]]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if len(cls.pools) \u003c 2:"},{"line_number":49,"context_line":"            msg \u003d (\"Could not find the necessary pools. At least two\""},{"line_number":50,"context_line":"                   \" two are needed to run the tests of share server\""},{"line_number":51,"context_line":"                   \" migration\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_58d2955d","line":48,"range":{"start_line":48,"start_character":9,"end_line":48,"end_character":29},"updated":"2020-08-22 13:56:10.000000000","message":"Since we are migration between backends, we should tests if len(backends) \u003c 2","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":46,"context_line":"        cls.pools \u003d [pool[\u0027pool\u0027] for pool in cls.all_hosts[\u0027pools\u0027]]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        if len(cls.pools) \u003c 2:"},{"line_number":49,"context_line":"            msg \u003d (\"Could not find the necessary pools. At least two\""},{"line_number":50,"context_line":"                   \" two are needed to run the tests of share server\""},{"line_number":51,"context_line":"                   \" migration\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b272a0e1","line":48,"range":{"start_line":48,"start_character":9,"end_line":48,"end_character":29},"in_reply_to":"9f560f44_58d2955d","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                   \" migration\")"},{"line_number":52,"context_line":"            raise cls.skipException(msg)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        cls.preserve_snapshot \u003d ("},{"line_number":55,"context_line":"            True"},{"line_number":56,"context_line":"            if CONF.share.capability_snapshot_support"},{"line_number":57,"context_line":"            else False)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # create share type (generic)"},{"line_number":60,"context_line":"        cls.share_type \u003d cls._create_share_type()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_18e3fd35","line":57,"range":{"start_line":54,"start_character":0,"end_line":57,"end_character":23},"updated":"2020-08-22 13:56:10.000000000","message":"This is not always true, a driver might support create snapshots but not preserving them through the migration process. I have an idea to replace this in a comment below.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                   \" migration\")"},{"line_number":52,"context_line":"            raise cls.skipException(msg)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        cls.preserve_snapshot \u003d ("},{"line_number":55,"context_line":"            True"},{"line_number":56,"context_line":"            if CONF.share.capability_snapshot_support"},{"line_number":57,"context_line":"            else False)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # create share type (generic)"},{"line_number":60,"context_line":"        cls.share_type \u003d cls._create_share_type()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f27898c1","line":57,"range":{"start_line":54,"start_character":0,"end_line":57,"end_character":23},"in_reply_to":"9f560f44_18e3fd35","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # (andrer) Verify if have at least one backend compatible with"},{"line_number":72,"context_line":"        # the specified share server."},{"line_number":73,"context_line":"        dest_host, _ \u003d self._choose_matching_backend_for_share_server("},{"line_number":74,"context_line":"            server_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # (andrer) Check the share export locations."},{"line_number":77,"context_line":"        old_exports \u003d self.shares_v2_client.list_share_export_locations("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_386521b6","line":74,"range":{"start_line":73,"start_character":0,"end_line":74,"end_character":22},"updated":"2020-08-22 13:56:10.000000000","message":"move to the beginning of the method and get the \u0027compatible\u0027 dict returned by the migration_check command.\nif compatible[\u0027preserve_snapshots\u0027] is True, you can create a snapshot for the share to be migrated.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # (andrer) Verify if have at least one backend compatible with"},{"line_number":72,"context_line":"        # the specified share server."},{"line_number":73,"context_line":"        dest_host, _ \u003d self._choose_matching_backend_for_share_server("},{"line_number":74,"context_line":"            server_id)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        # (andrer) Check the share export locations."},{"line_number":77,"context_line":"        old_exports \u003d self.shares_v2_client.list_share_export_locations("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_524d0498","line":74,"range":{"start_line":73,"start_character":0,"end_line":74,"end_character":22},"in_reply_to":"9f560f44_386521b6","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.assertIn(src_server[\u0027task_state\u0027], statuses)"},{"line_number":131,"context_line":"        self.assertIn(dest_server[\u0027task_state\u0027], statuses)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _validate_instances_states(self, share, snapshot, status_to_wait):"},{"line_number":134,"context_line":"        \"\"\"Validates the share and snapshot status.\"\"\""},{"line_number":135,"context_line":"        statuses \u003d ((status_to_wait,)"},{"line_number":136,"context_line":"                    if not isinstance(status_to_wait, (tuple, list, set))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b894918c","line":133,"range":{"start_line":133,"start_character":48,"end_line":133,"end_character":56},"updated":"2020-08-22 13:56:10.000000000","message":"\u0027snapshot\u003dNone\u0027 and move to the end of the parameters","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.assertIn(src_server[\u0027task_state\u0027], statuses)"},{"line_number":131,"context_line":"        self.assertIn(dest_server[\u0027task_state\u0027], statuses)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _validate_instances_states(self, share, snapshot, status_to_wait):"},{"line_number":134,"context_line":"        \"\"\"Validates the share and snapshot status.\"\"\""},{"line_number":135,"context_line":"        statuses \u003d ((status_to_wait,)"},{"line_number":136,"context_line":"                    if not isinstance(status_to_wait, (tuple, list, set))"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_32505032","line":133,"range":{"start_line":133,"start_character":48,"end_line":133,"end_character":56},"in_reply_to":"9f560f44_b894918c","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            self.assertIn(snapshot[\u0027status\u0027], statuses)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def _validate_share_server_migration_phase2("},{"line_number":147,"context_line":"        self, share, dest_host, status_to_wait, src_server_id, dest_server_id,"},{"line_number":148,"context_line":"        snapshot\u003dNone, share_network_id\u003dNone,"},{"line_number":149,"context_line":"        version\u003dCONF.share.max_api_microversion):"},{"line_number":150,"context_line":"        \"\"\"Validates the share server migration complete. \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f8b8c911","line":147,"range":{"start_line":147,"start_character":32,"end_line":147,"end_character":46},"updated":"2020-08-22 13:56:10.000000000","message":"\u0027server_status\u0027? since you aren\u0027t waiting nothing, just asserting","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            self.assertIn(snapshot[\u0027status\u0027], statuses)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def _validate_share_server_migration_phase2("},{"line_number":147,"context_line":"        self, share, dest_host, status_to_wait, src_server_id, dest_server_id,"},{"line_number":148,"context_line":"        snapshot\u003dNone, share_network_id\u003dNone,"},{"line_number":149,"context_line":"        version\u003dCONF.share.max_api_microversion):"},{"line_number":150,"context_line":"        \"\"\"Validates the share server migration complete. \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_122c2caa","line":147,"range":{"start_line":147,"start_character":32,"end_line":147,"end_character":46},"in_reply_to":"9f560f44_f8b8c911","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def _validate_share_server_migration_phase2("},{"line_number":147,"context_line":"        self, share, dest_host, status_to_wait, src_server_id, dest_server_id,"},{"line_number":148,"context_line":"        snapshot\u003dNone, share_network_id\u003dNone,"},{"line_number":149,"context_line":"        version\u003dCONF.share.max_api_microversion):"},{"line_number":150,"context_line":"        \"\"\"Validates the share server migration complete. \"\"\""},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_18bc9d04","line":148,"range":{"start_line":148,"start_character":10,"end_line":148,"end_character":21},"updated":"2020-08-22 13:56:10.000000000","message":"\u0027snapshot_id\u003dNone\u0027 since other parameters are ids?","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def _validate_share_server_migration_phase2("},{"line_number":147,"context_line":"        self, share, dest_host, status_to_wait, src_server_id, dest_server_id,"},{"line_number":148,"context_line":"        snapshot\u003dNone, share_network_id\u003dNone,"},{"line_number":149,"context_line":"        version\u003dCONF.share.max_api_microversion):"},{"line_number":150,"context_line":"        \"\"\"Validates the share server migration complete. \"\"\""},{"line_number":151,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f226d8ca","line":148,"range":{"start_line":148,"start_character":10,"end_line":148,"end_character":21},"in_reply_to":"9f560f44_18bc9d04","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def _choose_matching_backend_for_share_server(self, server_id):"},{"line_number":218,"context_line":"        \"\"\"Choose a compatible host for the share server migration.\"\"\""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        for host in self.all_hosts[\u0027pools\u0027]:"},{"line_number":221,"context_line":"            backend \u003d host[\u0027name\u0027].split(\u0027#\u0027)[0]"},{"line_number":222,"context_line":"            compatibility \u003d ("},{"line_number":223,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_98ef0d1c","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":44},"updated":"2020-08-22 13:56:10.000000000","message":"loop in backends list","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def _choose_matching_backend_for_share_server(self, server_id):"},{"line_number":218,"context_line":"        \"\"\"Choose a compatible host for the share server migration.\"\"\""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        for host in self.all_hosts[\u0027pools\u0027]:"},{"line_number":221,"context_line":"            backend \u003d host[\u0027name\u0027].split(\u0027#\u0027)[0]"},{"line_number":222,"context_line":"            compatibility \u003d ("},{"line_number":223,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f2fff8fe","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":44},"in_reply_to":"9f560f44_98ef0d1c","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def _choose_incompatible_backend_for_share_server(self, server_id):"},{"line_number":233,"context_line":"        \"\"\"Choose a not compatible host for the share server migration.\"\"\""},{"line_number":234,"context_line":"        for host in self.all_hosts[\u0027pools\u0027]:"},{"line_number":235,"context_line":"            backend \u003d host[\u0027name\u0027].split(\u0027#\u0027)[0]"},{"line_number":236,"context_line":"            compatibility \u003d ("},{"line_number":237,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_383c0192","line":234,"range":{"start_line":234,"start_character":7,"end_line":234,"end_character":44},"updated":"2020-08-22 13:56:10.000000000","message":"same as above","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def _choose_incompatible_backend_for_share_server(self, server_id):"},{"line_number":233,"context_line":"        \"\"\"Choose a not compatible host for the share server migration.\"\"\""},{"line_number":234,"context_line":"        for host in self.all_hosts[\u0027pools\u0027]:"},{"line_number":235,"context_line":"            backend \u003d host[\u0027name\u0027].split(\u0027#\u0027)[0]"},{"line_number":236,"context_line":"            compatibility \u003d ("},{"line_number":237,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_4600a901","line":234,"range":{"start_line":234,"start_character":7,"end_line":234,"end_character":44},"in_reply_to":"9f560f44_383c0192","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            compatibility \u003d ("},{"line_number":237,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("},{"line_number":238,"context_line":"                    share_server_id\u003dserver_id, host\u003dbackend,"},{"line_number":239,"context_line":"                    preserve_snapshots\u003dself.preserve_snapshot))"},{"line_number":240,"context_line":"            if not compatibility[\u0027compatible\u0027]:"},{"line_number":241,"context_line":"                return backend, compatibility"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b8701174","line":239,"range":{"start_line":239,"start_character":39,"end_line":239,"end_character":61},"updated":"2020-08-22 13:56:10.000000000","message":"Set to False and wait the answer from the driver, to see if supports it or not.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":236,"context_line":"            compatibility \u003d ("},{"line_number":237,"context_line":"                self.admin_shares_v2_client.share_server_migration_check("},{"line_number":238,"context_line":"                    share_server_id\u003dserver_id, host\u003dbackend,"},{"line_number":239,"context_line":"                    preserve_snapshots\u003dself.preserve_snapshot))"},{"line_number":240,"context_line":"            if not compatibility[\u0027compatible\u0027]:"},{"line_number":241,"context_line":"                return backend, compatibility"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_2603f50e","line":239,"range":{"start_line":239,"start_character":39,"end_line":239,"end_character":61},"in_reply_to":"9f560f44_b8701174","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        return dest_server[0][\u0027id\u0027]"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def _share_server_migration_phase1(self, dest_host, src_server_id,"},{"line_number":255,"context_line":"                                       dest_share_network_id):"},{"line_number":256,"context_line":"        \"\"\"Perform the share server migration phase 1.\"\"\""},{"line_number":257,"context_line":"        self.shares_v2_client.share_server_migration_start("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b847711d","line":254,"range":{"start_line":254,"start_character":8,"end_line":254,"end_character":38},"updated":"2020-08-22 13:56:10.000000000","message":"\u0027_share_server_migration_start\u0027 or \u0027_share_server_start_migration\u0027 or\n\u0027_share_server_migration_start_and_wait\u0027","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"        return dest_server[0][\u0027id\u0027]"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    def _share_server_migration_phase1(self, dest_host, src_server_id,"},{"line_number":255,"context_line":"                                       dest_share_network_id):"},{"line_number":256,"context_line":"        \"\"\"Perform the share server migration phase 1.\"\"\""},{"line_number":257,"context_line":"        self.shares_v2_client.share_server_migration_start("}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_66096d29","line":254,"range":{"start_line":254,"start_character":8,"end_line":254,"end_character":38},"in_reply_to":"9f560f44_b847711d","updated":"2020-08-27 13:47:29.000000000","message":"Removed.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.shares_v2_client.share_server_migration_start("},{"line_number":258,"context_line":"            src_server_id, dest_host,"},{"line_number":259,"context_line":"            new_share_network_id\u003ddest_share_network_id,"},{"line_number":260,"context_line":"            preserve_snapshots\u003dself.preserve_snapshot)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        # (andrer) It\u0027s necessary wait for the Driver phase1 done status"},{"line_number":263,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_383361ad","line":260,"range":{"start_line":260,"start_character":31,"end_line":260,"end_character":53},"updated":"2020-08-22 13:56:10.000000000","message":"get from a function parameter.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        self.shares_v2_client.share_server_migration_start("},{"line_number":258,"context_line":"            src_server_id, dest_host,"},{"line_number":259,"context_line":"            new_share_network_id\u003ddest_share_network_id,"},{"line_number":260,"context_line":"            preserve_snapshots\u003dself.preserve_snapshot)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        # (andrer) It\u0027s necessary wait for the Driver phase1 done status"},{"line_number":263,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_061a316d","line":260,"range":{"start_line":260,"start_character":31,"end_line":260,"end_character":53},"in_reply_to":"9f560f44_383361ad","updated":"2020-08-27 13:47:29.000000000","message":"Added inside the tests.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        self.shares_v2_client.wait_for_share_server_state(src_server_id,"},{"line_number":265,"context_line":"                                                          task_state)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def _reset_share_servers_status(self, src_server_id, dest_server_id):"},{"line_number":268,"context_line":"        self.shares_v2_client.share_server_reset_state("},{"line_number":269,"context_line":"            src_server_id, constants.SERVER_STATE_ERROR)"},{"line_number":270,"context_line":"        self.shares_v2_client.share_server_reset_state("},{"line_number":271,"context_line":"            dest_server_id, constants.SERVER_STATE_ERROR)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def _get_access_rule_data_for_protocols(self):"},{"line_number":274,"context_line":"        \"\"\"Return fake data for access rules based on configured protocol.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b87ad120","line":271,"range":{"start_line":267,"start_character":0,"end_line":271,"end_character":57},"updated":"2020-08-22 13:56:10.000000000","message":"remove it if you are not using in any other place","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        self.shares_v2_client.wait_for_share_server_state(src_server_id,"},{"line_number":265,"context_line":"                                                          task_state)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def _reset_share_servers_status(self, src_server_id, dest_server_id):"},{"line_number":268,"context_line":"        self.shares_v2_client.share_server_reset_state("},{"line_number":269,"context_line":"            src_server_id, constants.SERVER_STATE_ERROR)"},{"line_number":270,"context_line":"        self.shares_v2_client.share_server_reset_state("},{"line_number":271,"context_line":"            dest_server_id, constants.SERVER_STATE_ERROR)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def _get_access_rule_data_for_protocols(self):"},{"line_number":274,"context_line":"        \"\"\"Return fake data for access rules based on configured protocol.\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_e6145d43","line":271,"range":{"start_line":267,"start_character":0,"end_line":271,"end_character":57},"in_reply_to":"9f560f44_b87ad120","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        if compatible:"},{"line_number":408,"context_line":"            dest_host, result \u003d self._choose_matching_backend_for_share_server("},{"line_number":409,"context_line":"                server_id\u003dshare[\u0027share_server_id\u0027])"},{"line_number":410,"context_line":"            self.assertTrue(result[\u0027compatible\u0027], True)"},{"line_number":411,"context_line":"            self.assertEqual(result[\u0027requested_capabilities\u0027][\u0027host\u0027],"},{"line_number":412,"context_line":"                             dest_host)"},{"line_number":413,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d894e546","line":410,"range":{"start_line":410,"start_character":48,"end_line":410,"end_character":54},"updated":"2020-08-22 13:56:10.000000000","message":"remove","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        if compatible:"},{"line_number":408,"context_line":"            dest_host, result \u003d self._choose_matching_backend_for_share_server("},{"line_number":409,"context_line":"                server_id\u003dshare[\u0027share_server_id\u0027])"},{"line_number":410,"context_line":"            self.assertTrue(result[\u0027compatible\u0027], True)"},{"line_number":411,"context_line":"            self.assertEqual(result[\u0027requested_capabilities\u0027][\u0027host\u0027],"},{"line_number":412,"context_line":"                             dest_host)"},{"line_number":413,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_262c9597","line":410,"range":{"start_line":410,"start_character":48,"end_line":410,"end_character":54},"in_reply_to":"9f560f44_d894e546","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5b30a193a1f2cf40ccea9d410c2d9051e3d5f0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9f560f44_9b20a2b2","updated":"2020-09-09 04:54:45.000000000","message":"Please run the following command from the manila-tempest-plugin repo to add UUIDs to these new test cases:\n\n tox -euuidgen","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5b30a193a1f2cf40ccea9d410c2d9051e3d5f0a2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def resource_setup(cls):"},{"line_number":45,"context_line":"        super(MigrationShareServerBase, cls).resource_setup()"},{"line_number":46,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":47,"context_line":"        cls.backends \u003d set()"},{"line_number":48,"context_line":"        for pool in cls.all_hosts[\u0027pools\u0027]:"},{"line_number":49,"context_line":"            if pool[\u0027capabilities\u0027].get(\u0027driver_handles_share_servers\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_bb0c8642","line":46,"range":{"start_line":46,"start_character":24,"end_line":46,"end_character":25},"updated":"2020-09-09 04:54:45.000000000","message":"nit: redundant parenthesis","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"91eb6323392b4edbfb648d38475669ab52136d86","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    @classmethod"},{"line_number":44,"context_line":"    def resource_setup(cls):"},{"line_number":45,"context_line":"        super(MigrationShareServerBase, cls).resource_setup()"},{"line_number":46,"context_line":"        cls.all_hosts \u003d (cls.shares_v2_client.list_pools(detail\u003dTrue))"},{"line_number":47,"context_line":"        cls.backends \u003d set()"},{"line_number":48,"context_line":"        for pool in cls.all_hosts[\u0027pools\u0027]:"},{"line_number":49,"context_line":"            if pool[\u0027capabilities\u0027].get(\u0027driver_handles_share_servers\u0027):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_8f47ada3","line":46,"range":{"start_line":46,"start_character":24,"end_line":46,"end_character":25},"in_reply_to":"9f560f44_bb0c8642","updated":"2020-09-10 16:58:12.000000000","message":"Done","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            raise cls.skipException(\u0027%s tests are disabled.\u0027 % cls.protocol)"},{"line_number":37,"context_line":"        if not CONF.share.multitenancy_enabled:"},{"line_number":38,"context_line":"            raise cls.skipException(\u0027Multitenancy tests are disabled.\u0027)"},{"line_number":39,"context_line":"        if not CONF.share.run_share_servers_migration_tests:"},{"line_number":40,"context_line":"            raise cls.skipException("},{"line_number":41,"context_line":"                \u0027Share servers migration tests are disabled.\u0027)"},{"line_number":42,"context_line":"        utils.check_skip_if_microversion_lt(\u00272.57\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_26749a35","line":39,"range":{"start_line":39,"start_character":26,"end_line":39,"end_character":59},"updated":"2020-09-11 21:41:21.000000000","message":"nit: run_share_server_migration_tests for consistency...","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            raise cls.skipException(\u0027Multitenancy tests are disabled.\u0027)"},{"line_number":39,"context_line":"        if not CONF.share.run_share_servers_migration_tests:"},{"line_number":40,"context_line":"            raise cls.skipException("},{"line_number":41,"context_line":"                \u0027Share servers migration tests are disabled.\u0027)"},{"line_number":42,"context_line":"        utils.check_skip_if_microversion_lt(\u00272.57\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_066fd65f","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":30},"updated":"2020-09-11 21:41:21.000000000","message":"nit: server","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            server_id)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        snapshot \u003d False"},{"line_number":73,"context_line":"        if compatible[\u0027supported_capabilities\u0027][\u0027preserve_snapshots\u0027]:"},{"line_number":74,"context_line":"            snapshot \u003d self.create_snapshot_wait_for_active("},{"line_number":75,"context_line":"                share[\u0027id\u0027], cleanup_in_class\u003dFalse)[\u0027id\u0027]"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_a6954a34","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":70},"updated":"2020-09-11 21:41:21.000000000","message":"and share[\u0027snapshot_support\u0027]","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        # (andrer) Create the access rules, considering NFS and CIFS"},{"line_number":86,"context_line":"        # protocols."},{"line_number":87,"context_line":"        access_rules \u003d self._get_access_rule_data_for_protocols()"},{"line_number":88,"context_line":"        self.shares_v2_client.create_access_rule("},{"line_number":89,"context_line":"            share[\u0027id\u0027], access_type\u003daccess_rules[0].get(\u0027access_type\u0027),"},{"line_number":90,"context_line":"            access_to\u003daccess_rules[0].get(\u0027access_to\u0027),"},{"line_number":91,"context_line":"            access_level\u003daccess_rules[0].get(\u0027access_level\u0027))"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self.shares_v2_client.wait_for_share_status("},{"line_number":94,"context_line":"            share[\u0027id\u0027], constants.RULE_STATE_ACTIVE,"},{"line_number":95,"context_line":"            status_attr\u003d\u0027access_rules_status\u0027)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        if self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":98,"context_line":"            self.shares_v2_client.create_access_rule("},{"line_number":99,"context_line":"                share[\u0027id\u0027], access_type\u003daccess_rules[1].get(\u0027access_type\u0027),"},{"line_number":100,"context_line":"                access_to\u003daccess_rules[1].get(\u0027access_to\u0027),"},{"line_number":101,"context_line":"                access_level\u003daccess_rules[1].get(\u0027access_level\u0027))"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"            self.shares_v2_client.wait_for_share_status("},{"line_number":104,"context_line":"                share[\u0027id\u0027], constants.RULE_STATE_ACTIVE,"},{"line_number":105,"context_line":"                status_attr\u003d\u0027access_rules_status\u0027)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\u0027id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_a6aeea7d","line":105,"range":{"start_line":88,"start_character":8,"end_line":105,"end_character":50},"updated":"2020-09-11 21:41:21.000000000","message":"for rule in access_rules:\n   self.shares_v2_client.create_access_rule(\n         share[\u0027id\u0027], access_type\u003drule.get(\u0027access_type\u0027),\n         access_to\u003drule.get(\u0027access_to\u0027),\n         access_level\u003drules.get(\u0027access_level\u0027))\n\nself.shares_v2_client.wait_for_share_status(\n    share[\u0027id\u0027], constants.RULE_STATE_ACTIVE,\n    status_attr\u003d\u0027access_rules_status\u0027)","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return share, server_id, dest_host, snapshot"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _validate_instances_states(self, share, instance_status,"},{"line_number":112,"context_line":"                                   snapshot_id):"},{"line_number":113,"context_line":"        \"\"\"Validates the share and snapshot status.\"\"\""},{"line_number":114,"context_line":"        statuses \u003d ((instance_status,)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_d13bd6cd","line":111,"range":{"start_line":111,"start_character":8,"end_line":111,"end_character":34},"updated":"2020-09-11 21:41:21.000000000","message":"and the method name to \"_validate_state_of_resources\"","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return share, server_id, dest_host, snapshot"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _validate_instances_states(self, share, instance_status,"},{"line_number":112,"context_line":"                                   snapshot_id):"},{"line_number":113,"context_line":"        \"\"\"Validates the share and snapshot status.\"\"\""},{"line_number":114,"context_line":"        statuses \u003d ((instance_status,)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_061996cf","line":111,"range":{"start_line":111,"start_character":48,"end_line":111,"end_character":63},"updated":"2020-09-11 21:41:21.000000000","message":"nit: can you rename this as \"expected_statuses\"","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        self.assertEqual(len(expected_rules), len(filtered_rules))"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    @classmethod"},{"line_number":189,"context_line":"    def _choose_matching_backend_for_share_server(self, server_id):"},{"line_number":190,"context_line":"        \"\"\"Choose a compatible host for the share server migration.\"\"\""},{"line_number":191,"context_line":"        for backend in self.backends:"},{"line_number":192,"context_line":"            # This try is necessary since if you try migrate the share server"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_c6831ea8","line":189,"range":{"start_line":189,"start_character":16,"end_line":189,"end_character":24},"updated":"2020-09-11 21:41:21.000000000","message":"nit: \"compatible\" conveys the meaning better","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                return backend, compatibility"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"        raise self.skipException("},{"line_number":221,"context_line":"            \"Not found incompatible host for the share server migration.\")"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _get_share_server_destination_for_migration(self, src_server_id):"},{"line_number":224,"context_line":"        \"\"\"Find the destination share server choosed for the migration.\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_c6acbe36","line":221,"range":{"start_line":221,"start_character":13,"end_line":221,"end_character":40},"updated":"2020-09-11 21:41:21.000000000","message":"None of the hosts available are incompatible to perform a negative share server migration test","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            \"Not found incompatible host for the share server migration.\")"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _get_share_server_destination_for_migration(self, src_server_id):"},{"line_number":224,"context_line":"        \"\"\"Find the destination share server choosed for the migration.\"\"\""},{"line_number":225,"context_line":"        params \u003d {\u0027source_share_server_id\u0027: src_server_id,"},{"line_number":226,"context_line":"                  \u0027status\u0027: constants.STATUS_SERVER_MIGRATING_TO}"},{"line_number":227,"context_line":"        dest_server \u003d self.admin_shares_v2_client.list_share_servers("}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_06a35644","line":224,"range":{"start_line":224,"start_character":45,"end_line":224,"end_character":52},"updated":"2020-09-11 21:41:21.000000000","message":"chosen","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        if self.protocol \u003d\u003d \u0027nfs\u0027:"},{"line_number":236,"context_line":"            return [{"},{"line_number":237,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":238,"context_line":"                \u0027access_to\u0027: \u002750.50.50.50\u0027,"},{"line_number":239,"context_line":"                \u0027access_level\u0027: \u0027rw\u0027,"},{"line_number":240,"context_line":"            }, {"},{"line_number":241,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_8645a671","line":238,"range":{"start_line":238,"start_character":30,"end_line":238,"end_character":41},"updated":"2020-09-11 21:41:21.000000000","message":"use non routable IPs:\n\n utils.rand_ip()\n\nor \n\n utils.rand_ip(network\u003dTrue)","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        self.shares_v2_client.share_server_migration_start("},{"line_number":280,"context_line":"            src_server_id, dest_host, preserve_snapshots\u003dpreserve_snapshots)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE"},{"line_number":283,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":284,"context_line":"            src_server_id, task_state, status_attr\u003d\u0027task_state\u0027)"},{"line_number":285,"context_line":"        # Get for the destination share server."}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_514d0670","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":18},"updated":"2020-09-11 21:41:21.000000000","message":"nit: expected_state","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":342,"context_line":"            new_share_network_id\u003ddest_share_network_id,"},{"line_number":343,"context_line":"            preserve_snapshots\u003dpreserve_snapshots)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE"},{"line_number":346,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":347,"context_line":"            src_server_id, task_state, status_attr\u003d\u0027task_state\u0027)"},{"line_number":348,"context_line":"        # Get for the destination share server."}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_51286684","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":70},"updated":"2020-09-11 21:41:21.000000000","message":"expected_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        # It\u0027s necessary wait for the migration success state and"},{"line_number":364,"context_line":"        # active status."},{"line_number":365,"context_line":"        task_state \u003d [constants.TASK_STATE_MIGRATION_SUCCESS,"},{"line_number":366,"context_line":"                      constants.SERVER_STATE_INACTIVE]"},{"line_number":367,"context_line":"        self.shares_v2_client.wait_for_share_server_status("},{"line_number":368,"context_line":"            src_server_id, task_state, status_attr\u003d\u0027task_state\u0027)"},{"line_number":369,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_b13622e6","line":366,"range":{"start_line":366,"start_character":22,"end_line":366,"end_character":53},"updated":"2020-09-11 21:41:21.000000000","message":"?\n\nthis is a \"status\" attribute","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            dest_host, result \u003d ("},{"line_number":395,"context_line":"                self._choose_incompatible_backend_for_share_server("},{"line_number":396,"context_line":"                    server_id\u003dshare[\u0027share_server_id\u0027]))"},{"line_number":397,"context_line":"            if dest_host is None:"},{"line_number":398,"context_line":"                raise self.skipException("},{"line_number":399,"context_line":"                    \"Not found any compatible destination host for the share \""},{"line_number":400,"context_line":"                    \"server %s.\" % share[\u0027share_server_id\u0027])"},{"line_number":401,"context_line":"            self.assertFalse(result[\u0027compatible\u0027])"},{"line_number":402,"context_line":"            self.assertEqual(result[\u0027requested_capabilities\u0027].get(\u0027host\u0027),"},{"line_number":403,"context_line":"                             dest_host)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_661a127d","line":400,"range":{"start_line":397,"start_character":11,"end_line":400,"end_character":60},"updated":"2020-09-11 21:41:21.000000000","message":"this skipException is being raised in the method \"_choose_incompatible_backend_for_share_server\"","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"}],"manila_tempest_tests/tests/api/admin/test_share_servers_migration_negative.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        test_share_servers_migration.MigrationShareServerBase):\r"},{"line_number":33,"context_line":"    protocool \u003d None\r"},{"line_number":34,"context_line":"\r"},{"line_number":35,"context_line":"    def _negative_setup_migration(self):\r"},{"line_number":36,"context_line":"        \"\"\"Setup migration for negative tests.\"\"\"\r"},{"line_number":37,"context_line":"        share \u003d self.create_share(share_protocol\u003dself.protocol,\r"},{"line_number":38,"context_line":"                                  share_type_id\u003dself.share_type[\u0027id\u0027],\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_78eb1977","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":33},"updated":"2020-08-22 13:56:10.000000000","message":"just \u0027_setup_migration\u0027? \u0027negative\u0027 seems that you are setup an invalid migration.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        test_share_servers_migration.MigrationShareServerBase):\r"},{"line_number":33,"context_line":"    protocool \u003d None\r"},{"line_number":34,"context_line":"\r"},{"line_number":35,"context_line":"    def _negative_setup_migration(self):\r"},{"line_number":36,"context_line":"        \"\"\"Setup migration for negative tests.\"\"\"\r"},{"line_number":37,"context_line":"        share \u003d self.create_share(share_protocol\u003dself.protocol,\r"},{"line_number":38,"context_line":"                                  share_type_id\u003dself.share_type[\u0027id\u0027],\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f5b38608","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":33},"in_reply_to":"9f560f44_78eb1977","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\r"},{"line_number":45,"context_line":"        return share, share_server_id, dest_host\r"},{"line_number":46,"context_line":"\r"},{"line_number":47,"context_line":"    def _cleanup_share_server_migration_phase1(self, share, share_server_id):\r"},{"line_number":48,"context_line":"        \"\"\"Reset state and cleanup share.\"\"\"\r"},{"line_number":49,"context_line":"        self.shares_v2_client.share_server_reset_state(\r"},{"line_number":50,"context_line":"            share_server_id,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_785dd977","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":46},"updated":"2020-08-22 13:56:10.000000000","message":"a cleanup would be cancelling the migration. You are just resetting the status here. \nA good idea is to reset to \u0027server_migrating\u0027 and trigger the cancel.\nSome backends might fail to delete the destination share server because it will have shares inside it.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":44,"context_line":"\r"},{"line_number":45,"context_line":"        return share, share_server_id, dest_host\r"},{"line_number":46,"context_line":"\r"},{"line_number":47,"context_line":"    def _cleanup_share_server_migration_phase1(self, share, share_server_id):\r"},{"line_number":48,"context_line":"        \"\"\"Reset state and cleanup share.\"\"\"\r"},{"line_number":49,"context_line":"        self.shares_v2_client.share_server_reset_state(\r"},{"line_number":50,"context_line":"            share_server_id,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f5a8a68c","line":47,"range":{"start_line":47,"start_character":8,"end_line":47,"end_character":46},"in_reply_to":"9f560f44_785dd977","updated":"2020-08-27 13:47:29.000000000","message":"I removed this one and add the cleanup only in the really necessary classes.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                          self.fake_host)\r"},{"line_number":77,"context_line":"\r"},{"line_number":78,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":79,"context_line":"    def test_share_server_not_found_migration_cancel(self):\r"},{"line_number":80,"context_line":"        \"\"\"Not found share server in migration cancel.\"\"\"\r"},{"line_number":81,"context_line":"        self.assertRaises(lib_exc.BadRequest,\r"},{"line_number":82,"context_line":"                          self.shares_v2_client.share_server_migration_cancel,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d8f98580","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":52},"updated":"2020-08-22 13:56:10.000000000","message":"this test fits better on \u0027invalid_operation\u0027 since the share server isn\u0027t being migrated.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                          self.fake_host)\r"},{"line_number":77,"context_line":"\r"},{"line_number":78,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":79,"context_line":"    def test_share_server_not_found_migration_cancel(self):\r"},{"line_number":80,"context_line":"        \"\"\"Not found share server in migration cancel.\"\"\"\r"},{"line_number":81,"context_line":"        self.assertRaises(lib_exc.BadRequest,\r"},{"line_number":82,"context_line":"                          self.shares_v2_client.share_server_migration_cancel,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d5abe284","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":52},"in_reply_to":"9f560f44_d8f98580","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          self.share_server_id)\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":86,"context_line":"    def test_share_server_not_found_migration_start(self):\r"},{"line_number":87,"context_line":"        \"\"\"Not found share server in migration start.\"\"\"\r"},{"line_number":88,"context_line":"        self.assertRaises(lib_exc.NotFound,\r"},{"line_number":89,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_582bb5e9","line":86,"range":{"start_line":86,"start_character":26,"end_line":86,"end_character":36},"updated":"2020-08-22 13:56:10.000000000","message":"invalid_host instead of not_found","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          self.share_server_id)\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":86,"context_line":"    def test_share_server_not_found_migration_start(self):\r"},{"line_number":87,"context_line":"        \"\"\"Not found share server in migration start.\"\"\"\r"},{"line_number":88,"context_line":"        self.assertRaises(lib_exc.NotFound,\r"},{"line_number":89,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_18f01d91","line":86,"range":{"start_line":86,"start_character":8,"end_line":86,"end_character":51},"updated":"2020-08-22 13:56:10.000000000","message":"same as above","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                          self.share_server_id)\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":86,"context_line":"    def test_share_server_not_found_migration_start(self):\r"},{"line_number":87,"context_line":"        \"\"\"Not found share server in migration start.\"\"\"\r"},{"line_number":88,"context_line":"        self.assertRaises(lib_exc.NotFound,\r"},{"line_number":89,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_1591da52","line":86,"range":{"start_line":86,"start_character":26,"end_line":86,"end_character":36},"in_reply_to":"9f560f44_582bb5e9","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":86,"context_line":"    def test_share_server_not_found_migration_start(self):\r"},{"line_number":87,"context_line":"        \"\"\"Not found share server in migration start.\"\"\"\r"},{"line_number":88,"context_line":"        self.assertRaises(lib_exc.NotFound,\r"},{"line_number":89,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"},{"line_number":90,"context_line":"                          self.share_server_id,\r"},{"line_number":91,"context_line":"                          self.fake_host)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_38308156","line":88,"range":{"start_line":88,"start_character":34,"end_line":88,"end_character":42},"updated":"2020-08-22 13:56:10.000000000","message":"we may fix this in the core, and return BadRequest instead","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":86,"context_line":"    def test_share_server_not_found_migration_start(self):\r"},{"line_number":87,"context_line":"        \"\"\"Not found share server in migration start.\"\"\"\r"},{"line_number":88,"context_line":"        self.assertRaises(lib_exc.NotFound,\r"},{"line_number":89,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"},{"line_number":90,"context_line":"                          self.share_server_id,\r"},{"line_number":91,"context_line":"                          self.fake_host)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_759c9669","line":88,"range":{"start_line":88,"start_character":34,"end_line":88,"end_character":42},"in_reply_to":"9f560f44_38308156","updated":"2020-08-27 13:47:29.000000000","message":"I will keep this exception until we have changed in the core.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                          self.fake_host)\r"},{"line_number":92,"context_line":"\r"},{"line_number":93,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":94,"context_line":"    def test_share_server_not_found_migration_get_progress(self):\r"},{"line_number":95,"context_line":"        \"\"\"Not found share server in migration get progress.\"\"\"\r"},{"line_number":96,"context_line":"        self.assertRaises(\r"},{"line_number":97,"context_line":"            lib_exc.BadRequest,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_78367953","line":94,"range":{"start_line":94,"start_character":26,"end_line":94,"end_character":35},"updated":"2020-08-22 13:56:10.000000000","message":"invalid_operation instead of not_found","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                          self.fake_host)\r"},{"line_number":92,"context_line":"\r"},{"line_number":93,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":94,"context_line":"    def test_share_server_not_found_migration_get_progress(self):\r"},{"line_number":95,"context_line":"        \"\"\"Not found share server in migration get progress.\"\"\"\r"},{"line_number":96,"context_line":"        self.assertRaises(\r"},{"line_number":97,"context_line":"            lib_exc.BadRequest,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_9831cd5c","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":58},"updated":"2020-08-22 13:56:10.000000000","message":"this is a invalid operation test","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                          self.fake_host)\r"},{"line_number":92,"context_line":"\r"},{"line_number":93,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":94,"context_line":"    def test_share_server_not_found_migration_get_progress(self):\r"},{"line_number":95,"context_line":"        \"\"\"Not found share server in migration get progress.\"\"\"\r"},{"line_number":96,"context_line":"        self.assertRaises(\r"},{"line_number":97,"context_line":"            lib_exc.BadRequest,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b58bce1c","line":94,"range":{"start_line":94,"start_character":8,"end_line":94,"end_character":58},"in_reply_to":"9f560f44_9831cd5c","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            self.share_server_id)\r"},{"line_number":100,"context_line":"\r"},{"line_number":101,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":102,"context_line":"    def test_share_server_not_found_migration_complete(self):\r"},{"line_number":103,"context_line":"        \"\"\"Not found share server in migration \"\"\"\r"},{"line_number":104,"context_line":"        self.assertRaises(\r"},{"line_number":105,"context_line":"            lib_exc.ServerFault,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_1845bdb4","line":102,"range":{"start_line":102,"start_character":8,"end_line":102,"end_character":54},"updated":"2020-08-22 13:56:10.000000000","message":"another invalid_operation test \ninvalid_operation instead of not_found","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            self.share_server_id)\r"},{"line_number":100,"context_line":"\r"},{"line_number":101,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":102,"context_line":"    def test_share_server_not_found_migration_complete(self):\r"},{"line_number":103,"context_line":"        \"\"\"Not found share server in migration \"\"\"\r"},{"line_number":104,"context_line":"        self.assertRaises(\r"},{"line_number":105,"context_line":"            lib_exc.ServerFault,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_958e8a2b","line":102,"range":{"start_line":102,"start_character":8,"end_line":102,"end_character":54},"in_reply_to":"9f560f44_1845bdb4","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def test_share_server_not_found_migration_complete(self):\r"},{"line_number":103,"context_line":"        \"\"\"Not found share server in migration \"\"\"\r"},{"line_number":104,"context_line":"        self.assertRaises(\r"},{"line_number":105,"context_line":"            lib_exc.ServerFault,\r"},{"line_number":106,"context_line":"            self.shares_v2_client.share_server_migration_complete,\r"},{"line_number":107,"context_line":"            self.share_server_id)\r"},{"line_number":108,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d83ea527","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":31},"updated":"2020-08-22 13:56:10.000000000","message":"We need to fix this in core to return BadRequest.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def test_share_server_not_found_migration_complete(self):\r"},{"line_number":103,"context_line":"        \"\"\"Not found share server in migration \"\"\"\r"},{"line_number":104,"context_line":"        self.assertRaises(\r"},{"line_number":105,"context_line":"            lib_exc.ServerFault,\r"},{"line_number":106,"context_line":"            self.shares_v2_client.share_server_migration_complete,\r"},{"line_number":107,"context_line":"            self.share_server_id)\r"},{"line_number":108,"context_line":"\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f581c6fc","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":31},"in_reply_to":"9f560f44_d83ea527","updated":"2020-08-27 13:47:29.000000000","message":"Same as above.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        \"\"\"Share server migration check invalid operation.\"\"\"\r"},{"line_number":129,"context_line":"        self.assertRaises(lib_exc.BadRequest,\r"},{"line_number":130,"context_line":"                          self.shares_v2_client.share_server_migration_check,\r"},{"line_number":131,"context_line":"                          self.share_server_id,\r"},{"line_number":132,"context_line":"                          self.fake_host)\r"},{"line_number":133,"context_line":"\r"},{"line_number":134,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":135,"context_line":"    def test_share_server_invalid_operation_migration_start(self):\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b824910e","line":132,"range":{"start_line":131,"start_character":26,"end_line":132,"end_character":40},"updated":"2020-08-22 13:56:10.000000000","message":"You already have Invalid States test class below where you can test for invalid share server status.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    protocol \u003d \"nfs\"\r"},{"line_number":171,"context_line":"\r"},{"line_number":172,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":173,"context_line":"    def test_share_server_migration_start_empty_share_server(self):\r"},{"line_number":174,"context_line":"        \"\"\"Try server migration start with empty server.\"\"\"\r"},{"line_number":175,"context_line":"        share, share_server_id, dest_host \u003d self._negative_setup_migration()\r"},{"line_number":176,"context_line":"        # Delete the created share.\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b8693126","line":173,"range":{"start_line":173,"start_character":8,"end_line":173,"end_character":60},"updated":"2020-08-22 13:56:10.000000000","message":"if the config option \"CONF.delete_share_server_with_last_share\" is True, it\u0027ll delete the share server with the last share, so you\u0027ll need to skip this test for this condition.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    protocol \u003d \"nfs\"\r"},{"line_number":171,"context_line":"\r"},{"line_number":172,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":173,"context_line":"    def test_share_server_migration_start_empty_share_server(self):\r"},{"line_number":174,"context_line":"        \"\"\"Try server migration start with empty server.\"\"\"\r"},{"line_number":175,"context_line":"        share, share_server_id, dest_host \u003d self._negative_setup_migration()\r"},{"line_number":176,"context_line":"        # Delete the created share.\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_35a4dea5","line":173,"range":{"start_line":173,"start_character":8,"end_line":173,"end_character":60},"in_reply_to":"9f560f44_b8693126","updated":"2020-08-27 13:47:29.000000000","message":"Since this configuration is from share manager, I am not sure how to get this kind of config. I took a look at the tempest and don\u0027t see any test doing this.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        # Delete the created share.\r"},{"line_number":177,"context_line":"        self.shares_v2_client.delete_share(share[\u0027id\u0027])\r"},{"line_number":178,"context_line":"        self.shares_v2_client.wait_for_resource_deletion(share_id\u003dshare[\u0027id\u0027])\r"},{"line_number":179,"context_line":"        self.assertRaises(lib_exc.ServerFault,\r"},{"line_number":180,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"},{"line_number":181,"context_line":"                          share_server_id,\r"},{"line_number":182,"context_line":"                          dest_host)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d86ce537","line":179,"range":{"start_line":179,"start_character":26,"end_line":179,"end_character":45},"updated":"2020-08-22 13:56:10.000000000","message":"We need to fix this return in the core.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        # Delete the created share.\r"},{"line_number":177,"context_line":"        self.shares_v2_client.delete_share(share[\u0027id\u0027])\r"},{"line_number":178,"context_line":"        self.shares_v2_client.wait_for_resource_deletion(share_id\u003dshare[\u0027id\u0027])\r"},{"line_number":179,"context_line":"        self.assertRaises(lib_exc.ServerFault,\r"},{"line_number":180,"context_line":"                          self.shares_v2_client.share_server_migration_start,\r"},{"line_number":181,"context_line":"                          share_server_id,\r"},{"line_number":182,"context_line":"                          dest_host)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_75aad670","line":179,"range":{"start_line":179,"start_character":26,"end_line":179,"end_character":45},"in_reply_to":"9f560f44_d86ce537","updated":"2020-08-27 13:47:29.000000000","message":"Same as described in line 88.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        share_network \u003d self.create_share_network(cleanup_in_class\u003dFalse)\r"},{"line_number":189,"context_line":"\r"},{"line_number":190,"context_line":"        self.assertRaises(\r"},{"line_number":191,"context_line":"            lib_exc.ServerFault,\r"},{"line_number":192,"context_line":"            self.shares_v2_client.share_server_migration_start,\r"},{"line_number":193,"context_line":"            share_server_id,\r"},{"line_number":194,"context_line":"            dest_host,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b852d165","line":191,"range":{"start_line":191,"start_character":12,"end_line":191,"end_character":31},"updated":"2020-08-22 13:56:10.000000000","message":"\u003e_\u003c","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        share_network \u003d self.create_share_network(cleanup_in_class\u003dFalse)\r"},{"line_number":189,"context_line":"\r"},{"line_number":190,"context_line":"        self.assertRaises(\r"},{"line_number":191,"context_line":"            lib_exc.ServerFault,\r"},{"line_number":192,"context_line":"            self.shares_v2_client.share_server_migration_start,\r"},{"line_number":193,"context_line":"            share_server_id,\r"},{"line_number":194,"context_line":"            dest_host,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_55a5129e","line":191,"range":{"start_line":191,"start_character":12,"end_line":191,"end_character":31},"in_reply_to":"9f560f44_b852d165","updated":"2020-08-27 13:47:29.000000000","message":"Same as line 88.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    def test_share_server_migration_start_invalid_share_state(self):\r"},{"line_number":204,"context_line":"        \"\"\"Try server migration start with invalid share state.\"\"\"\r"},{"line_number":205,"context_line":"        share, share_server_id, dest_host \u003d self._negative_setup_migration()\r"},{"line_number":206,"context_line":"        self.shares_v2_client.reset_state(share[\u0027id\u0027])\r"},{"line_number":207,"context_line":"\r"},{"line_number":208,"context_line":"        self.assertRaises(\r"},{"line_number":209,"context_line":"            lib_exc.BadRequest,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_58c73513","line":206,"updated":"2020-08-22 13:56:10.000000000","message":"why not reset to a real scenario status like: \u0027error\u0027?","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    def test_share_server_migration_start_invalid_share_state(self):\r"},{"line_number":204,"context_line":"        \"\"\"Try server migration start with invalid share state.\"\"\"\r"},{"line_number":205,"context_line":"        share, share_server_id, dest_host \u003d self._negative_setup_migration()\r"},{"line_number":206,"context_line":"        self.shares_v2_client.reset_state(share[\u0027id\u0027])\r"},{"line_number":207,"context_line":"\r"},{"line_number":208,"context_line":"        self.assertRaises(\r"},{"line_number":209,"context_line":"            lib_exc.BadRequest,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_f5af067a","line":206,"in_reply_to":"9f560f44_58c73513","updated":"2020-08-27 13:47:29.000000000","message":"If I am not wrong the default status here is error.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        dest_host, _ \u003d self._choose_matching_backend_for_share_server(\r"},{"line_number":238,"context_line":"            share_server_id)\r"},{"line_number":239,"context_line":"        self.create_share_replica(\r"},{"line_number":240,"context_line":"            share[\u0027id\u0027], availability_zone\u003dshare[\u0027availability_zone\u0027],\r"},{"line_number":241,"context_line":"            cleanup_in_class\u003dFalse)\r"},{"line_number":242,"context_line":"        self.assertRaises(\r"},{"line_number":243,"context_line":"            lib_exc.Conflict,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b8d771bf","line":240,"range":{"start_line":240,"start_character":25,"end_line":240,"end_character":69},"updated":"2020-08-22 13:56:10.000000000","message":"remove this, this replica can be placed in any availability_zone for this test. It\u0027ll fail for backends with different azs and a single pool","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        dest_host, _ \u003d self._choose_matching_backend_for_share_server(\r"},{"line_number":238,"context_line":"            share_server_id)\r"},{"line_number":239,"context_line":"        self.create_share_replica(\r"},{"line_number":240,"context_line":"            share[\u0027id\u0027], availability_zone\u003dshare[\u0027availability_zone\u0027],\r"},{"line_number":241,"context_line":"            cleanup_in_class\u003dFalse)\r"},{"line_number":242,"context_line":"        self.assertRaises(\r"},{"line_number":243,"context_line":"            lib_exc.Conflict,\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_15c8ba52","line":240,"range":{"start_line":240,"start_character":25,"end_line":240,"end_character":69},"in_reply_to":"9f560f44_b8d771bf","updated":"2020-08-27 13:47:29.000000000","message":"We need to pass an az when we create a share replica.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            dest_host\r"},{"line_number":247,"context_line":"        )\r"},{"line_number":248,"context_line":"        # Cleanup the resources.\r"},{"line_number":249,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":250,"context_line":"\r"},{"line_number":251,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":252,"context_line":"    def test_share_server_migration_start_try_create_snapshot(self):\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d8da25e7","line":249,"range":{"start_line":249,"start_character":0,"end_line":249,"end_character":75},"updated":"2020-08-22 13:56:10.000000000","message":"not needed if it\u0027ll fail on migration_start","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":246,"context_line":"            dest_host\r"},{"line_number":247,"context_line":"        )\r"},{"line_number":248,"context_line":"        # Cleanup the resources.\r"},{"line_number":249,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":250,"context_line":"\r"},{"line_number":251,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":252,"context_line":"    def test_share_server_migration_start_try_create_snapshot(self):\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_75c3f638","line":249,"range":{"start_line":249,"start_character":0,"end_line":249,"end_character":75},"in_reply_to":"9f560f44_d8da25e7","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":250,"context_line":"\r"},{"line_number":251,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":252,"context_line":"    def test_share_server_migration_start_try_create_snapshot(self):\r"},{"line_number":253,"context_line":"        \"\"\"Try create snap during a server migration.\"\"\"\r"},{"line_number":254,"context_line":"        if not self.preserve_snapshot:\r"},{"line_number":255,"context_line":"            raise self.skipException(\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_589575e3","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":61},"updated":"2020-08-22 13:56:10.000000000","message":"this and the next 2 tests can be a different class test, where you create a server migration in the resource setup and use it in all other tests. you avoid create a share a start a migration for each test.","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":250,"context_line":"\r"},{"line_number":251,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"},{"line_number":252,"context_line":"    def test_share_server_migration_start_try_create_snapshot(self):\r"},{"line_number":253,"context_line":"        \"\"\"Try create snap during a server migration.\"\"\"\r"},{"line_number":254,"context_line":"        if not self.preserve_snapshot:\r"},{"line_number":255,"context_line":"            raise self.skipException(\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_55beb2ad","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":61},"in_reply_to":"9f560f44_589575e3","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            share[\u0027id\u0027]\r"},{"line_number":264,"context_line":"        )\r"},{"line_number":265,"context_line":"        # Cleanup the resources.\r"},{"line_number":266,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE\r"},{"line_number":267,"context_line":"        self.shares_v2_client.wait_for_share_server_state(\r"},{"line_number":268,"context_line":"            share_server_id, task_state)\r"},{"line_number":269,"context_line":"        self.shares_v2_client.share_server_migration_cancel(\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_b8001136","line":266,"range":{"start_line":266,"start_character":31,"end_line":266,"end_character":70},"updated":"2020-08-22 13:56:10.000000000","message":"You can cancel before reaching this state. So you might add here: TASK_STATE_MIGRATION_DRIVER_IN_PROGRESS and even TASK_STATE_MIGRATION_ERROR, if the migration failed at the beginning","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":263,"context_line":"            share[\u0027id\u0027]\r"},{"line_number":264,"context_line":"        )\r"},{"line_number":265,"context_line":"        # Cleanup the resources.\r"},{"line_number":266,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE\r"},{"line_number":267,"context_line":"        self.shares_v2_client.wait_for_share_server_state(\r"},{"line_number":268,"context_line":"            share_server_id, task_state)\r"},{"line_number":269,"context_line":"        self.shares_v2_client.share_server_migration_cancel(\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d5e762e2","line":266,"range":{"start_line":266,"start_character":31,"end_line":266,"end_character":70},"in_reply_to":"9f560f44_b8001136","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3bb4bbb6dd4a37a84495a6b00add98d58a272399","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        )\r"},{"line_number":265,"context_line":"        # Cleanup the resources.\r"},{"line_number":266,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE\r"},{"line_number":267,"context_line":"        self.shares_v2_client.wait_for_share_server_state(\r"},{"line_number":268,"context_line":"            share_server_id, task_state)\r"},{"line_number":269,"context_line":"        self.shares_v2_client.share_server_migration_cancel(\r"},{"line_number":270,"context_line":"            share_server_id)\r"},{"line_number":271,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":272,"context_line":"\r"},{"line_number":273,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_18fadd41","line":270,"range":{"start_line":267,"start_character":0,"end_line":270,"end_character":28},"updated":"2020-08-22 13:56:10.000000000","message":"this can be part of the cleanup_share_server_migration_phase1","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"c9cff89d2bdf8233b8f0831efc3a426cb4287897","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        )\r"},{"line_number":265,"context_line":"        # Cleanup the resources.\r"},{"line_number":266,"context_line":"        task_state \u003d constants.TASK_STATE_MIGRATION_DRIVER_PHASE1_DONE\r"},{"line_number":267,"context_line":"        self.shares_v2_client.wait_for_share_server_state(\r"},{"line_number":268,"context_line":"            share_server_id, task_state)\r"},{"line_number":269,"context_line":"        self.shares_v2_client.share_server_migration_cancel(\r"},{"line_number":270,"context_line":"            share_server_id)\r"},{"line_number":271,"context_line":"        self._cleanup_share_server_migration_phase1(share, share_server_id)\r"},{"line_number":272,"context_line":"\r"},{"line_number":273,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)\r"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_35d21e01","line":270,"range":{"start_line":267,"start_character":0,"end_line":270,"end_character":28},"in_reply_to":"9f560f44_18fadd41","updated":"2020-08-27 13:47:29.000000000","message":"Done","commit_id":"976da5b638a377224f359c896670402b34ef41d3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5b30a193a1f2cf40ccea9d410c2d9051e3d5f0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9f560f44_fb29de9b","updated":"2020-09-09 04:54:45.000000000","message":"Please run the following command to add UUIDs to these new test cases:\n\n tox -euuidgen","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":30998,"name":"Andre Luiz Beltrami Rocha","display_name":"Andre Beltrami","email":"debeltrami@gmail.com","username":"andrebeltrami"},"change_message_id":"91eb6323392b4edbfb648d38475669ab52136d86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9f560f44_d0e650e7","in_reply_to":"9f560f44_fb29de9b","updated":"2020-09-10 16:58:12.000000000","message":"Done","commit_id":"6bc778a97ba8b693c47fe55640c72dc4031a4d65"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class MigrationShareServerNegative("},{"line_number":31,"context_line":"        test_share_servers_migration.MigrationShareServerBase):"},{"line_number":32,"context_line":"    protocool \u003d None"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @classmethod"},{"line_number":35,"context_line":"    def _setup_migration(self, cleanup_in_class\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_5d84fd5d","line":32,"range":{"start_line":32,"start_character":4,"end_line":32,"end_character":13},"updated":"2020-09-11 21:41:21.000000000","message":"protocol","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        test_share_servers_migration.MigrationShareServerBase):"},{"line_number":32,"context_line":"    protocool \u003d None"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @classmethod"},{"line_number":35,"context_line":"    def _setup_migration(self, cleanup_in_class\u003dTrue):"},{"line_number":36,"context_line":"        \"\"\"Setup migration for negative tests.\"\"\""},{"line_number":37,"context_line":"        extra_specs \u003d {"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_5d8fdd21","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":16},"updated":"2020-09-11 21:41:21.000000000","message":"this is a class method, using \"self\" below?","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    @classmethod"},{"line_number":61,"context_line":"    def resource_setup(cls):"},{"line_number":62,"context_line":"        super(ShareServerMigrationInvalidParametersNFS, cls).resource_setup()"},{"line_number":63,"context_line":"        cls.share \u003d cls.create_share("},{"line_number":64,"context_line":"            share_protocol\u003dcls.protocol,"},{"line_number":65,"context_line":"            share_type_id\u003dcls.share_type[\u0027id\u0027])"},{"line_number":66,"context_line":"        cls.share \u003d cls.shares_v2_client.get_share(cls.share[\u0027id\u0027])"},{"line_number":67,"context_line":"        cls.share_server_id \u003d cls.share[\u0027share_server_id\u0027]"},{"line_number":68,"context_line":"        cls.fake_server_id \u003d \u0027fake_server_id\u0027"},{"line_number":69,"context_line":"        cls.fake_host \u003d \u0027fake_host@fake_backend\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_1de1e59b","line":66,"range":{"start_line":63,"start_character":0,"end_line":66,"end_character":67},"updated":"2020-09-11 21:41:21.000000000","message":"Maybe you can create this in the tests so you can convert a few of these to just API tests\n\n\nOr you can move the tests that require a valid share server to another class - your call.","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        cls.fake_host \u003d \u0027fake_host@fake_backend\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @decorators.idempotent_id(\u00271be6ec2a-3118-4033-9cdb-ea6d199d97f4\u0027)"},{"line_number":72,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":73,"context_line":"    def test_share_server_invalid_server_migration_check(self):"},{"line_number":74,"context_line":"        \"\"\"Not found share server in migration check.\"\"\""},{"line_number":75,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_7dd0e1c8","line":72,"range":{"start_line":72,"start_character":37,"end_line":72,"end_character":57},"updated":"2020-09-11 21:41:21.000000000","message":"API\n\nwhen you remove the share creation from the setup method","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                          self.fake_host)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u00272aeffcfa-4e68-40e4-8a75-03b017503501\u0027)"},{"line_number":81,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":82,"context_line":"    def test_share_server_invalid_server_migration_cancel(self):"},{"line_number":83,"context_line":"        \"\"\"Not found share server in migration cancel.\"\"\""},{"line_number":84,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_bdd559b9","line":81,"range":{"start_line":81,"start_character":37,"end_line":81,"end_character":57},"updated":"2020-09-11 21:41:21.000000000","message":"API\n\nwhen you remove the share creation from the setup method","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                          self.fake_server_id)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @decorators.idempotent_id(\u002752d23980-80e7-40de-8dba-1bb1382ef995\u0027)"},{"line_number":89,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":90,"context_line":"    def test_share_server_invalid_server_migration_start(self):"},{"line_number":91,"context_line":"        \"\"\"Not found share server in migration start.\"\"\""},{"line_number":92,"context_line":"        self.assertRaises(lib_exc.NotFound,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_3d4f8992","line":89,"range":{"start_line":89,"start_character":37,"end_line":89,"end_character":57},"updated":"2020-09-11 21:41:21.000000000","message":"API\n\nwhen you remove the share creation from the setup method","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                          self.fake_host)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @decorators.idempotent_id(\u002747795631-eb50-424b-9fac-d2ee832cd01c\u0027)"},{"line_number":98,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":99,"context_line":"    def test_share_server_invalid_server_migration_get_progress(self):"},{"line_number":100,"context_line":"        \"\"\"Not found share server in migration get progress.\"\"\""},{"line_number":101,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_fd50712e","line":98,"range":{"start_line":98,"start_character":37,"end_line":98,"end_character":57},"updated":"2020-09-11 21:41:21.000000000","message":"API\n\nwhen you remove the share creation from the setup method","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            self.fake_server_id)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00273b464298-a4e4-417b-92d6-acfbd30ac45b\u0027)"},{"line_number":107,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":108,"context_line":"    def test_share_server_invalid_server_migration_complete(self):"},{"line_number":109,"context_line":"        \"\"\"Not found share server in migration \"\"\""},{"line_number":110,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_5d319d0a","line":107,"range":{"start_line":107,"start_character":37,"end_line":107,"end_character":57},"updated":"2020-09-11 21:41:21.000000000","message":"API\n\nwhen you remove the share creation from the setup method","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    @decorators.idempotent_id(\u00273b464298-a4e4-417b-92d6-acfbd30ac45b\u0027)"},{"line_number":107,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":108,"context_line":"    def test_share_server_invalid_server_migration_complete(self):"},{"line_number":109,"context_line":"        \"\"\"Not found share server in migration \"\"\""},{"line_number":110,"context_line":"        self.assertRaises("},{"line_number":111,"context_line":"            lib_exc.NotFound,"},{"line_number":112,"context_line":"            self.shares_v2_client.share_server_migration_complete,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_5d1a3d7c","line":109,"range":{"start_line":109,"start_character":46,"end_line":109,"end_character":47},"updated":"2020-09-11 21:41:21.000000000","message":"complete","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    @decorators.idempotent_id(\u00272d25cf84-0b5c-4a9f-ae20-9bec09bb6914\u0027)"},{"line_number":116,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":117,"context_line":"    def test_share_server_invalid_host_migration_start(self):"},{"line_number":118,"context_line":"        \"\"\"Not found share server in migration start.\"\"\""},{"line_number":119,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":120,"context_line":"                          self.shares_v2_client.share_server_migration_start,"},{"line_number":121,"context_line":"                          self.share_server_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_dd248dc8","line":118,"range":{"start_line":118,"start_character":11,"end_line":118,"end_character":53},"updated":"2020-09-11 21:41:21.000000000","message":"Invalid host you mean..","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    @decorators.idempotent_id(\u0027e7e2c19c-a0ed-41ab-b666-b2beae4a690c\u0027)"},{"line_number":125,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"},{"line_number":126,"context_line":"    def test_share_server_invalid_host_migration_check(self):"},{"line_number":127,"context_line":"        \"\"\"Not found share server in migration check.\"\"\""},{"line_number":128,"context_line":"        self.assertRaises(lib_exc.NotFound,"},{"line_number":129,"context_line":"                          self.shares_v2_client.share_server_migration_check,"},{"line_number":130,"context_line":"                          self.share_server_id,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_20192279","line":127,"range":{"start_line":127,"start_character":11,"end_line":127,"end_character":34},"updated":"2020-09-11 21:41:21.000000000","message":"Invalid host","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        self.assertRaises(lib_exc.Conflict,"},{"line_number":154,"context_line":"                          self.shares_v2_client.share_server_migration_check,"},{"line_number":155,"context_line":"                          self.share_server_id,"},{"line_number":156,"context_line":"                          self.fake_host)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @decorators.idempotent_id(\u0027c256c5f5-b4d1-47b7-a1f4-af21f19ce600\u0027)"},{"line_number":159,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_005b3e21","line":156,"range":{"start_line":156,"start_character":26,"end_line":156,"end_character":40},"updated":"2020-09-11 21:41:21.000000000","message":"can you use a real host instead here, so we know the error is definitely because of the invalid state?","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        self.assertRaises(lib_exc.Conflict,"},{"line_number":163,"context_line":"                          self.shares_v2_client.share_server_migration_start,"},{"line_number":164,"context_line":"                          self.share_server_id,"},{"line_number":165,"context_line":"                          self.fake_host)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    @decorators.idempotent_id(\u0027d2830fe4-8d13-40d2-b987-18d414bb6196\u0027)"},{"line_number":168,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_609b1ac8","line":165,"range":{"start_line":165,"start_character":31,"end_line":165,"end_character":40},"updated":"2020-09-11 21:41:21.000000000","message":"same","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        self.assertRaises("},{"line_number":172,"context_line":"            lib_exc.BadRequest,"},{"line_number":173,"context_line":"            self.shares_v2_client.share_server_migration_get_progress,"},{"line_number":174,"context_line":"            self.share_server_id,"},{"line_number":175,"context_line":"            self.fake_host)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    @decorators.idempotent_id(\u0027245f39d7-bcbc-4711-afd7-651a5535a880\u0027)"},{"line_number":178,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_c0a946dd","line":175,"range":{"start_line":174,"start_character":33,"end_line":175,"end_character":27},"updated":"2020-09-11 21:41:21.000000000","message":"this operation doesn\u0027t require a host parameter","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        \"\"\"Share server migration cancel invalid operation.\"\"\""},{"line_number":181,"context_line":"        self.assertRaises(lib_exc.BadRequest,"},{"line_number":182,"context_line":"                          self.shares_v2_client.share_server_migration_cancel,"},{"line_number":183,"context_line":"                          self.share_server_id,"},{"line_number":184,"context_line":"                          self.fake_host)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    @decorators.idempotent_id(\u00273db45440-2c70-4fa4-b5eb-75e3cb0204f8\u0027)"},{"line_number":187,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_20b5a232","line":184,"range":{"start_line":183,"start_character":47,"end_line":184,"end_character":41},"updated":"2020-09-11 21:41:21.000000000","message":"this operation doesn\u0027t require a host parameter","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        self.assertRaises("},{"line_number":191,"context_line":"            lib_exc.BadRequest,"},{"line_number":192,"context_line":"            self.shares_v2_client.share_server_migration_complete,"},{"line_number":193,"context_line":"            self.share_server_id,"},{"line_number":194,"context_line":"            self.fake_host)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"class ShareServerMigrationStartNegativesNFS(MigrationShareServerNegative):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_208e4278","line":194,"range":{"start_line":193,"start_character":33,"end_line":194,"end_character":27},"updated":"2020-09-11 21:41:21.000000000","message":"this operation doesn\u0027t require a host parameter","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        share_network \u003d self.create_share_network(cleanup_in_class\u003dFalse)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        self.assertRaises("},{"line_number":264,"context_line":"            lib_exc.ServerFault,"},{"line_number":265,"context_line":"            self.shares_v2_client.share_server_migration_start,"},{"line_number":266,"context_line":"            share_server_id,"},{"line_number":267,"context_line":"            dest_host,"},{"line_number":268,"context_line":"            new_share_network_id\u003dshare_network)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    @decorators.idempotent_id(\u002711374277-efcf-4992-ad94-c8f4a393d41b\u0027)"},{"line_number":271,"context_line":"    @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_86dc8645","line":268,"range":{"start_line":264,"start_character":12,"end_line":268,"end_character":47},"updated":"2020-09-11 21:41:21.000000000","message":"is this an assertion that you can\u0027t send a share network object in place of a share network ID?","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e13137e03bd5d1e9da9f6772aa089a61f5d723","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        \"\"\"Try server migration start with invalid share state.\"\"\""},{"line_number":274,"context_line":"        share, share_server_id, dest_host \u003d self._setup_migration("},{"line_number":275,"context_line":"            cleanup_in_class\u003dFalse)"},{"line_number":276,"context_line":"        self.shares_v2_client.reset_state(share[\u0027id\u0027])"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"        self.assertRaises("},{"line_number":279,"context_line":"            lib_exc.Conflict,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_a6a70abc","line":276,"range":{"start_line":276,"start_character":8,"end_line":276,"end_character":54},"updated":"2020-09-11 21:41:21.000000000","message":"for readability, could you explicitly reset the state to \"error\"","commit_id":"0d523bb8d4cd62186616103b59bba7d933d2cee4"}]}
