Add test related to FMS
- create flavor with swap and ephemeral paramters - create flavor with disk size zero - verify additional paramters in list flavor - create flavor with region group type - create flavor with region group type and a single region - create flavor with two regions - create flavour with uuid passed explicitly fixed Issue with pylint - ranger_tempest_plugin/config.py:19: [C0103(invalid-name), ] - ranger_tempest_plugin/config.py:24: [C0103(invalid-name), ] - ranger_tempest_plugin/config.py:29: [C0103(invalid-name), ] - ranger_tempest_plugin/config.py:34: [C0103(invalid-name), ] Change-Id: I695a3f23d8c1d6034c465a03a709b877995ecb95
This commit is contained in:
parent
1637826d1e
commit
9eb04e2737
@ -16,22 +16,22 @@
|
|||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
|
|
||||||
|
|
||||||
service_available_group = cfg.OptGroup(
|
SERVICE_AVAILABLE_GROUP = cfg.OptGroup(
|
||||||
name="service_available",
|
name="service_available",
|
||||||
title="Available OpenStack Services"
|
title="Available OpenStack Services"
|
||||||
)
|
)
|
||||||
|
|
||||||
ServiceAvailableGroup = [
|
ORM_SERVICE_AVAILABLE_GROUP = [
|
||||||
cfg.BoolOpt("ranger", default=False,
|
cfg.BoolOpt("ranger", default=False,
|
||||||
help="Whether or not ranger is expected to be available")
|
help="Whether or not ranger is expected to be available")
|
||||||
]
|
]
|
||||||
|
|
||||||
orm_group = cfg.OptGroup(
|
ORM_GROUP = cfg.OptGroup(
|
||||||
name="ranger",
|
name="ranger",
|
||||||
title="Ranger Service option"
|
title="Ranger Service option"
|
||||||
)
|
)
|
||||||
|
|
||||||
OrmGroup = [
|
ORM_GROUP_OPTIONS = [
|
||||||
cfg.StrOpt("uri",
|
cfg.StrOpt("uri",
|
||||||
default="orm",
|
default="orm",
|
||||||
help="Uri of the orm service."),
|
help="Uri of the orm service."),
|
||||||
@ -71,5 +71,9 @@ OrmGroup = [
|
|||||||
help="Supported flavor series"),
|
help="Supported flavor series"),
|
||||||
cfg.StrOpt("domain",
|
cfg.StrOpt("domain",
|
||||||
default='Default',
|
default='Default',
|
||||||
help="Domain used for Ranger tempest testing")
|
help="Domain used for Ranger tempest testing"),
|
||||||
|
cfg.StrOpt("region_alt",
|
||||||
|
default='',
|
||||||
|
help="Provide alternate region for creating"
|
||||||
|
"resources with multiple regions"),
|
||||||
]
|
]
|
||||||
|
@ -25,8 +25,8 @@ from tempest.test_discover import plugins
|
|||||||
class RangerPlugin(plugins.TempestPlugin):
|
class RangerPlugin(plugins.TempestPlugin):
|
||||||
def get_opt_lists(self):
|
def get_opt_lists(self):
|
||||||
return [(
|
return [(
|
||||||
project_config.orm_group.name,
|
project_config.ORM_GROUP.name,
|
||||||
project_config.OrmGroup)]
|
project_config.ORM_GROUP_OPTIONS)]
|
||||||
|
|
||||||
def load_tests(self):
|
def load_tests(self):
|
||||||
base_path = os.path.split(os.path.dirname(
|
base_path = os.path.split(os.path.dirname(
|
||||||
@ -38,9 +38,9 @@ class RangerPlugin(plugins.TempestPlugin):
|
|||||||
def register_opts(self, conf):
|
def register_opts(self, conf):
|
||||||
config.register_opt_group(
|
config.register_opt_group(
|
||||||
conf,
|
conf,
|
||||||
project_config.service_available_group,
|
project_config.SERVICE_AVAILABLE_GROUP,
|
||||||
project_config.ServiceAvailableGroup)
|
project_config.ORM_SERVICE_AVAILABLE_GROUP)
|
||||||
config.register_opt_group(
|
config.register_opt_group(
|
||||||
conf,
|
conf,
|
||||||
project_config.orm_group,
|
project_config.ORM_GROUP,
|
||||||
project_config.OrmGroup)
|
project_config.ORM_GROUP_OPTIONS)
|
||||||
|
@ -14,7 +14,9 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
import uuid
|
||||||
|
|
||||||
|
from ranger_tempest_plugin import data_utils as orm_data_utils
|
||||||
from ranger_tempest_plugin.tests.api import fms_base
|
from ranger_tempest_plugin.tests.api import fms_base
|
||||||
from tempest import config
|
from tempest import config
|
||||||
|
|
||||||
@ -68,6 +70,14 @@ class TestTempestFms(fms_base.FmsBaseOrmTest):
|
|||||||
_, body = self.client.get_flavor(flavor_id)
|
_, body = self.client.get_flavor(flavor_id)
|
||||||
return body["flavor"]
|
return body["flavor"]
|
||||||
|
|
||||||
|
def _create_region_group(self):
|
||||||
|
_, body = self.rms_client.create_region_group(
|
||||||
|
**orm_data_utils.rand_region_group([CONF.identity.region])
|
||||||
|
)
|
||||||
|
group_id = body['group']['id']
|
||||||
|
self.addCleanup(self.rms_client.delete_region_group, group_id)
|
||||||
|
return group_id
|
||||||
|
|
||||||
def _data_setup(self, post_body):
|
def _data_setup(self, post_body):
|
||||||
flavor = self._create_flv_and_validate_creation_on_dcp_and_lcp(
|
flavor = self._create_flv_and_validate_creation_on_dcp_and_lcp(
|
||||||
**post_body)
|
**post_body)
|
||||||
@ -359,3 +369,128 @@ class TestTempestFms(fms_base.FmsBaseOrmTest):
|
|||||||
self._del_flv_and_validate_deletion_on_dcp_and_lcp(test_flvr_id)
|
self._del_flv_and_validate_deletion_on_dcp_and_lcp(test_flvr_id)
|
||||||
self.assertRaises(exceptions.NotFound, self.client.get_flavor,
|
self.assertRaises(exceptions.NotFound, self.client.get_flavor,
|
||||||
test_flvr_id)
|
test_flvr_id)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('2a1240d8-ae30-4c37-b99f-af961a5e16cb')
|
||||||
|
def test_create_flavor_with_swap_and_ephemeral(self):
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
|
||||||
|
# set swap and ephemeral size
|
||||||
|
swap = ephemeral = '1024'
|
||||||
|
# update swap and ephemeral
|
||||||
|
post_body['ephemeral'] = ephemeral
|
||||||
|
post_body['swap'] = swap
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
test_flvr_id = flavor['id']
|
||||||
|
# verify flavor record created successfully
|
||||||
|
flavor_details = self._get_flavor_details(test_flvr_id)
|
||||||
|
self.assertEqual(flavor_details['status'], 'Success')
|
||||||
|
self.assertEqual(flavor_details['swap'], swap)
|
||||||
|
self.assertEqual(flavor_details['ephemeral'], ephemeral)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('2178be75-c36b-4cfe-9df7-8a4bff6e7f83')
|
||||||
|
def test_list_flavor_with_additional_field(self):
|
||||||
|
_, body = self.client.list_flavors()
|
||||||
|
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'description',
|
||||||
|
'series',
|
||||||
|
'ram',
|
||||||
|
'vcpus',
|
||||||
|
'disk',
|
||||||
|
'swap',
|
||||||
|
'ephemeral',
|
||||||
|
'extra-specs',
|
||||||
|
'options',
|
||||||
|
'tag',
|
||||||
|
'regions',
|
||||||
|
'visibility',
|
||||||
|
'tenants',
|
||||||
|
]
|
||||||
|
|
||||||
|
if body['flavors']:
|
||||||
|
flavor = body['flavors'][0]
|
||||||
|
# check fields is present in response dict as keys
|
||||||
|
self.assertTrue(set(fields).issubset(set(flavor.keys())))
|
||||||
|
|
||||||
|
@decorators.idempotent_id('53275983-6999-42f2-8ce5-6a83ade3980f')
|
||||||
|
def test_create_flavor_with_zero_disk(self):
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
disk = '0'
|
||||||
|
post_body['disk'] = disk
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
test_flvr_id = flavor['id']
|
||||||
|
flavor_details = self._get_flavor_details(test_flvr_id)
|
||||||
|
self.assertEqual(flavor_details["status"], "Success")
|
||||||
|
self.assertEqual(flavor_details["disk"], disk)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('997ca03c-4176-4632-a0c9-7e943b03306c')
|
||||||
|
def test_create_flavor_with_region_group(self):
|
||||||
|
# create region group
|
||||||
|
_, body = self.rms_client.create_region_group(
|
||||||
|
**orm_data_utils.rand_region_group([CONF.identity.region])
|
||||||
|
)
|
||||||
|
group_id = body['group']['id']
|
||||||
|
self.addCleanup(self.rms_client.delete_region_group, group_id)
|
||||||
|
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
region_group = {'name': group_id, 'type': 'group'}
|
||||||
|
post_body['regions'] = [region_group]
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
test_flvr_id = flavor['id']
|
||||||
|
|
||||||
|
flavor_details = self._get_flavor_details(test_flvr_id)
|
||||||
|
self.assertEqual(flavor_details['status'], 'Success')
|
||||||
|
self.assertEqual(flavor['regions'][0]['name'], CONF.identity.region)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('ea2a618e-bd53-460b-bde5-01ea20b417c9')
|
||||||
|
def test_create_flavor_with_two_regions(self):
|
||||||
|
region_alt = CONF.ranger.region_alt
|
||||||
|
if not region_alt:
|
||||||
|
raise exceptions.InvalidConfiguration(
|
||||||
|
'Provide region_alt in ranger block in configuration file')
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
post_body['regions'].append(
|
||||||
|
{'name': region_alt}
|
||||||
|
)
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
test_flvr_id = flavor['id']
|
||||||
|
flavor_details = self._get_flavor_details(test_flvr_id)
|
||||||
|
self.assertEqual(flavor_details['status'], 'Success')
|
||||||
|
self.assertEqual(flavor['regions'][0]['name'], CONF.identity.region)
|
||||||
|
self.assertEqual(flavor['regions'][1]['name'], region_alt)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('06c81b29-85b6-4edf-ab89-3877c49e23bc')
|
||||||
|
def test_create_flavor_with_single_and_group_region(self):
|
||||||
|
region_alt = CONF.ranger.region_alt
|
||||||
|
if not region_alt:
|
||||||
|
raise exceptions.InvalidConfiguration(
|
||||||
|
'Provide region_alt in ranger block in configuration file')
|
||||||
|
group_id = self._create_region_group()
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
post_body['regions'] = [
|
||||||
|
{
|
||||||
|
'name': group_id,
|
||||||
|
'type': 'group',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': region_alt,
|
||||||
|
'type': 'single',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
test_flvr_id = flavor['id']
|
||||||
|
flavor_details = self._get_flavor_details(test_flvr_id)
|
||||||
|
self.assertEqual(flavor_details['status'], 'Success')
|
||||||
|
self.assertEqual(flavor['regions'][0]['name'], CONF.identity.region)
|
||||||
|
self.assertEqual(flavor['regions'][1]['name'], region_alt)
|
||||||
|
|
||||||
|
@decorators.idempotent_id('997ca03c-4176-4632-a0c9-7e943b03306d')
|
||||||
|
def test_create_flavor_with_uuid(self):
|
||||||
|
post_body = self._get_flavor_params()
|
||||||
|
uuid_ = uuid.uuid4().hex
|
||||||
|
post_body['id'] = uuid_
|
||||||
|
flavor = self._data_setup(post_body)
|
||||||
|
flavor_details = self._get_flavor_details(uuid_)
|
||||||
|
self.assertEqual(flavor_details['status'], 'Success')
|
||||||
|
self.assertEqual(flavor['id'], uuid_)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user