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)
class OSComponentTestCase(unittest.TestCase):
def __init__(self, method_name='runTest', os_creds=None, ext_net_name=None,
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'
"""
Super for test classes requiring a connection to OpenStack
:param method_name: default 'runTest'
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
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)
: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)
test_conf = file_utils.read_yaml(dev_os_env_file)
self.ext_net_name = test_conf.get('ext_net')
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,
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'.
"""
""" Create a suite containing all tests taken from the given
subclass, passing them the parameter 'param'.
"""
suite = unittest.TestSuite()
for name in test_names:
suite.addTest(testcase_klass(name, os_creds, ext_net_name,
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):
return suite
def __clean__(self):
"""
super(OSIntegrationTestCase, self).__init__(
method_name=method_name, os_creds=os_creds,
"""
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.netconf_override = netconf_override
self.use_keystone = use_keystone
self.keystone = None
- self.flavor_metadata = flavor_metadata
self.user_roles = None
@staticmethod
self.user_roles = None
@staticmethod
self.flavor_creator = OpenStackFlavor(
self.os_creds,
FlavorConfig(
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
self.flavor_creator.create()
# Create Volume
if run_api_tests:
tsb.add_openstack_api_tests(
suite=suite, os_creds=os_creds, ext_net_name=ext_net_name,
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:
# Long running integration type tests
if run_integration_tests:
def add_openstack_api_tests(suite, os_creds, ext_net_name, use_keystone=True,
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
"""
Adds tests written to exercise all existing OpenStack APIs
:param suite: the unittest.TestSuite object to which to add the tests
: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 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)
:param image_metadata: dict() object containing metadata for creating an
image with custom config
(see YAML files in examples/image-metadata)
suite.addTest(OSComponentTestCase.parameterize(
NovaUtilsInstanceVolumeTests, os_creds=os_creds,
ext_net_name=ext_net_name, log_level=log_level,
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))
suite.addTest(OSComponentTestCase.parameterize(
CreateFlavorTests, os_creds=os_creds, ext_net_name=ext_net_name,
log_level=log_level))