-# Copyright (c) 2015 All rights reserved
+#!/usr/bin/env python
+
+# Copyright (c) 2017 Cable Television Laboratories, Inc. and others.
+#
# This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
#
# http://www.apache.org/licenses/LICENSE-2.0
-from functest.core.pytest_suite_runner import PyTestSuiteRunner
+"""configuration params to run snaps tests"""
+
+import logging
+
+from functest.core import unit
from functest.opnfv_tests.openstack.snaps import snaps_utils
-from functest.utils import functest_utils
-from functest.utils.constants import CONST
+from functest.utils import config
+from functest.utils import env
from snaps.openstack import create_flavor
-from snaps.openstack.tests import openstack_tests
-class SnapsTestRunner(PyTestSuiteRunner):
+class SnapsTestRunner(unit.Suite):
+ # pylint: disable=too-many-instance-attributes
"""
- This test executes the SNAPS Python Test case SimpleHealthCheck which
- creates a VM with a single port with an IPv4 address that is assigned by
- DHCP. This test then validates the expected IP with the actual
+ This test executes the SNAPS Python Tests
"""
+
def __init__(self, **kwargs):
super(SnapsTestRunner, self).__init__(**kwargs)
-
- self.os_creds = openstack_tests.get_credentials(
- os_env_file=CONST.openstack_creds, proxy_settings_str=None,
- ssh_proxy_cmd=None)
-
- self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds)
- self.use_fip = CONST.snaps_use_floating_ips
- self.use_keystone = CONST.snaps_use_keystone
- scenario = functest_utils.get_scenario()
-
- self.flavor_metadata = create_flavor.MEM_PAGE_SIZE_ANY
+ self.logger = logging.getLogger(__name__)
+ self.os_creds = kwargs.get('os_creds') or snaps_utils.get_credentials()
+
+ if 'ext_net_name' in kwargs:
+ self.ext_net_name = kwargs['ext_net_name']
+ else:
+ self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds)
+
+ self.netconf_override = None
+ if hasattr(config.CONF, 'snaps_network_config'):
+ self.netconf_override = getattr(
+ config.CONF, 'snaps_network_config')
+
+ self.use_fip = (
+ getattr(config.CONF, 'snaps_use_floating_ips') == 'True')
+ self.use_keystone = (
+ getattr(config.CONF, 'snaps_use_keystone') == 'True')
+ scenario = env.get('DEPLOY_SCENARIO')
+
+ self.flavor_metadata = None
if 'ovs' in scenario or 'fdio' in scenario:
self.flavor_metadata = create_flavor.MEM_PAGE_SIZE_LARGE
- self.logger.info("Using flavor metatdata '%s'" % self.flavor_metadata)
+ self.logger.info("Using flavor metadata '%s'", self.flavor_metadata)
+
+ self.image_metadata = None
+ if hasattr(config.CONF, 'snaps_images'):
+ self.image_metadata = getattr(config.CONF, 'snaps_images')