diff options
Diffstat (limited to 'functest/opnfv_tests')
-rw-r--r-- | functest/opnfv_tests/features/barometer.py | 5 | ||||
-rwxr-xr-x | functest/opnfv_tests/features/security_scan.py | 4 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/api_check.py | 9 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/connection_check.py | 9 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/health_check.py | 21 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/smoke.py | 16 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/snaps/snaps_test_runner.py | 30 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/conf_utils.py | 24 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/tempest.py | 1 | ||||
-rwxr-xr-x | functest/opnfv_tests/sdn/odl/odl.py | 16 | ||||
-rw-r--r-- | functest/opnfv_tests/sdn/onos/teston/adapters/foundation.py | 38 |
11 files changed, 118 insertions, 55 deletions
diff --git a/functest/opnfv_tests/features/barometer.py b/functest/opnfv_tests/features/barometer.py index aec2bce5..32067284 100644 --- a/functest/opnfv_tests/features/barometer.py +++ b/functest/opnfv_tests/features/barometer.py @@ -6,11 +6,9 @@ # # http://www.apache.org/licenses/LICENSE-2.0 +from baro_tests import collectd import functest.core.feature_base as base -import functest.utils.functest_logger as ft_logger - -from baro_tests import collectd class BarometerCollectd(base.FeatureBase): @@ -22,7 +20,6 @@ class BarometerCollectd(base.FeatureBase): super(BarometerCollectd, self).__init__(project='barometer', case='barometercollectd', repo='dir_repo_barometer') - self.logger = ft_logger.Logger("BarometerCollectd").getLogger() def execute(self): return collectd.main(self.logger) diff --git a/functest/opnfv_tests/features/security_scan.py b/functest/opnfv_tests/features/security_scan.py index 2db44175..58f0ec74 100755 --- a/functest/opnfv_tests/features/security_scan.py +++ b/functest/opnfv_tests/features/security_scan.py @@ -17,8 +17,8 @@ class SecurityScan(base.FeatureBase): super(SecurityScan, self).__init__(project='securityscanning', case='security_scan', repo='dir_repo_securityscan') - self.cmd = ('bash {0} && ' + self.cmd = ('. {0}/stackrc && ' 'cd {1} && ' 'python security_scan.py --config config.ini && ' - 'cd -'.format(CONST.openstack_creds, + 'cd -'.format(CONST.dir_functest_conf, self.repo)) diff --git a/functest/opnfv_tests/openstack/snaps/api_check.py b/functest/opnfv_tests/openstack/snaps/api_check.py index 17d05b92..ad77d9be 100644 --- a/functest/opnfv_tests/openstack/snaps/api_check.py +++ b/functest/opnfv_tests/openstack/snaps/api_check.py @@ -9,12 +9,12 @@ import unittest from snaps import test_suite_builder -from functest.core.pytest_suite_runner import PyTestSuiteRunner -from functest.opnfv_tests.openstack.snaps import snaps_utils +from functest.opnfv_tests.openstack.snaps.snaps_test_runner import \ + SnapsTestRunner from functest.utils.constants import CONST -class ApiCheck(PyTestSuiteRunner): +class ApiCheck(SnapsTestRunner): """ This test executes the Python Tests included with the SNAPS libraries that exercise many of the OpenStack APIs within Keystone, Glance, Neutron, @@ -25,10 +25,9 @@ class ApiCheck(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "api_check" - ext_net_name = snaps_utils.get_ext_net_name() test_suite_builder.add_openstack_api_tests( self.suite, CONST.openstack_creds, - ext_net_name, + self.ext_net_name, use_keystone=CONST.snaps_use_keystone) diff --git a/functest/opnfv_tests/openstack/snaps/connection_check.py b/functest/opnfv_tests/openstack/snaps/connection_check.py index 11f8ad07..0637bcfb 100644 --- a/functest/opnfv_tests/openstack/snaps/connection_check.py +++ b/functest/opnfv_tests/openstack/snaps/connection_check.py @@ -9,12 +9,12 @@ import unittest from snaps import test_suite_builder -from functest.core.pytest_suite_runner import PyTestSuiteRunner -from functest.opnfv_tests.openstack.snaps import snaps_utils +from functest.opnfv_tests.openstack.snaps.snaps_test_runner import \ + SnapsTestRunner from functest.utils.constants import CONST -class ConnectionCheck(PyTestSuiteRunner): +class ConnectionCheck(SnapsTestRunner): """ This test executes the Python Tests included with the SNAPS libraries that simply obtain the different OpenStack clients and may perform @@ -25,10 +25,9 @@ class ConnectionCheck(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "connection_check" - ext_net_name = snaps_utils.get_ext_net_name() test_suite_builder.add_openstack_client_tests( self.suite, CONST.openstack_creds, - ext_net_name, + self.ext_net_name, use_keystone=CONST.snaps_use_keystone) diff --git a/functest/opnfv_tests/openstack/snaps/health_check.py b/functest/opnfv_tests/openstack/snaps/health_check.py index 993c1000..8fece746 100644 --- a/functest/opnfv_tests/openstack/snaps/health_check.py +++ b/functest/opnfv_tests/openstack/snaps/health_check.py @@ -7,15 +7,15 @@ import unittest +from functest.opnfv_tests.openstack.snaps.snaps_test_runner import \ + SnapsTestRunner +from functest.utils.constants import CONST + from snaps.openstack.tests.os_source_file_test import OSIntegrationTestCase from snaps.openstack.tests.create_instance_tests import SimpleHealthCheck -from functest.core.pytest_suite_runner import PyTestSuiteRunner -from functest.opnfv_tests.openstack.snaps import snaps_utils -from functest.utils.constants import CONST - -class HealthCheck(PyTestSuiteRunner): +class HealthCheck(SnapsTestRunner): """ 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 @@ -26,9 +26,14 @@ class HealthCheck(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "snaps_health_check" - ext_net_name = snaps_utils.get_ext_net_name() + + image_custom_config = None + if hasattr(CONST, 'snaps_health_check'): + image_custom_config = CONST.snaps_health_check self.suite.addTest( OSIntegrationTestCase.parameterize( - SimpleHealthCheck, CONST.openstack_creds, ext_net_name, - use_keystone=CONST.snaps_use_keystone)) + SimpleHealthCheck, CONST.openstack_creds, self.ext_net_name, + use_keystone=CONST.snaps_use_keystone, + flavor_metadata=self.flavor_metadata, + image_metadata=image_custom_config)) diff --git a/functest/opnfv_tests/openstack/snaps/smoke.py b/functest/opnfv_tests/openstack/snaps/smoke.py index 83eb6600..864bca5e 100644 --- a/functest/opnfv_tests/openstack/snaps/smoke.py +++ b/functest/opnfv_tests/openstack/snaps/smoke.py @@ -10,12 +10,12 @@ import unittest from snaps import test_suite_builder -from functest.core.pytest_suite_runner import PyTestSuiteRunner -from functest.opnfv_tests.openstack.snaps import snaps_utils +from functest.opnfv_tests.openstack.snaps.snaps_test_runner import \ + SnapsTestRunner from functest.utils.constants import CONST -class SnapsSmoke(PyTestSuiteRunner): +class SnapsSmoke(SnapsTestRunner): """ This test executes the Python Tests included with the SNAPS libraries that exercise many of the OpenStack APIs within Keystone, Glance, Neutron, @@ -27,7 +27,12 @@ class SnapsSmoke(PyTestSuiteRunner): self.suite = unittest.TestSuite() self.case_name = "snaps_smoke" use_fip = CONST.snaps_use_floating_ips - ext_net_name = snaps_utils.get_ext_net_name() + + # The snaps smoke test uses the same config as the + # snaps_health_check suite, so reuse it here + image_custom_config = None + if hasattr(CONST, 'snaps_health_check'): + image_custom_config = CONST.snaps_health_check # Tests requiring floating IPs leverage files contained within the # SNAPS repository and are found relative to that path @@ -38,6 +43,7 @@ class SnapsSmoke(PyTestSuiteRunner): test_suite_builder.add_openstack_integration_tests( self.suite, CONST.openstack_creds, - ext_net_name, + self.ext_net_name, use_keystone=CONST.snaps_use_keystone, + image_metadata=image_custom_config, use_floating_ips=use_fip) diff --git a/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py b/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py new file mode 100644 index 00000000..67cd9415 --- /dev/null +++ b/functest/opnfv_tests/openstack/snaps/snaps_test_runner.py @@ -0,0 +1,30 @@ +# Copyright (c) 2015 All rights reserved +# 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 +from functest.opnfv_tests.openstack.snaps import snaps_utils +from functest.utils import functest_utils + +from snaps.openstack import create_flavor + + +class SnapsTestRunner(PyTestSuiteRunner): + """ + 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 + """ + def __init__(self): + super(SnapsTestRunner, self).__init__() + + self.ext_net_name = snaps_utils.get_ext_net_name() + + scenario = functest_utils.get_scenario() + + self.flavor_metadata = create_flavor.MEM_PAGE_SIZE_ANY + if 'ovs' in scenario or 'fdio' in scenario: + self.flavor_metadata = create_flavor.MEM_PAGE_SIZE_LARGE diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index 893fff8c..2c113367 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -106,6 +106,17 @@ def get_verifier_deployment_dir(verifier_id, deployment_id): 'for-deployment-{}'.format(deployment_id)) +def get_repo_tag(repo): + """ + Returns last tag of current branch + """ + cmd = ("git -C {0} describe --abbrev=0 HEAD".format(repo)) + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) + tag = p.stdout.readline().rstrip() + + return str(tag) + + def backup_tempest_config(conf_file): """ Copy config file to tempest results directory @@ -276,3 +287,16 @@ def configure_tempest_multisite_params(tempest_conf_file): config.write(config_file) backup_tempest_config(tempest_conf_file) + + +def install_verifier_ext(path): + """ + Install extension to active verifier + """ + logger.info("Installing verifier from existing repo...") + tag = get_repo_tag(path) + cmd = ("rally verify add-verifier-ext --source {0} " + "--version {1}" + .format(path, tag)) + error_msg = ("Problem while adding verifier extension from %s" % path) + ft_utils.execute_command_raise(cmd, error_msg=error_msg) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index 4c96500d..569a6983 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -320,6 +320,7 @@ class TempestMultisite(TempestCommon): self.case_name = "multisite" self.MODE = "feature_multisite" self.OPTION = "--concurrency 1" + conf_utils.install_verifier_ext(CONST.dir_repo_kingbird) class TempestCustom(TempestCommon): diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py index 69818f5a..c8e9c492 100755 --- a/functest/opnfv_tests/sdn/odl/odl.py +++ b/functest/opnfv_tests/sdn/odl/odl.py @@ -94,8 +94,11 @@ class ODLTests(testcase_base.TestcaseBase): try: odlusername = kwargs['odlusername'] odlpassword = kwargs['odlpassword'] - variables = ['KEYSTONE:' + kwargs['keystoneip'], + osauthurl = kwargs['osauthurl'] + keystoneip = urlparse.urlparse(osauthurl).hostname + variables = ['KEYSTONE:' + keystoneip, 'NEUTRON:' + kwargs['neutronip'], + 'OS_AUTH_URL:"' + osauthurl + '"', 'OSUSERNAME:"' + kwargs['osusername'] + '"', 'OSTENANTNAME:"' + kwargs['ostenantname'] + '"', 'OSPASSWORD:"' + kwargs['ospassword'] + '"', @@ -147,10 +150,8 @@ class ODLTests(testcase_base.TestcaseBase): suites = kwargs["suites"] except KeyError: pass - keystone_url = op_utils.get_endpoint(service_type='identity') neutron_url = op_utils.get_endpoint(service_type='network') - kwargs = {'keystoneip': urlparse.urlparse(keystone_url).hostname} - kwargs['neutronip'] = urlparse.urlparse(neutron_url).hostname + kwargs = {'neutronip': urlparse.urlparse(neutron_url).hostname} kwargs['odlip'] = kwargs['neutronip'] kwargs['odlwebport'] = '8080' kwargs['odlrestconfport'] = '8181' @@ -161,6 +162,7 @@ class ODLTests(testcase_base.TestcaseBase): installer_type = os.environ['INSTALLER_TYPE'] kwargs['osusername'] = os.environ['OS_USERNAME'] kwargs['ostenantname'] = os.environ['OS_TENANT_NAME'] + kwargs['osauthurl'] = os.environ['OS_AUTH_URL'] kwargs['ospassword'] = os.environ['OS_PASSWORD'] if installer_type == 'fuel': kwargs['odlwebport'] = '8282' @@ -191,12 +193,12 @@ class ODLParser(object): def __init__(self): self.parser = argparse.ArgumentParser() self.parser.add_argument( - '-k', '--keystoneip', help='Keystone IP', - default='127.0.0.1') - self.parser.add_argument( '-n', '--neutronip', help='Neutron IP', default='127.0.0.1') self.parser.add_argument( + '-k', '--osauthurl', help='OS_AUTH_URL as defined by OpenStack', + default='http://127.0.0.1:5000/v2.0') + self.parser.add_argument( '-a', '--osusername', help='Username for OpenStack', default='admin') self.parser.add_argument( diff --git a/functest/opnfv_tests/sdn/onos/teston/adapters/foundation.py b/functest/opnfv_tests/sdn/onos/teston/adapters/foundation.py index 2bef5cc6..25421d40 100644 --- a/functest/opnfv_tests/sdn/onos/teston/adapters/foundation.py +++ b/functest/opnfv_tests/sdn/onos/teston/adapters/foundation.py @@ -17,7 +17,7 @@ import os import re import time -import functest.utils.functest_constants as ft_constants +from functest.utils.constants import CONST import functest.utils.functest_utils as ft_utils @@ -26,7 +26,7 @@ class Foundation(object): def __init__(self): # currentpath = os.getcwd() - currentpath = '%s/sdn/onos/teston/ci' % ft_constants.FUNCTEST_TEST_DIR + currentpath = '%s/sdn/onos/teston/ci' % CONST.dir_functest_data self.cipath = currentpath self.logdir = os.path.join(currentpath, 'log') self.workhome = currentpath[0: currentpath.rfind('opnfv_tests') - 1] @@ -54,23 +54,23 @@ class Foundation(object): """ Get Default Parameters value """ - self.Result_DB = str(ft_utils.get_db_url()) - self.masterusername = str(ft_constants.ONOSBENCH_USERNAME) - self.masterpassword = str(ft_constants.ONOSBENCH_PASSWORD) - self.agentusername = str(ft_constants.ONOSCLI_USERNAME) - self.agentpassword = str(ft_constants.ONOSCLI_PASSWORD) - self.runtimeout = ft_constants.ONOS_RUNTIMEOUT - self.OCT = str(ft_constants.ONOS_OCT) - self.OC1 = str(ft_constants.ONOS_OC1) - self.OC2 = str(ft_constants.ONOS_OC2) - self.OC3 = str(ft_constants.ONOS_OC3) - self.OCN = str(ft_constants.ONOS_OCN) - self.OCN2 = str(ft_constants.ONOS_OCN2) - self.installer_master = str(ft_constants.ONOS_INSTALLER_MASTER) - self.installer_master_username = \ - str(ft_constants.ONOS_INSTALLER_MASTER_USERNAME) - self.installer_master_password = \ - ft_constants.ONOS_INSTALLER_MASTER_PASSWORD + self.Result_DB = ft_utils.get_db_url() + self.masterusername = CONST.ONOS_onosbench_username + self.masterpassword = CONST.ONOS_onosbench_password + self.agentusername = CONST.ONOS_onoscli_username + self.agentpassword = CONST.ONOS_onoscli_password + self.runtimeout = CONST.ONOS_runtimeout + self.OCT = CONST.ONOS_environment_OCT + self.OC1 = CONST.ONOS_environment_OC1 + self.OC2 = CONST.ONOS_environment_OC2 + self.OC3 = CONST.ONOS_environment_OC3 + self.OCN = CONST.ONOS_environment_OCN + self.OCN2 = CONST.ONOS_environment_OCN2 + self.installer_master = CONST.ONOS_environment_installer_master + self.installer_master_username = ( + CONST.ONOS_environment_installer_master_username) + self.installer_master_password = ( + CONST.ONOS_environment_installer_master_password) self.hosts = [self.OC1, self.OCN, self.OCN2] self.localhost = self.OCT |