From 7b03643170974d4307e0f630e4c79340df98e06f Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sat, 26 Oct 2019 15:30:28 +0200 Subject: Add healthcheck Horizon tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It runs TestDashboardBasicOps as proposed by tempest-horizon [1]. It's skipped if DASHBOARD_URL is unset (default). [1] https://opendev.org/openstack/tempest-horizon Change-Id: I1b6b5609412770609f412da4927641588b173ed6 Signed-off-by: Cédric Ollivier --- functest/ci/testcases.yaml | 15 +++++++++++++++ functest/opnfv_tests/openstack/tempest/tempest.py | 15 +++++++++++++++ functest/utils/env.py | 3 ++- 3 files changed, 32 insertions(+), 1 deletion(-) (limited to 'functest') diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 53d9124eb..0b308b72a 100644 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -163,6 +163,21 @@ tiers: option: - '--concurrency=4' + - + case_name: tempest_horizon + project_name: functest + criteria: 100 + blocking: false + description: >- + This test case runs the Tempest suite proposed by the + Horizon project. + dependencies: + - DASHBOARD_URL: '^(?!\s*$).+' + run: + name: tempest_horizon + args: + mode: '^tempest_horizon.' + - name: smoke order: 1 diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index d30d59468..c2bb76876 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -661,3 +661,18 @@ class TempestScenario(TempestCommon): instances=self.quota_instances, cores=self.quota_cores) return super(TempestScenario, self).run(**kwargs) + + +class TempestHorizon(TempestCommon): + """Tempest Horizon testcase implementation class.""" + + def configure(self, **kwargs): + super(TempestHorizon, self).configure(**kwargs) + rconfig = configparser.RawConfigParser() + rconfig.read(self.conf_file) + if not rconfig.has_section('dashboard'): + rconfig.add_section('dashboard') + rconfig.set('dashboard', 'dashboard_url', env.get('DASHBOARD_URL')) + with open(self.conf_file, 'w') as config_file: + rconfig.write(config_file) + self.backup_tempest_config(self.conf_file, self.res_dir) diff --git a/functest/utils/env.py b/functest/utils/env.py index 85676ed57..5aebbbe0c 100644 --- a/functest/utils/env.py +++ b/functest/utils/env.py @@ -38,7 +38,8 @@ INPUTS = { 'BLOCK_MIGRATION': 'True', 'CLEAN_ORPHAN_SECURITY_GROUPS': 'True', 'SKIP_DOWN_HYPERVISORS': 'False', - 'PUBLIC_ENDPOINT_ONLY': 'False' + 'PUBLIC_ENDPOINT_ONLY': 'False', + 'DASHBOARD_URL': '' } -- cgit 1.2.3-korg