summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPanagiotis Karalis <pkaralis@intracom-telecom.com>2018-06-20 10:38:24 +0300
committerPanagiotis Karalis <pkaralis@intracom-telecom.com>2018-06-21 10:44:25 +0300
commit485fe08235b7e2d06646b36c31b333e4b6096897 (patch)
tree9c032d149e50664fa229f8a25df3858d1a83e421
parentffafa2f92bc0806a5b274deca3c7fad59ee8d769 (diff)
Add flavor metadata for volume related tests
These tests are very sensitive to the state of instance which might be active in terms of nova, but in fact still trying to get an ip address in case of dpdk scenarios. Change-Id: I739044c2edd360535ce1d3531549263163cfea19 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com> Signed-off-by: Panagiotis Karalis <pkaralis@intracom-telecom.com> (cherry picked from commit 88c9496ee5d40adbb324c0d449ed1659e661d700)
-rw-r--r--snaps/openstack/tests/os_source_file_test.py16
-rw-r--r--snaps/openstack/utils/tests/nova_utils_tests.py3
-rw-r--r--snaps/test_runner.py4
-rw-r--r--snaps/test_suite_builder.py8
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))