diff --git a/ranger_tempest_plugin/tests/api/fms_base.py b/ranger_tempest_plugin/tests/api/fms_base.py index 3ca9b62..95746be 100755 --- a/ranger_tempest_plugin/tests/api/fms_base.py +++ b/ranger_tempest_plugin/tests/api/fms_base.py @@ -179,15 +179,21 @@ class FmsBaseOrmTest(base.BaseOrmTest): cls, flavor_id, rname): cls.client.delete_region_from_flavor(flavor_id, rname) - time.sleep(10) - + delete_loop_counter = 0 _, body = cls.client.get_flavor(flavor_id) - for regions_on_flavor in body['flavor']['regions']: - if regions_on_flavor['name'] == rname: - message = \ - 'Region {} failed to get deleted from flavor {}' \ - .format(rname, flavor_id) - raise exceptions.TempestException(message) + + while delete_loop_counter <= 5: + delete_loop_counter += 1 + for regions_on_flavor in body['flavor']['regions']: + if regions_on_flavor['name'] == rname: + time.sleep(cls.build_interval) + _, body = cls.client.get_flavor(flavor_id) + + if delete_loop_counter >= 5: + message = \ + 'Region {} failed to get deleted from flavor {}' \ + .format(rname, flavor_id) + raise exceptions.TempestException(message) @classmethod def _wait_for_flavor_deletion_on_dcp(cls, flavor_id): diff --git a/ranger_tempest_plugin/tests/api/test_flavors.py b/ranger_tempest_plugin/tests/api/test_flavors.py index c1ad26e..1fd7ae1 100755 --- a/ranger_tempest_plugin/tests/api/test_flavors.py +++ b/ranger_tempest_plugin/tests/api/test_flavors.py @@ -34,7 +34,7 @@ SYNC = lockutils.synchronized_with_prefix(PREFIX) class TestTempestFms(fms_base.FmsBaseOrmTest): region = CONF.identity.region - region_alt = CONF.ranger.alt_region + alt_region = CONF.ranger.alt_region @classmethod def setup_clients(cls): @@ -115,7 +115,7 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): def _create_region_group(self): _, body = self.rms_client.create_region_group( **orm_data_utils.rand_region_group([self.region, - self.region_alt]) + self.alt_region]) ) group_id = body['group']['id'] self.addCleanup( @@ -339,6 +339,7 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): # restore deleted tags self._exec_tags_function(self.flavor['id'], restore_tags, 'add', None) + @SYNC('alt_region') @testtools.skipUnless(CONF.ranger.alt_region_available, 'Alt region not provided, skipping this test') @decorators.idempotent_id('ec74d68f-b42a-41a8-9685-ff5eca25ea0c') @@ -538,6 +539,7 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): self.assertEqual(flavor_details["status"], "Success") self.assertEqual(flavor_details["disk"], disk) + @SYNC('alt_region') @testtools.skipUnless(CONF.ranger.alt_region_available, 'Alt region not provided, skipping this test') @decorators.idempotent_id('997ca03c-4176-4632-a0c9-7e943b03306c') @@ -552,15 +554,19 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): flavor_details = self._get_flavor_details(test_flavor_id) self.assertEqual(flavor_details['status'], 'Success') - self.assertEqual(flavor['regions'][0]['name'], CONF.identity.region) + assert self.region or self.alt_region in \ + flavor['regions'][0]['name'] + assert self.region or self.alt_region in \ + flavor['regions'][1]['name'] + @SYNC('alt_region') @testtools.skipUnless(CONF.ranger.alt_region_available, 'Alt region not provided, skipping this test') @decorators.idempotent_id('ea2a618e-bd53-460b-bde5-01ea20b417c9') def test_create_flavor_with_two_regions(self): post_body = self._get_flavor_params() post_body['regions'].append( - {'name': self.region_alt} + {'name': self.alt_region} ) flavor = self._data_setup(post_body) test_flavor_id = flavor['id'] @@ -568,6 +574,7 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): self.assertEqual(flavor_details['status'], 'Success') self.assertEqual(len(flavor['regions']), 2) + @SYNC('alt_region') @testtools.skipUnless(CONF.ranger.alt_region_available, 'Alt region not provided, skipping this test') @decorators.idempotent_id('06c81b29-85b6-4edf-ab89-3877c49e23bc') @@ -583,8 +590,8 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): flavor = self._data_setup(post_body) flavor_details = self._get_flavor_details(flavor['id']) self.assertEqual(flavor_details['status'], 'Success') - assert self.region_alt or self.region in flavor['regions'][0]['name'] - assert self.region_alt or self.region in flavor['regions'][1]['name'] + assert self.alt_region or self.region in flavor['regions'][0]['name'] + assert self.alt_region or self.region in flavor['regions'][1]['name'] @decorators.idempotent_id('997ca03c-4176-4632-a0c9-7e943b03306d') def test_create_flavor_with_uuid(self): @@ -594,17 +601,18 @@ class TestTempestFms(fms_base.FmsBaseOrmTest): self.assertEqual(flavor_details['status'], 'Success') self.assertEqual(flavor['id'], post_body['id']) + @SYNC('alt_region') @decorators.idempotent_id('37f1909f-3ba2-403c-ba0c-0a11b869d6a1') def test_flavor_while_region_down(self): # update region to status down - self._update_region(self.region, status={'status': 'down'}) + self._update_region(self.alt_region, status={'status': 'down'}) # create flavor within that newly created region post_body = self._get_flavor_params(set_region=False) - post_body['regions'] = [{'name': self.region}] + post_body['regions'] = [{'name': self.alt_region}] self.assertRaises(exceptions.BadRequest, self.client.create_flavor, **post_body) - self._update_region(self.region) + self._update_region(self.alt_region) @decorators.idempotent_id('1c6a24d3-345e-46d4-aaa0-127b7fc8a42d') def test_flavor_while_region_building(self):