diff --git a/tempest/api/compute/admin/test_aggregates.py b/tempest/api/compute/admin/test_aggregates.py index c9d5733ef1..bf46320f06 100644 --- a/tempest/api/compute/admin/test_aggregates.py +++ b/tempest/api/compute/admin/test_aggregates.py @@ -224,11 +224,10 @@ class AggregatesAdminTestJSON(AggregatesAdminTestBase): self.client.add_host(aggregate['id'], host=host) self.addCleanup(self.client.remove_host, aggregate['id'], host=host) - admin_servers_client = self.os_admin.servers_client server = self.create_test_server(availability_zone=az_name, wait_until='ACTIVE') - body = admin_servers_client.show_server(server['id'])['server'] - self.assertEqual(host, body['OS-EXT-SRV-ATTR:host']) + server_host = self.get_host_for_server(server['id']) + self.assertEqual(host, server_host) class AggregatesAdminTestV241(AggregatesAdminTestBase): diff --git a/tempest/api/compute/admin/test_migrations.py b/tempest/api/compute/admin/test_migrations.py index e030575bf9..83f2e610fe 100644 --- a/tempest/api/compute/admin/test_migrations.py +++ b/tempest/api/compute/admin/test_migrations.py @@ -114,8 +114,7 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest): raise self.skipException(msg) server = self.create_test_server(wait_until="ACTIVE") - src_host = self.admin_servers_client.show_server( - server['id'])['server']['OS-EXT-SRV-ATTR:host'] + src_host = self.get_host_for_server(server['id']) self.admin_servers_client.migrate_server(server['id']) @@ -131,8 +130,7 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest): waiters.wait_for_server_status(self.servers_client, server['id'], 'ACTIVE') - dst_host = self.admin_servers_client.show_server( - server['id'])['server']['OS-EXT-SRV-ATTR:host'] + dst_host = self.get_host_for_server(server['id']) assert_func(src_host, dst_host) @decorators.idempotent_id('4bf0be52-3b6f-4746-9a27-3143636fe30d') diff --git a/tempest/api/compute/admin/test_servers_on_multinodes.py b/tempest/api/compute/admin/test_servers_on_multinodes.py index d32a5b4dfb..5cd98f4a4c 100644 --- a/tempest/api/compute/admin/test_servers_on_multinodes.py +++ b/tempest/api/compute/admin/test_servers_on_multinodes.py @@ -28,7 +28,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): def resource_setup(cls): super(ServersOnMultiNodesTest, cls).resource_setup() cls.server01 = cls.create_test_server(wait_until='ACTIVE')['id'] - cls.host01 = cls._get_host(cls.server01) + cls.host01 = cls.get_host_for_server(cls.server01) @classmethod def skip_checks(cls): @@ -38,11 +38,6 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): raise cls.skipException( "Less than 2 compute nodes, skipping multi-nodes test.") - @classmethod - def _get_host(cls, server_id): - return cls.os_admin.servers_client.show_server( - server_id)['server']['OS-EXT-SRV-ATTR:host'] - def _create_servers_with_group(self, policy): group_id = self.create_test_server_group(policy=[policy])['id'] hints = {'group': group_id} @@ -61,7 +56,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): hosts = {} for server in servers: self.assertIn(server['id'], server_group['members']) - hosts[server['id']] = self._get_host(server['id']) + hosts[server['id']] = self.get_host_for_server(server['id']) return hosts @@ -73,7 +68,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): hints = {'same_host': self.server01} server02 = self.create_test_server(scheduler_hints=hints, wait_until='ACTIVE')['id'] - host02 = self._get_host(server02) + host02 = self.get_host_for_server(server02) self.assertEqual(self.host01, host02) @decorators.idempotent_id('cc7ca884-6e3e-42a3-a92f-c522fcf25e8e') @@ -84,7 +79,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): hints = {'different_host': self.server01} server02 = self.create_test_server(scheduler_hints=hints, wait_until='ACTIVE')['id'] - host02 = self._get_host(server02) + host02 = self.get_host_for_server(server02) self.assertNotEqual(self.host01, host02) @decorators.idempotent_id('7869cc84-d661-4e14-9f00-c18cdc89cf57') @@ -96,7 +91,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest): hints = {'different_host': [self.server01]} server02 = self.create_test_server(scheduler_hints=hints, wait_until='ACTIVE')['id'] - host02 = self._get_host(server02) + host02 = self.get_host_for_server(server02) self.assertNotEqual(self.host01, host02) @decorators.idempotent_id('f8bd0867-e459-45f5-ba53-59134552fe04') diff --git a/tempest/api/compute/base.py b/tempest/api/compute/base.py index 7fbb9941ef..701b37189a 100644 --- a/tempest/api/compute/base.py +++ b/tempest/api/compute/base.py @@ -604,8 +604,9 @@ class BaseV2ComputeAdminTest(BaseV2ComputeTest): self.addCleanup(client.delete_flavor, flavor['id']) return flavor - def get_host_for_server(self, server_id): - server_details = self.admin_servers_client.show_server(server_id) + @classmethod + def get_host_for_server(cls, server_id): + server_details = cls.admin_servers_client.show_server(server_id) return server_details['server']['OS-EXT-SRV-ATTR:host'] def get_host_other_than(self, server_id): diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py index cdc30b91ff..dff50a9817 100644 --- a/tempest/scenario/manager.py +++ b/tempest/scenario/manager.py @@ -704,6 +704,11 @@ class ScenarioTest(tempest.test.BaseTestCase): else: raise lib_exc.InvalidConfiguration() + @classmethod + def get_host_for_server(cls, server_id): + server_details = cls.os_admin.servers_client.show_server(server_id) + return server_details['server']['OS-EXT-SRV-ATTR:host'] + class NetworkScenarioTest(ScenarioTest): """Base class for network scenario tests. diff --git a/tempest/scenario/test_network_advanced_server_ops.py b/tempest/scenario/test_network_advanced_server_ops.py index 7452ee6a1c..8827610d63 100644 --- a/tempest/scenario/test_network_advanced_server_ops.py +++ b/tempest/scenario/test_network_advanced_server_ops.py @@ -102,10 +102,6 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest): 'ACTIVE') self._check_network_connectivity(server, keypair, floating_ip) - def _get_host_for_server(self, server_id): - body = self.admin_servers_client.show_server(server_id)['server'] - return body['OS-EXT-SRV-ATTR:host'] - @decorators.idempotent_id('61f1aa9a-1573-410e-9054-afa557cab021') @decorators.attr(type='slow') @utils.services('compute', 'network') @@ -220,7 +216,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest): keypair = self.create_keypair() server = self._setup_server(keypair) floating_ip = self._setup_network(server, keypair) - src_host = self._get_host_for_server(server['id']) + src_host = self.get_host_for_server(server['id']) self._wait_server_status_and_check_network_connectivity( server, keypair, floating_ip) @@ -230,7 +226,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest): self.servers_client.confirm_resize_server(server['id']) self._wait_server_status_and_check_network_connectivity( server, keypair, floating_ip) - dst_host = self._get_host_for_server(server['id']) + dst_host = self.get_host_for_server(server['id']) self.assertNotEqual(src_host, dst_host) @@ -246,7 +242,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest): keypair = self.create_keypair() server = self._setup_server(keypair) floating_ip = self._setup_network(server, keypair) - src_host = self._get_host_for_server(server['id']) + src_host = self.get_host_for_server(server['id']) self._wait_server_status_and_check_network_connectivity( server, keypair, floating_ip) @@ -256,6 +252,6 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest): self.servers_client.revert_resize_server(server['id']) self._wait_server_status_and_check_network_connectivity( server, keypair, floating_ip) - dst_host = self._get_host_for_server(server['id']) + dst_host = self.get_host_for_server(server['id']) self.assertEqual(src_host, dst_host) diff --git a/tempest/scenario/test_security_groups_basic_ops.py b/tempest/scenario/test_security_groups_basic_ops.py index f5805ef1c5..28a2d64fb5 100644 --- a/tempest/scenario/test_security_groups_basic_ops.py +++ b/tempest/scenario/test_security_groups_basic_ops.py @@ -282,11 +282,8 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest): # Verify servers are on different compute nodes if self.multi_node: - adm_get_server = self.os_admin.servers_client.show_server - new_host = adm_get_server(server["id"])["server"][ - "OS-EXT-SRV-ATTR:host"] - host_list = [adm_get_server(s)["server"]["OS-EXT-SRV-ATTR:host"] - for s in self.servers] + new_host = self.get_host_for_server(server["id"]) + host_list = [self.get_host_for_server(s) for s in self.servers] self.assertNotIn(new_host, host_list, message="Failed to boot servers on different " "Compute nodes.")