)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"35613b1d2dc3a56f992809f8d04bbb8f4fb05a78","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1.According to TODO in api/compute/admin/test_live_migration.py"},{"line_number":10,"context_line":"   TODO(mriedem): SSH validation before and after the instance is"},{"line_number":11,"context_line":"   live migrated would be a nice test wrinkle addition."},{"line_number":12,"context_line":"2.I prefer to add the test in scenario/test_network_advanced_server_ops.py"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id6e93983300d061d238613fc5937c06e15b19809"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_9e01fc07","line":11,"updated":"2018-06-04 07:54:37.000000000","message":"I think you wanted to remove this TODO comment too?","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1.According to TODO in api/compute/admin/test_live_migration.py"},{"line_number":10,"context_line":"   TODO(mriedem): SSH validation before and after the instance is"},{"line_number":11,"context_line":"   live migrated would be a nice test wrinkle addition."},{"line_number":12,"context_line":"2.I prefer to add the test in scenario/test_network_advanced_server_ops.py"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id6e93983300d061d238613fc5937c06e15b19809"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_056b4785","line":11,"in_reply_to":"5f7c97a3_9e01fc07","updated":"2018-06-05 02:39:15.000000000","message":"Done","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"35613b1d2dc3a56f992809f8d04bbb8f4fb05a78","unresolved":false,"context_lines":[{"line_number":9,"context_line":"1.According to TODO in api/compute/admin/test_live_migration.py"},{"line_number":10,"context_line":"   TODO(mriedem): SSH validation before and after the instance is"},{"line_number":11,"context_line":"   live migrated would be a nice test wrinkle addition."},{"line_number":12,"context_line":"2.I prefer to add the test in scenario/test_network_advanced_server_ops.py"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id6e93983300d061d238613fc5937c06e15b19809"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_3e06a81e","line":12,"updated":"2018-06-04 07:54:37.000000000","message":"heh, why? I think the reason should be described in this commit message too.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"459925d711f45a928b44856d97e2a98d76c884cc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lianghao \u003clianghao@cmss.chinamobile.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-06-05 10:28:16 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Check network connectivity of the instance before and after live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Finish the TODO in api/compute/admin/test_live_migration.py"},{"line_number":10,"context_line":"   TODO(mriedem): SSH validation before and after the instance is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f79a3b5_5d85b658","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":74},"updated":"2018-08-31 05:53:38.000000000","message":"nit: Length of line exceeding the maximum length","commit_id":"7f311ce217c0bdccd5b672393a01b2e01667ea57"}],"tempest/scenario/test_network_advanced_server_ops.py":[{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"292f688da2ac8bc03c4466848e0560ad2c7d7c85","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        body \u003d self.admin_servers_client.show_server(server_id)[\u0027server\u0027]"},{"line_number":106,"context_line":"        return body[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def _get_host_other_than(self, server_id):"},{"line_number":109,"context_line":"        source_host \u003d self._get_host_for_server(server_id)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        hypers \u003d self.os_admin.hypervisor_client.list_hypervisors("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_c147954c","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":28},"updated":"2018-06-04 08:49:07.000000000","message":"I think it\u0027s better to improve the function name w.r.t to it\u0027s usage. \"_get_host_other_than\" is little confusing","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        body \u003d self.admin_servers_client.show_server(server_id)[\u0027server\u0027]"},{"line_number":106,"context_line":"        return body[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def _get_host_other_than(self, server_id):"},{"line_number":109,"context_line":"        source_host \u003d self._get_host_for_server(server_id)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        hypers \u003d self.os_admin.hypervisor_client.list_hypervisors("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_25c4435f","line":108,"range":{"start_line":108,"start_character":8,"end_line":108,"end_character":28},"in_reply_to":"5f7c97a3_c147954c","updated":"2018-06-05 02:39:15.000000000","message":"Done","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"6f7bb38045c6310f4bb7669e2a599e10655ee344","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        for target_host in hosts:"},{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7ed0a02c","line":118,"updated":"2018-06-04 08:23:34.000000000","message":"In the case there is no available hyper-visor you should probably raise and exception instead of returning None in an implicit way like here. You should add below else block:\n\n for target_host in hosts:\n     if source_host !\u003d target_host:\n         return target_host\n else:\n     # For loop terminated without breaking or\n     # returning from function\n     raise self.skipException(\n         \u0027No such available hypervisor host found \u0027\n         \u0027other than {!r}.\u0027.format(source_host))","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        for target_host in hosts:"},{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e09dd9bb","line":118,"in_reply_to":"5f7c97a3_7ed0a02c","updated":"2018-06-05 02:39:15.000000000","message":"If less than 2 compute nodes,the function can\u0027t be call,so no available hypervisor can\u0027t be happen.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"35613b1d2dc3a56f992809f8d04bbb8f4fb05a78","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."},{"line_number":122,"context_line":"                           block_migration_for_live_migration)"},{"line_number":123,"context_line":"        self.admin_servers_client.live_migrate_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_5e0b6423","line":120,"updated":"2018-06-04 07:54:37.000000000","message":"nit: I feel this method can be extracted in _live_migrate() because this is called only once and can be one line.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."},{"line_number":122,"context_line":"                           block_migration_for_live_migration)"},{"line_number":123,"context_line":"        self.admin_servers_client.live_migrate_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_a5dff338","line":120,"in_reply_to":"5f7c97a3_5e0b6423","updated":"2018-06-05 02:39:15.000000000","message":"Done","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"6f7bb38045c6310f4bb7669e2a599e10655ee344","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."},{"line_number":122,"context_line":"                           block_migration_for_live_migration)"},{"line_number":123,"context_line":"        self.admin_servers_client.live_migrate_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7eb980ea","line":120,"in_reply_to":"5f7c97a3_5e0b6423","updated":"2018-06-04 08:23:34.000000000","message":"I agree.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if source_host !\u003d target_host:"},{"line_number":118,"context_line":"                return target_host"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _migrate_server_to(self, server_id, dest_host):"},{"line_number":121,"context_line":"        block_migration \u003d (CONF.compute_feature_enabled."},{"line_number":122,"context_line":"                           block_migration_for_live_migration)"},{"line_number":123,"context_line":"        self.admin_servers_client.live_migrate_server("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_45e4df0e","line":120,"in_reply_to":"5f7c97a3_7eb980ea","updated":"2018-06-05 02:39:15.000000000","message":"Done","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"6f7bb38045c6310f4bb7669e2a599e10655ee344","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":264,"context_line":"            server, keypair, floating_ip)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        destination_host \u003d self._get_host_other_than(server[\u0027id\u0027])"},{"line_number":267,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_bec2b833","line":266,"updated":"2018-06-04 08:23:34.000000000","message":"HERE THERE IS A BUG: please note that according to current implementation destination host could be None. This is a bug because such condition is not handled and according to the status of the cloud (IE when there are no other hypervisor host available) this test could fail with an error because of \u0027destination_host\u0027 is None. I would prefer self._get_host_other_than would raise an exception (like self.skipException instead of returning None. Please look at my suggestion how to handle it at line 118.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"890925779274a22be8e7e3044e103b40bb2fb49d","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":264,"context_line":"            server, keypair, floating_ip)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        destination_host \u003d self._get_host_other_than(server[\u0027id\u0027])"},{"line_number":267,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e0787990","line":266,"in_reply_to":"5f7c97a3_bec2b833","updated":"2018-06-05 02:39:15.000000000","message":"If less than 2 compute nodes,the test case can\u0027t be execute,so the destination_host couldn\u0027t be None.","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"3469f13e1467fd4863ac10bce56ba763a348f7d5","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":264,"context_line":"            server, keypair, floating_ip)"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"        destination_host \u003d self._get_host_other_than(server[\u0027id\u0027])"},{"line_number":267,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e8ba976c","line":266,"in_reply_to":"5f7c97a3_e0787990","updated":"2018-06-06 09:16:49.000000000","message":"Sorry I missed the check at line 254","commit_id":"16ef0c9eb39cfe9bd0fc72ae2fe13fbb0f1cbab3"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"9a783b852746575bd7722b2f86f6582eeb7dd511","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                       \u0027ACTIVE\u0027)"},{"line_number":103,"context_line":"        self._check_network_connectivity(server, keypair, floating_ip)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _get_host_for_server(self, server_id):"},{"line_number":106,"context_line":"        body \u003d self.admin_servers_client.show_server(server_id)[\u0027server\u0027]"},{"line_number":107,"context_line":"        return body[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _get_different_host_for_server(self, server_id):"},{"line_number":110,"context_line":"        source_host \u003d self._get_host_for_server(server_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_9454cec6","line":107,"range":{"start_line":105,"start_character":0,"end_line":107,"end_character":43},"updated":"2018-11-26 02:09:48.000000000","message":"You can use scenario.managr.get_host_for_server","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"1a4c69637c2c8d2dad1a11e6b6dc507bea99ff21","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                       \u0027ACTIVE\u0027)"},{"line_number":103,"context_line":"        self._check_network_connectivity(server, keypair, floating_ip)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _get_host_for_server(self, server_id):"},{"line_number":106,"context_line":"        body \u003d self.admin_servers_client.show_server(server_id)[\u0027server\u0027]"},{"line_number":107,"context_line":"        return body[\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    def _get_different_host_for_server(self, server_id):"},{"line_number":110,"context_line":"        source_host \u003d self._get_host_for_server(server_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_94e4cea8","line":107,"range":{"start_line":105,"start_character":0,"end_line":107,"end_character":43},"in_reply_to":"3f79a3b5_9454cec6","updated":"2018-11-26 03:30:28.000000000","message":"Done","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"9a783b852746575bd7722b2f86f6582eeb7dd511","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":272,"context_line":"            server, keypair, floating_ip)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        destination_host \u003d self._get_different_host_for_server(server[\u0027id\u0027])"},{"line_number":275,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_94228e52","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":76},"updated":"2018-11-26 02:09:48.000000000","message":"Live migrate can select dest host automatically, so I wonder why we must specify dest host here?","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"c4842cbec7d06141c676a393bc38fa479e1d22a8","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":272,"context_line":"            server, keypair, floating_ip)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        destination_host \u003d self._get_different_host_for_server(server[\u0027id\u0027])"},{"line_number":275,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_8fd7db21","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":76},"in_reply_to":"3f79a3b5_14e67edc","updated":"2018-11-26 05:14:36.000000000","message":"Live migrate can pass host\u003dNone","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"99ecac2056d95363a3afe972aefac9a3a02b1c14","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":272,"context_line":"            server, keypair, floating_ip)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        destination_host \u003d self._get_different_host_for_server(server[\u0027id\u0027])"},{"line_number":275,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_01915f50","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":76},"in_reply_to":"3f79a3b5_8fd7db21","updated":"2018-11-26 06:41:19.000000000","message":"Yes,you are right.","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"},{"author":{"_account_id":21897,"name":"lianghao","email":"lianghao@cmss.chinamobile.com","username":"cloud-liang"},"change_message_id":"1a4c69637c2c8d2dad1a11e6b6dc507bea99ff21","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        self._wait_server_status_and_check_network_connectivity("},{"line_number":272,"context_line":"            server, keypair, floating_ip)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        destination_host \u003d self._get_different_host_for_server(server[\u0027id\u0027])"},{"line_number":275,"context_line":"        self._live_migrate(server[\u0027id\u0027], destination_host, \u0027ACTIVE\u0027)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._wait_server_status_and_check_network_connectivity("}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_14e67edc","line":274,"range":{"start_line":274,"start_character":8,"end_line":274,"end_character":76},"in_reply_to":"3f79a3b5_94228e52","updated":"2018-11-26 03:30:28.000000000","message":"1.Migrate can select dest host automatically.\n2.Live migrate must select dest host .\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003dmigrate-server-migrate-action-detail,live-migrate-server-os-migratelive-action-detail","commit_id":"cf7838efe65fdd0dbcee23ab277981d587572092"}]}
