Merge "Ignore rally_conf.json"
[functest.git] / ci / prepare_env.py
index b8c536f..e110aa5 100755 (executable)
 #
 
 
-import argparse
+import json
 import os
 import re
 import subprocess
 import sys
-import json
+
+import argparse
+import yaml
 
 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
-
 
 actions = ['start', 'check']
 parser = argparse.ArgumentParser()
@@ -44,27 +44,25 @@ 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")
 
-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")
+FUNCTEST_CONF_DIR = \
+    ft_utils.get_functest_config('general.directories.dir_functest_conf')
 
-FUNCTEST_DATA_DIR = functest_yaml.get("general").get(
-    "directories").get("dir_functest_data")
-FUNCTEST_RESULTS_DIR = functest_yaml.get("general").get(
-    "directories").get("dir_results")
-DEPLOYMENT_MAME = functest_yaml.get("rally").get("deployment_name")
-TEMPEST_REPO_DIR = functest_yaml.get("general").get(
-    "directories").get("dir_repo_tempest")
+
+FUNCTEST_DATA_DIR = \
+    ft_utils.get_functest_config('general.directories.dir_functest_data')
+FUNCTEST_RESULTS_DIR = \
+    ft_utils.get_functest_config('general.directories.dir_results')
+DEPLOYMENT_MAME = \
+    ft_utils.get_functest_config('rally.deployment_name')
+TEMPEST_REPO_DIR = \
+    ft_utils.get_functest_config('general.directories.dir_repo_tempest')
 
 ENV_FILE = FUNCTEST_CONF_DIR + "/env_active"
 
@@ -91,10 +89,11 @@ def check_env_variables():
         logger.warning("The env variable 'INSTALLER_TYPE' is not defined.")
         CI_INSTALLER_TYPE = "undefined"
     else:
-        if os.getenv('INSTALLER_TYPE') not in INSTALLERS:
+        if CI_INSTALLER_TYPE not in INSTALLERS:
             logger.warning("INSTALLER_TYPE=%s is not a valid OPNFV installer. "
-                           "Available OPNFV Installers are : %s."
-                           "Setting INSTALLER_TYPE=undefined." % INSTALLERS)
+                           "Available OPNFV Installers are : %s. "
+                           "Setting INSTALLER_TYPE=undefined."
+                           % (CI_INSTALLER_TYPE, INSTALLERS))
             CI_INSTALLER_TYPE = "undefined"
         else:
             logger.info("    INSTALLER_TYPE=%s" % CI_INSTALLER_TYPE)
@@ -193,7 +192,7 @@ def patch_config_file():
     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]))
+                ft_utils.get_functest_yaml(), functest_patch_yaml[key]))
             updated = True
 
     if updated:
@@ -206,7 +205,7 @@ def patch_config_file():
 def verify_deployment():
     print_separator()
     logger.info("Verifying OpenStack services...")
-    cmd = ("%s/ci/check_os.sh" % FUNCTEST_REPO)
+    cmd = ("%s/ci/check_os.sh" % ft_utils.FUNCTEST_REPO)
 
     logger.debug("Executing command: %s" % cmd)
     p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
@@ -224,7 +223,7 @@ 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,
                              error_msg=("Deployment %s does not exist."
                                         % DEPLOYMENT_MAME), verbose=False)
     rally_conf = os_utils.get_credentials_for_rally()
@@ -232,27 +231,27 @@ def install_rally():
         json.dump(rally_conf, fp)
     cmd = "rally deployment create --file=rally_conf.json --name="
     cmd += DEPLOYMENT_MAME
-    ft_utils.execute_command(cmd, logger,
+    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."))