diff options
-rw-r--r-- | snaps/openstack/tests/os_source_file_test.py | 16 | ||||
-rw-r--r-- | snaps/openstack/utils/tests/nova_utils_tests.py | 3 | ||||
-rw-r--r-- | snaps/test_runner.py | 4 | ||||
-rw-r--r-- | snaps/test_suite_builder.py | 8 |
4 files changed, 20 insertions, 11 deletions
diff --git a/snaps/openstack/tests/os_source_file_test.py b/snaps/openstack/tests/os_source_file_test.py index c7d64d3..7e70ed0 100644 --- a/snaps/openstack/tests/os_source_file_test.py +++ b/snaps/openstack/tests/os_source_file_test.py @@ -31,7 +31,8 @@ dev_os_env_file = pkg_resources.resource_filename( class OSComponentTestCase(unittest.TestCase): def __init__(self, method_name='runTest', os_creds=None, ext_net_name=None, - image_metadata=None, log_level=logging.DEBUG): + flavor_metadata=None, image_metadata=None, + log_level=logging.DEBUG): """ Super for test classes requiring a connection to OpenStack :param method_name: default 'runTest' @@ -39,6 +40,8 @@ class OSComponentTestCase(unittest.TestCase): in the package snaps.openstack.tests.conf.os_env.yaml :param ext_net_name: the name of the external network that is used for creating routers for floating IPs + :param flavor_metadata: dict() to be sent directly into the Nova client + generally used for page sizes :param image_metadata: ability to override images being used in the tests (see examples/image-metadata) :param log_level: the logging level of your test run (default DEBUG) @@ -60,11 +63,13 @@ class OSComponentTestCase(unittest.TestCase): test_conf = file_utils.read_yaml(dev_os_env_file) self.ext_net_name = test_conf.get('ext_net') + self.flavor_metadata = flavor_metadata self.image_metadata = image_metadata @staticmethod def parameterize(testcase_klass, os_creds, ext_net_name, - image_metadata=None, log_level=logging.DEBUG): + flavor_metadata=None, image_metadata=None, + log_level=logging.DEBUG): """ Create a suite containing all tests taken from the given subclass, passing them the parameter 'param'. """ @@ -73,7 +78,7 @@ class OSComponentTestCase(unittest.TestCase): suite = unittest.TestSuite() for name in test_names: suite.addTest(testcase_klass(name, os_creds, ext_net_name, - image_metadata, log_level)) + flavor_metadata, image_metadata, log_level)) return suite def __clean__(self): @@ -112,12 +117,11 @@ class OSIntegrationTestCase(OSComponentTestCase): """ super(OSIntegrationTestCase, self).__init__( method_name=method_name, os_creds=os_creds, - ext_net_name=ext_net_name, image_metadata=image_metadata, - log_level=log_level) + ext_net_name=ext_net_name, flavor_metadata=flavor_metadata, + image_metadata=image_metadata, log_level=log_level) self.netconf_override = netconf_override self.use_keystone = use_keystone self.keystone = None - self.flavor_metadata = flavor_metadata self.user_roles = None @staticmethod diff --git a/snaps/openstack/utils/tests/nova_utils_tests.py b/snaps/openstack/utils/tests/nova_utils_tests.py index 411dd7e..1f60b9b 100644 --- a/snaps/openstack/utils/tests/nova_utils_tests.py +++ b/snaps/openstack/utils/tests/nova_utils_tests.py @@ -403,7 +403,8 @@ class NovaUtilsInstanceVolumeTests(OSComponentTestCase): self.flavor_creator = OpenStackFlavor( self.os_creds, FlavorConfig( - name=guid + '-flavor-name', ram=256, disk=10, vcpus=1)) + name=guid + '-flavor-name', ram=256, disk=10, vcpus=1, + metadata=self.flavor_metadata)) self.flavor_creator.create() # Create Volume diff --git a/snaps/test_runner.py b/snaps/test_runner.py index 5eaea53..830881a 100644 --- a/snaps/test_runner.py +++ b/snaps/test_runner.py @@ -87,8 +87,8 @@ def __create_concurrent_test_suite( if run_api_tests: tsb.add_openstack_api_tests( suite=suite, os_creds=os_creds, ext_net_name=ext_net_name, - use_keystone=use_keystone, image_metadata=image_metadata, - log_level=log_level) + use_keystone=use_keystone, flavor_metadata=flavor_metadata, + image_metadata=image_metadata, log_level=log_level) # Long running integration type tests if run_integration_tests: diff --git a/snaps/test_suite_builder.py b/snaps/test_suite_builder.py index e47becd..35a39f2 100644 --- a/snaps/test_suite_builder.py +++ b/snaps/test_suite_builder.py @@ -317,7 +317,8 @@ def add_openstack_client_tests(suite, os_creds, ext_net_name, def add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone=True, - image_metadata=None, log_level=logging.INFO): + flavor_metadata=None, image_metadata=None, + log_level=logging.INFO): """ Adds tests written to exercise all existing OpenStack APIs :param suite: the unittest.TestSuite object to which to add the tests @@ -328,6 +329,9 @@ def add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone=True, :param use_keystone: when True, tests requiring direct access to Keystone are added as these need to be running on a host that has access to the cloud's private network + :param flavor_metadata: dict() object containing the metadata required by + your flavor based on your configuration: + (i.e. {'hw:mem_page_size': 'any'}) :param image_metadata: dict() object containing metadata for creating an image with custom config (see YAML files in examples/image-metadata) @@ -383,7 +387,7 @@ def add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone=True, suite.addTest(OSComponentTestCase.parameterize( NovaUtilsInstanceVolumeTests, os_creds=os_creds, ext_net_name=ext_net_name, log_level=log_level, - image_metadata=image_metadata)) + flavor_metadata=flavor_metadata, image_metadata=image_metadata)) suite.addTest(OSComponentTestCase.parameterize( CreateFlavorTests, os_creds=os_creds, ext_net_name=ext_net_name, log_level=log_level)) |