diff options
Diffstat (limited to 'functest')
-rwxr-xr-x | functest/ci/config_functest.yaml | 4 | ||||
-rwxr-xr-x | functest/ci/testcases.yaml | 3 | ||||
-rw-r--r-- | functest/core/pytest_suite_runner.py | 8 | ||||
-rwxr-xr-x | functest/opnfv_tests/features/doctor.py | 81 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/rally/rally.py | 5 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/conf_utils.py | 2 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt | 20 | ||||
-rw-r--r-- | functest/opnfv_tests/openstack/tempest/tempest.py | 5 | ||||
-rw-r--r-- | functest/utils/functest_constants.py | 4 |
9 files changed, 24 insertions, 108 deletions
diff --git a/functest/ci/config_functest.yaml b/functest/ci/config_functest.yaml index f1efd904..2feab771 100755 --- a/functest/ci/config_functest.yaml +++ b/functest/ci/config_functest.yaml @@ -21,7 +21,7 @@ general: repo_sfc: /home/opnfv/repos/sfc dir_repo_onos: /home/opnfv/repos/onos dir_repo_promise: /home/opnfv/repos/promise - dir_repo_doctor: /home/opnfv/repos/doctor + repo_doctor: /home/opnfv/repos/doctor repo_copper: /home/opnfv/repos/copper dir_repo_ovno: /home/opnfv/repos/ovno repo_parser: /home/opnfv/repos/parser @@ -97,6 +97,8 @@ tempest: user_password: tempest validation: ssh_timeout: 130 + object_storage: + operator_role: SwiftOperator private_net_name: tempest-net private_subnet_name: tempest-subnet private_subnet_cidr: 192.168.150.0/24 diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index f1cce489..27d358bf 100755 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -195,6 +195,9 @@ tiers: dependencies: installer: '(apex)|(fuel)|(joid)' scenario: '^((?!fdio).)*$' + run: + module: 'functest.opnfv_tests.features.doctor' + class: 'Doctor' - name: bgpvpn diff --git a/functest/core/pytest_suite_runner.py b/functest/core/pytest_suite_runner.py index 1eed92b5..c168d7d9 100644 --- a/functest/core/pytest_suite_runner.py +++ b/functest/core/pytest_suite_runner.py @@ -41,14 +41,18 @@ class PyTestSuiteRunner(base.TestcaseBase): for test, message in result.failures: self.logger.error(str(test) + " FAILED with " + message) + # a result can be PASS or FAIL + # But in this case it means that the Execution was OK + # we shall distinguish Execution Error from FAIL results + # TestcaseBase.EX_RUN_ERROR means that the test case was not run + # not that it was run but the result was FAIL + exit_code = base.TestcaseBase.EX_OK if ((result.errors and len(result.errors) > 0) or (result.failures and len(result.failures) > 0)): self.logger.info("%s FAILED" % self.case_name) self.criteria = 'FAIL' - exit_code = base.TestcaseBase.EX_RUN_ERROR else: self.logger.info("%s OK" % self.case_name) - exit_code = base.TestcaseBase.EX_OK self.criteria = 'PASS' self.details = {} diff --git a/functest/opnfv_tests/features/doctor.py b/functest/opnfv_tests/features/doctor.py index dbd803a6..4d295a67 100755 --- a/functest/opnfv_tests/features/doctor.py +++ b/functest/opnfv_tests/features/doctor.py @@ -1,6 +1,6 @@ #!/usr/bin/python # -# Copyright (c) 2015 All rights reserved +# Copyright (c) 2017 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 @@ -13,77 +13,12 @@ # 0.2: measure test duration and publish results under json format # # -import argparse -import os -import time +import functest.core.feature_base as base -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as functest_utils -import functest.utils.functest_constants as ft_constants -parser = argparse.ArgumentParser() -parser.add_argument("-r", "--report", - help="Create json result file", - action="store_true") -args = parser.parse_args() - -functest_yaml = functest_utils.get_functest_yaml() - -DOCTOR_REPO_DIR = ft_constants.DOCTOR_REPO_DIR -RESULTS_DIR = ft_constants.FUNCTEST_RESULTS_DIR - -logger = ft_logger.Logger("doctor").getLogger() - - -def main(): - exit_code = -1 - - # if the image name is explicitly set for the doctor suite, set it as - # enviroment variable - if 'doctor' in functest_yaml and 'image_name' in functest_yaml['doctor']: - os.environ["IMAGE_NAME"] = functest_yaml['doctor']['image_name'] - - cmd = 'cd %s/tests && ./run.sh' % DOCTOR_REPO_DIR - log_file = RESULTS_DIR + "/doctor.log" - - start_time = time.time() - - ret = functest_utils.execute_command(cmd, - info=True, - output_file=log_file) - - stop_time = time.time() - duration = round(stop_time - start_time, 1) - if ret == 0: - logger.info("Doctor test case OK") - test_status = 'OK' - exit_code = 0 - else: - logger.info("Doctor test case FAILED") - test_status = 'NOK' - - details = { - 'timestart': start_time, - 'duration': duration, - 'status': test_status, - } - status = "FAIL" - if details['status'] == "OK": - status = "PASS" - functest_utils.logger_test_results("Doctor", - "doctor-notification", - status, details) - if args.report: - functest_utils.push_results_to_db("doctor", - "doctor-notification", - start_time, - stop_time, - status, - details) - logger.info("Doctor results pushed to DB") - - exit(exit_code) - - -if __name__ == '__main__': - main() +class Doctor(base.FeatureBase): + def __init__(self): + super(Doctor, self).__init__(project='doctor', + case='doctor-notification', + repo='dir_repo_doctor') + self.cmd = 'cd %s/tests && ./run.sh' % self.repo diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index de553116..e7cac7af 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -533,11 +533,6 @@ class RallyBase(testcase_base.TestcaseBase): return testcase_base.TestcaseBase.EX_RUN_ERROR self.stop_time = time.time() - if self.criteria == "PASS": - return testcase_base.TestcaseBase.EX_OK - else: - return testcase_base.TestcaseBase.EX_TESTCASE_FAILED - class RallySanity(RallyBase): def __init__(self): diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index ff450b1a..4c5e8663 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -150,6 +150,8 @@ def configure_tempest(deployment_dir, IMAGE_ID=None, FLAVOR_ID=None): config.set('identity', 'password', CONST.tempest_identity_user_password) config.set( 'validation', 'ssh_timeout', CONST.tempest_validation_ssh_timeout) + config.set('object-storage', 'operator_role', + CONST.tempest_object_storage_operator_role) if CONST.OS_ENDPOINT_TYPE is not None: services_list = ['compute', diff --git a/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt b/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt index 5c8581f6..0a4256ce 100644 --- a/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt +++ b/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.txt @@ -74,23 +74,3 @@ - tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern - tempest.scenario.test_volume_boot_pattern.TestVolumeBootPatternV2.test_volume_boot_pattern - -- - # https://bugs.launchpad.net/tempest/+bug/1586931 - scenarios: - - os-odl_l2-nofeature-ha - - os-odl_l2-nofeature-noha - - os-odl_l2-sfc-ha - - os-odl_l2-sfc-noha - - os-odl_l3-nofeature-ha - - os-odl_l3-nofeature-noha - - os-nosdn-kvm-ha - - os-nosdn-kvm-noha - - os-nosdn-nofeature-ha - - os-nosdn-nofeature-noha - - os-nosdn-ovs-ha - - os-nosdn-ovs-noha - installers: - - fuel - tests: - - tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index 69337cbe..2bdbe47f 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -281,11 +281,6 @@ class TempestCommon(testcase_base.TestcaseBase): self.stop_time = time.time() - if self.criteria == "PASS": - return testcase_base.TestcaseBase.EX_OK - else: - return testcase_base.TestcaseBase.EX_TESTCASE_FAILED - class TempestSmokeSerial(TempestCommon): diff --git a/functest/utils/functest_constants.py b/functest/utils/functest_constants.py index 7fb03e8a..bd109785 100644 --- a/functest/utils/functest_constants.py +++ b/functest/utils/functest_constants.py @@ -146,6 +146,8 @@ TEMPEST_USER_PASSWORD = get_value('tempest.identity.user_password', 'TEMPEST_USER_PASSWORD') TEMPEST_SSH_TIMEOUT = get_value('tempest.validation.ssh_timeout', 'TEMPEST_SSH_TIMEOUT') +TEMPEST_OPERATOR_ROLE = get_value('tempest.object_storage.operator_role', + 'TEMPEST_OPERATOR_ROLE') TEMPEST_USE_CUSTOM_IMAGES = get_value('tempest.use_custom_images', 'TEMPEST_USE_CUSTOM_IMAGES') TEMPEST_USE_CUSTOM_FLAVORS = get_value('tempest.use_custom_flavors', @@ -218,8 +220,6 @@ PROMISE_SUBNET_CIDR = get_value('promise.subnet_cidr', 'PROMISE_SUBNET_CIDR') PROMISE_ROUTER_NAME = get_value('promise.router_name', 'PROMISE_ROUTER_NAME') -DOCTOR_REPO_DIR = get_value('general.dir.dir_repo_doctor', - 'DOCTOR_REPO_DIR') COPPER_REPO_DIR = get_value('general.dir.repo_copper', 'COPPER_REPO_DIR') EXAMPLE_INSTANCE_NAME = get_value('example.vm_name', |