diff options
author | Jose Lausuch <jalausuch@suse.com> | 2017-11-15 17:11:41 +0100 |
---|---|---|
committer | Jose Lausuch <jalausuch@suse.com> | 2017-11-22 19:48:38 +0100 |
commit | d4996440fa16297aee7a925e6357a9cfd42d24f8 (patch) | |
tree | e2ef5c7c02eac83422848b7ce186171facf5547c /functest/ci/run_tests.py | |
parent | 185dbcfb6ed774cc2f0478b05041d9e3a4e2f303 (diff) |
Remove prepare_env
After moving the rally installation out of prepare_env
It doesn't much sense to keep this script as it doesn't
do useful things any more.
Change-Id: I9ab3b2dd30c8ec0fbb825ee4302a83cce80f1cbe
Signed-off-by: Jose Lausuch <jalausuch@suse.com>
Diffstat (limited to 'functest/ci/run_tests.py')
-rw-r--r-- | functest/ci/run_tests.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index d4acd9c5..03d62d99 100644 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -19,6 +19,7 @@ import sys import textwrap import prettytable +import yaml import functest.ci.tier_builder as tb import functest.core.testcase as testcase @@ -29,6 +30,16 @@ from functest.utils.constants import CONST # __name__ cannot be used here logger = logging.getLogger('functest.ci.run_tests') +CONFIG_FUNCTEST_PATH = pkg_resources.resource_filename( + 'functest', 'ci/config_functest.yaml') +CONFIG_PATCH_PATH = pkg_resources.resource_filename( + 'functest', 'ci/config_patch.yaml') +CONFIG_AARCH64_PATCH_PATH = pkg_resources.resource_filename( + 'functest', 'ci/config_aarch64_patch.yaml') +# set the architecture to default +pod_arch = os.getenv("POD_ARCH", None) +arch_filter = ['aarch64'] + class Result(enum.Enum): EX_OK = os.EX_OK @@ -76,6 +87,44 @@ class Runner(object): pkg_resources.resource_filename('functest', 'ci/testcases.yaml')) @staticmethod + def update_config_file(): + Runner.patch_file(CONFIG_PATCH_PATH) + + if pod_arch and pod_arch in arch_filter: + Runner.patch_file(CONFIG_AARCH64_PATCH_PATH) + + if "TEST_DB_URL" in os.environ: + Runner.update_db_url() + + @staticmethod + def patch_file(patch_file_path): + logger.debug('Updating file: %s', patch_file_path) + with open(patch_file_path) as f: + patch_file = yaml.safe_load(f) + + updated = False + for key in patch_file: + if key in CONST.__getattribute__('DEPLOY_SCENARIO'): + new_functest_yaml = dict(ft_utils.merge_dicts( + ft_utils.get_functest_yaml(), patch_file[key])) + updated = True + + if updated: + os.remove(CONFIG_FUNCTEST_PATH) + with open(CONFIG_FUNCTEST_PATH, "w") as f: + f.write(yaml.dump(new_functest_yaml, default_style='"')) + + @staticmethod + def update_db_url(): + with open(CONFIG_FUNCTEST_PATH) as f: + functest_yaml = yaml.safe_load(f) + + with open(CONFIG_FUNCTEST_PATH, "w") as f: + functest_yaml["results"]["test_db_url"] = os.environ.get( + 'TEST_DB_URL') + f.write(yaml.dump(functest_yaml, default_style='"')) + + @staticmethod def source_rc_file(): rc_file = CONST.__getattribute__('openstack_creds') if not os.path.isfile(rc_file): @@ -192,6 +241,8 @@ class Runner(object): self.run_tier(tier) def main(self, **kwargs): + Runner.update_config_file() + if 'noclean' in kwargs: self.clean_flag = not kwargs['noclean'] if 'report' in kwargs: |