From b4fdd681c3863b4c6f8ef5fa4134f3c63e8fd4fe Mon Sep 17 00:00:00 2001 From: Sean McGinnis Date: Fri, 19 Jan 2018 16:33:38 -0600 Subject: [PATCH] Handle missing flavor.id in server response Change Ie2d57029ad01cbe9e2b015857d6b95f77a97be19 introduced checks for a servers flavor ID. This data is no longer returned after Nova API microversion 2.46, causing problems for any tests/clients requesting a higher version number. Since these tests are not concerned with validating flavors, just check if it is returned in the base class and skip the check if it is not available. Change-Id: Id7760cdfb9874014e03c7d8ebe269a03562bde18 Closes-bug: #1744401 --- tempest/api/compute/base.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tempest/api/compute/base.py b/tempest/api/compute/base.py index a5d5c57c7c..83fabdb6a1 100644 --- a/tempest/api/compute/base.py +++ b/tempest/api/compute/base.py @@ -377,10 +377,12 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest, 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'] - 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) + # 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) @classmethod def delete_volume(cls, volume_id):