Merge "Remove skip of test_stamp_pattern"
diff --git a/tempest/api/compute/admin/test_flavors.py b/tempest/api/compute/admin/test_flavors.py
index 3fd1612..f615c8a 100644
--- a/tempest/api/compute/admin/test_flavors.py
+++ b/tempest/api/compute/admin/test_flavors.py
@@ -50,50 +50,22 @@
cls.swap = 1024
cls.rxtx = 2
- def flavor_clean_up(self, flavor_id):
- self.client.delete_flavor(flavor_id)
- self.client.wait_for_resource_deletion(flavor_id)
-
- def _create_flavor(self, flavor_id):
- # Create a flavor and ensure it is listed
- # This operation requires the user to have 'admin' role
- flavor_name = data_utils.rand_name(self.flavor_name_prefix)
-
- # Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=flavor_id,
- ephemeral=self.ephemeral,
- swap=self.swap,
- rxtx_factor=self.rxtx)['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
- self.assertEqual(flavor['name'], flavor_name)
- self.assertEqual(flavor['vcpus'], self.vcpus)
- self.assertEqual(flavor['disk'], self.disk)
- self.assertEqual(flavor['ram'], self.ram)
- self.assertEqual(flavor['swap'], self.swap)
- self.assertEqual(flavor['rxtx_factor'], self.rxtx)
- self.assertEqual(flavor['OS-FLV-EXT-DATA:ephemeral'],
- self.ephemeral)
- self.assertEqual(flavor['os-flavor-access:is_public'], True)
-
- # Verify flavor is retrieved
- flavor = self.client.show_flavor(flavor['id'])['flavor']
- self.assertEqual(flavor['name'], flavor_name)
-
- return flavor['id']
-
@decorators.idempotent_id('8b4330e1-12c4-4554-9390-e6639971f086')
def test_create_flavor_with_int_id(self):
flavor_id = data_utils.rand_int_id(start=1000)
- new_flavor_id = self._create_flavor(flavor_id)
+ new_flavor_id = self.create_flavor(ram=self.ram,
+ vcpus=self.vcpus,
+ disk=self.disk,
+ id=flavor_id)['id']
self.assertEqual(new_flavor_id, str(flavor_id))
@decorators.idempotent_id('94c9bb4e-2c2a-4f3c-bb1f-5f0daf918e6d')
def test_create_flavor_with_uuid_id(self):
flavor_id = data_utils.rand_uuid()
- new_flavor_id = self._create_flavor(flavor_id)
+ new_flavor_id = self.create_flavor(ram=self.ram,
+ vcpus=self.vcpus,
+ disk=self.disk,
+ id=flavor_id)['id']
self.assertEqual(new_flavor_id, flavor_id)
@decorators.idempotent_id('f83fe669-6758-448a-a85e-32d351f36fe0')
@@ -101,7 +73,10 @@
# If nova receives a request with None as flavor_id,
# nova generates flavor_id of uuid.
flavor_id = None
- new_flavor_id = self._create_flavor(flavor_id)
+ new_flavor_id = self.create_flavor(ram=self.ram,
+ vcpus=self.vcpus,
+ disk=self.disk,
+ id=flavor_id)['id']
self.assertEqual(new_flavor_id, str(uuid.UUID(new_flavor_id)))
@decorators.idempotent_id('8261d7b0-be58-43ec-a2e5-300573c3f6c5')
@@ -109,17 +84,14 @@
# Create a flavor and ensure it's details are listed
# This operation requires the user to have 'admin' role
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
- new_flavor_id = data_utils.rand_int_id(start=1000)
# Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id,
- ephemeral=self.ephemeral,
- swap=self.swap,
- rxtx_factor=self.rxtx)['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ flavor = self.create_flavor(name=flavor_name,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ ephemeral=self.ephemeral,
+ swap=self.swap,
+ rxtx_factor=self.rxtx)
flag = False
# Verify flavor is retrieved
flavors = self.client.list_flavors(detail=True)['flavors']
@@ -144,11 +116,10 @@
new_flavor_id = data_utils.rand_int_id(start=1000)
# Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id)['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ flavor = self.create_flavor(name=flavor_name,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ id=new_flavor_id)
self.assertEqual(flavor['name'], flavor_name)
self.assertEqual(flavor['ram'], self.ram)
self.assertEqual(flavor['vcpus'], self.vcpus)
@@ -177,15 +148,12 @@
# tenant is not automatically added access list.
# This operation requires the user to have 'admin' role
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
- new_flavor_id = data_utils.rand_int_id(start=1000)
# Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id,
- is_public="False")['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ flavor = self.create_flavor(name=flavor_name,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ is_public="False")
# Verify flavor is retrieved
flag = False
flavors = self.client.list_flavors(detail=True)['flavors']
@@ -205,16 +173,9 @@
@decorators.idempotent_id('bcc418ef-799b-47cc-baa1-ce01368b8987')
def test_create_server_with_non_public_flavor(self):
# Create a flavor with os-flavor-access:is_public false
- flavor_name = data_utils.rand_name(self.flavor_name_prefix)
- new_flavor_id = data_utils.rand_int_id(start=1000)
-
- # Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id,
- is_public="False")['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ flavor = self.create_flavor(ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ is_public="False")
# Verify flavor is not used by other user
self.assertRaises(lib_exc.BadRequest,
@@ -227,15 +188,12 @@
# Create a Flavor with public access.
# Try to List/Get flavor with another user
flavor_name = data_utils.rand_name(self.flavor_name_prefix)
- new_flavor_id = data_utils.rand_int_id(start=1000)
# Create the flavor
- flavor = self.client.create_flavor(name=flavor_name,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id,
- is_public="True")['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ flavor = self.create_flavor(name=flavor_name,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ is_public="True")
flag = False
self.new_client = self.flavors_client
# Verify flavor is retrieved with new user
@@ -247,26 +205,20 @@
@decorators.idempotent_id('fb9cbde6-3a0e-41f2-a983-bdb0a823c44e')
def test_is_public_string_variations(self):
- flavor_id_not_public = data_utils.rand_int_id(start=1000)
flavor_name_not_public = data_utils.rand_name(self.flavor_name_prefix)
- flavor_id_public = data_utils.rand_int_id(start=1000)
flavor_name_public = data_utils.rand_name(self.flavor_name_prefix)
# Create a non public flavor
- flavor = self.client.create_flavor(name=flavor_name_not_public,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=flavor_id_not_public,
- is_public="False")['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ self.create_flavor(name=flavor_name_not_public,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ is_public="False")
# Create a public flavor
- flavor = self.client.create_flavor(name=flavor_name_public,
- ram=self.ram, vcpus=self.vcpus,
- disk=self.disk,
- id=flavor_id_public,
- is_public="True")['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
+ self.create_flavor(name=flavor_name_public,
+ ram=self.ram, vcpus=self.vcpus,
+ disk=self.disk,
+ is_public="True")
def _flavor_lookup(flavors, flavor_name):
for flavor in flavors:
@@ -290,17 +242,11 @@
@decorators.idempotent_id('3b541a2e-2ac2-4b42-8b8d-ba6e22fcd4da')
def test_create_flavor_using_string_ram(self):
- flavor_name = data_utils.rand_name(self.flavor_name_prefix)
new_flavor_id = data_utils.rand_int_id(start=1000)
ram = "1024"
- flavor = self.client.create_flavor(name=flavor_name,
- ram=ram, vcpus=self.vcpus,
- disk=self.disk,
- id=new_flavor_id)['flavor']
- self.addCleanup(self.flavor_clean_up, flavor['id'])
- self.assertEqual(flavor['name'], flavor_name)
- self.assertEqual(flavor['vcpus'], self.vcpus)
- self.assertEqual(flavor['disk'], self.disk)
+ flavor = self.create_flavor(ram=ram, vcpus=self.vcpus,
+ disk=self.disk,
+ id=new_flavor_id)
self.assertEqual(flavor['ram'], int(ram))
self.assertEqual(int(flavor['id']), new_flavor_id)
diff --git a/tempest/api/compute/base.py b/tempest/api/compute/base.py
index c3c5460..c636894 100644
--- a/tempest/api/compute/base.py
+++ b/tempest/api/compute/base.py
@@ -467,3 +467,17 @@
super(BaseV2ComputeAdminTest, cls).setup_clients()
cls.availability_zone_admin_client = (
cls.os_adm.availability_zone_client)
+ cls.admin_flavors_client = cls.os_adm.flavors_client
+
+ def create_flavor(self, ram, vcpus, disk, name=None,
+ is_public='True', **kwargs):
+ if name is None:
+ name = data_utils.rand_name(self.__class__.__name__ + "-flavor")
+ id = kwargs.pop('id', data_utils.rand_int_id(start=1000))
+ client = self.admin_flavors_client
+ flavor = client.create_flavor(
+ ram=ram, vcpus=vcpus, disk=disk, name=name,
+ id=id, is_public=is_public, **kwargs)['flavor']
+ self.addCleanup(client.wait_for_resource_deletion, flavor['id'])
+ self.addCleanup(client.delete_flavor, flavor['id'])
+ return flavor