X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=ci%2Fprepare_env.py;h=49dcdd505a7e7b8af6b0f30769f745d2f358b5ec;hb=80241f5f8486bfc7ba79bcd47a69a25e719af8a2;hp=4f29260f6ed69bc4b7532ef85385f65fec7e1c35;hpb=bbc47d487f06da2906116e5ade134e11c4221786;p=functest.git diff --git a/ci/prepare_env.py b/ci/prepare_env.py old mode 100644 new mode 100755 index 4f29260f6..49dcdd505 --- a/ci/prepare_env.py +++ b/ci/prepare_env.py @@ -13,17 +13,18 @@ # -import argparse +import json import os import re import subprocess import sys +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import yaml - +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO actions = ['start', 'check'] parser = argparse.ArgumentParser() @@ -43,11 +44,14 @@ CI_INSTALLER_TYPE = "" CI_INSTALLER_IP = "" CI_SCENARIO = "" CI_DEBUG = False -REPOS_DIR = os.getenv('repos_dir') -FUNCTEST_REPO = REPOS_DIR + '/functest/' +CONFIG_FUNCTEST_PATH = os.environ["CONFIG_FUNCTEST_YAML"] +CONFIG_PATCH_PATH = os.path.join(os.path.dirname( + CONFIG_FUNCTEST_PATH), "config_patch.yaml") -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = ft_utils.get_functest_yaml() + +with open(CONFIG_PATCH_PATH) as f: + functest_patch_yaml = yaml.safe_load(f) FUNCTEST_CONF_DIR = functest_yaml.get("general").get( "directories").get("dir_functest_conf") @@ -133,13 +137,6 @@ def create_directories(): else: logger.debug(" %s already exists." % FUNCTEST_DATA_DIR) - ODL_RESULTS_DIR = FUNCTEST_RESULTS_DIR + "/ODL/" - if not os.path.exists(ODL_RESULTS_DIR): - os.makedirs(ODL_RESULTS_DIR) - logger.info(" %s created." % ODL_RESULTS_DIR) - else: - logger.debug(" %s already exists." % ODL_RESULTS_DIR) - def source_rc_file(): print_separator() @@ -189,6 +186,21 @@ def source_rc_file(): logger.debug("Used credentials: %s" % str) +def patch_config_file(): + updated = False + for key in functest_patch_yaml: + if key in CI_SCENARIO: + new_functest_yaml = dict(ft_utils.merge_dicts( + functest_yaml, functest_patch_yaml[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='"')) + f.close() + + def verify_deployment(): print_separator() logger.info("Verifying OpenStack services...") @@ -210,32 +222,35 @@ def install_rally(): logger.info("Creating Rally environment...") cmd = "rally deployment destroy opnfv-rally" - ft_utils.execute_command(cmd, logger=logger, exit_on_error=False, + ft_utils.execute_command(cmd, exit_on_error=False, error_msg=("Deployment %s does not exist." % DEPLOYMENT_MAME), verbose=False) - - cmd = "rally deployment create --fromenv --name=" + DEPLOYMENT_MAME - ft_utils.execute_command(cmd, logger, + rally_conf = os_utils.get_credentials_for_rally() + with open('rally_conf.json', 'w') as fp: + json.dump(rally_conf, fp) + cmd = "rally deployment create --file=rally_conf.json --name=" + cmd += DEPLOYMENT_MAME + ft_utils.execute_command(cmd, error_msg="Problem creating Rally deployment") logger.info("Installing tempest from existing repo...") cmd = ("rally verify install --source " + TEMPEST_REPO_DIR + " --system-wide") - ft_utils.execute_command(cmd, logger, + ft_utils.execute_command(cmd, error_msg="Problem installing Tempest.") cmd = "rally deployment check" - ft_utils.execute_command(cmd, logger, + ft_utils.execute_command(cmd, error_msg=("OpenStack not responding or " "faulty Rally deployment.")) cmd = "rally show images" - ft_utils.execute_command(cmd, logger, + ft_utils.execute_command(cmd, error_msg=("Problem while listing " "OpenStack images.")) cmd = "rally show flavors" - ft_utils.execute_command(cmd, logger, + ft_utils.execute_command(cmd, error_msg=("Problem while showing " "OpenStack flavors.")) @@ -265,6 +280,7 @@ def main(): check_env_variables() create_directories() source_rc_file() + patch_config_file() verify_deployment() install_rally()