Merge "Do not check flavor.id after Microversion 2.46"
This commit is contained in:
commit
0445a5cfc0
|
@ -106,7 +106,7 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest):
|
|||
'ACTIVE')
|
||||
|
||||
server = self.servers_client.show_server(server['id'])['server']
|
||||
self.assertEqual(flavor['id'], server['flavor']['id'])
|
||||
self.assert_flavor_equal(flavor['id'], server['flavor'])
|
||||
|
||||
def _test_cold_migrate_server(self, revert=False):
|
||||
if CONF.compute.min_compute_nodes < 2:
|
||||
|
|
|
@ -176,7 +176,7 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
|
|||
self.assertEqual(self.s1_id, rebuilt_server['id'])
|
||||
rebuilt_image_id = rebuilt_server['image']['id']
|
||||
self.assertEqual(self.image_ref_alt, rebuilt_image_id)
|
||||
self.assertEqual(self.flavor_ref, rebuilt_server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref, rebuilt_server['flavor'])
|
||||
waiters.wait_for_server_status(self.non_admin_client,
|
||||
rebuilt_server['id'], 'ACTIVE',
|
||||
raise_on_error=False)
|
||||
|
|
|
@ -428,21 +428,16 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||
except Exception:
|
||||
LOG.exception('Failed to delete server %s', server_id)
|
||||
|
||||
@classmethod
|
||||
def resize_server(cls, server_id, new_flavor_id, **kwargs):
|
||||
def resize_server(self, server_id, new_flavor_id, **kwargs):
|
||||
"""resize and confirm_resize an server, waits for it to be ACTIVE."""
|
||||
cls.servers_client.resize_server(server_id, new_flavor_id, **kwargs)
|
||||
waiters.wait_for_server_status(cls.servers_client, server_id,
|
||||
self.servers_client.resize_server(server_id, new_flavor_id, **kwargs)
|
||||
waiters.wait_for_server_status(self.servers_client, server_id,
|
||||
'VERIFY_RESIZE')
|
||||
cls.servers_client.confirm_resize_server(server_id)
|
||||
waiters.wait_for_server_status(cls.servers_client, server_id, 'ACTIVE')
|
||||
server = cls.servers_client.show_server(server_id)['server']
|
||||
# Nova API > 2.46 no longer includes flavor.id
|
||||
if server['flavor'].get('id'):
|
||||
if new_flavor_id != server['flavor']['id']:
|
||||
msg = ('Flavor id of %s is not equal to new_flavor_id.'
|
||||
% server_id)
|
||||
raise lib_exc.TempestException(msg)
|
||||
self.servers_client.confirm_resize_server(server_id)
|
||||
waiters.wait_for_server_status(
|
||||
self.servers_client, server_id, 'ACTIVE')
|
||||
server = self.servers_client.show_server(server_id)['server']
|
||||
self.assert_flavor_equal(new_flavor_id, server['flavor'])
|
||||
|
||||
@classmethod
|
||||
def delete_volume(cls, volume_id):
|
||||
|
@ -561,6 +556,27 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
|||
volume['id'], 'in-use')
|
||||
return attachment
|
||||
|
||||
def assert_flavor_equal(self, flavor_id, server_flavor):
|
||||
"""Check whether server_flavor equals to flavor.
|
||||
|
||||
:param flavor_id: flavor id
|
||||
:param server_flavor: flavor info returned by show_server.
|
||||
"""
|
||||
# Nova API > 2.46 no longer includes flavor.id, and schema check
|
||||
# will cover whether 'id' should be in flavor
|
||||
if server_flavor.get('id'):
|
||||
msg = ('server flavor is not same as flavor!')
|
||||
self.assertEqual(flavor_id, server_flavor['id'], msg)
|
||||
else:
|
||||
flavor = self.flavors_client.show_flavor(flavor_id)['flavor']
|
||||
self.assertEqual(flavor['name'], server_flavor['original_name'],
|
||||
"original_name in server flavor is not same as "
|
||||
"flavor name!")
|
||||
for key in ['ram', 'vcpus', 'disk']:
|
||||
msg = ('attribute %s in server flavor is not same as '
|
||||
'flavor!' % key)
|
||||
self.assertEqual(flavor[key], server_flavor[key], msg)
|
||||
|
||||
|
||||
class BaseV2ComputeAdminTest(BaseV2ComputeTest):
|
||||
"""Base test case class for Compute Admin API tests."""
|
||||
|
|
|
@ -80,7 +80,7 @@ class ServersTestJSON(base.BaseV2ComputeTest):
|
|||
self.assertEqual("", self.server['image'])
|
||||
else:
|
||||
self.assertEqual(self.image_ref, self.server['image']['id'])
|
||||
self.assertEqual(self.flavor_ref, self.server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref, self.server['flavor'])
|
||||
self.assertEqual(self.meta, self.server['metadata'])
|
||||
|
||||
@decorators.attr(type='smoke')
|
||||
|
|
|
@ -197,7 +197,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
|||
self.assertEqual(self.server_id, rebuilt_server['id'])
|
||||
rebuilt_image_id = rebuilt_server['image']['id']
|
||||
self.assertTrue(self.image_ref_alt.endswith(rebuilt_image_id))
|
||||
self.assertEqual(self.flavor_ref, rebuilt_server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref, rebuilt_server['flavor'])
|
||||
|
||||
# Verify the server properties after the rebuild completes
|
||||
waiters.wait_for_server_status(self.client,
|
||||
|
@ -251,7 +251,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
|||
self.assertEqual(self.server_id, rebuilt_server['id'])
|
||||
rebuilt_image_id = rebuilt_server['image']['id']
|
||||
self.assertEqual(new_image, rebuilt_image_id)
|
||||
self.assertEqual(self.flavor_ref, rebuilt_server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref, rebuilt_server['flavor'])
|
||||
|
||||
# Verify the server properties after the rebuild completes
|
||||
waiters.wait_for_server_status(self.client,
|
||||
|
@ -303,7 +303,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
|||
expected_status)
|
||||
|
||||
server = self.client.show_server(server_id)['server']
|
||||
self.assertEqual(self.flavor_ref_alt, server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref_alt, server['flavor'])
|
||||
|
||||
if stop:
|
||||
# NOTE(mriedem): tearDown requires the server to be started.
|
||||
|
@ -367,7 +367,7 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
|||
waiters.wait_for_server_status(self.client, self.server_id, 'ACTIVE')
|
||||
|
||||
server = self.client.show_server(self.server_id)['server']
|
||||
self.assertEqual(self.flavor_ref, server['flavor']['id'])
|
||||
self.assert_flavor_equal(self.flavor_ref, server['flavor'])
|
||||
|
||||
@decorators.idempotent_id('fbbf075f-a812-4022-bc5c-ccb8047eef12')
|
||||
@decorators.related_bug('1737599')
|
||||
|
|
|
@ -197,7 +197,14 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
|
|||
'VERIFY_RESIZE')
|
||||
self.servers_client.confirm_resize_server(server['id'])
|
||||
server = self.servers_client.show_server(server['id'])['server']
|
||||
self.assertEqual(resize_flavor, server['flavor']['id'])
|
||||
# Nova API > 2.46 no longer includes flavor.id, and schema check
|
||||
# will cover whether 'id' should be in flavor
|
||||
if server['flavor'].get('id'):
|
||||
self.assertEqual(resize_flavor, server['flavor']['id'])
|
||||
else:
|
||||
flavor = self.flavors_client.show_flavor(resize_flavor)['flavor']
|
||||
for key in ['original_name', 'ram', 'vcpus', 'disk']:
|
||||
self.assertEqual(flavor[key], server['flavor'][key])
|
||||
self._wait_server_status_and_check_network_connectivity(
|
||||
server, keypair, floating_ip)
|
||||
|
||||
|
|
Loading…
Reference in New Issue