Add cd to test directory
[functest.git] / ci / prepare_env.py
old mode 100644 (file)
new mode 100755 (executable)
index b462f96..ed6a4ed
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env python
 #
 # Author: Jose Lausuch (jose.lausuch@ericsson.com)
 #
 # http://www.apache.org/licenses/LICENSE-2.0
 #
 
+
 import argparse
 import os
 import re
 import subprocess
 import sys
-import yaml
 
 import functest.utils.functest_logger as ft_logger
 import functest.utils.functest_utils as ft_utils
-import functest.utils.generate_defaults as gen_def
 import functest.utils.openstack_utils as os_utils
+import yaml
 
 
-""" arguments """
 actions = ['start', 'check']
 parser = argparse.ArgumentParser()
 parser.add_argument("action", help="Possible actions are: "
@@ -47,7 +46,7 @@ CI_DEBUG = False
 REPOS_DIR = os.getenv('repos_dir')
 FUNCTEST_REPO = REPOS_DIR + '/functest/'
 
-with open("/home/opnfv/repos/functest/testcases/config_functest.yaml") as f:
+with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f:
     functest_yaml = yaml.safe_load(f)
 
 FUNCTEST_CONF_DIR = functest_yaml.get("general").get(
@@ -134,13 +133,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()
@@ -150,7 +142,7 @@ def source_rc_file():
         logger.warning("The environment variable 'creds' must be set and"
                        "pointing to the local RC file. Using default: "
                        "/home/opnfv/functest/conf/openstack.creds ...")
-        rc_file = "/home/opnfv/functest/conf/openstack.creds ..."
+        rc_file = "/home/opnfv/functest/conf/openstack.creds"
 
     if not os.path.isfile(rc_file):
         logger.info("RC file not provided. "
@@ -171,7 +163,7 @@ def source_rc_file():
         logger.debug("Executing command: %s" % cmd)
         p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
         output = p.communicate()[0]
-        logger.debug(output)
+        logger.debug("\n%s" % output)
         if p.returncode != 0:
             logger.error("Failed to fetch credentials from installer.")
             sys.exit(1)
@@ -203,7 +195,7 @@ def verify_deployment():
         if "ERROR" in line:
             logger.error(line)
             sys.exit("Problem while running 'check_os.sh'.")
-        logger.debug(line)
+        logger.info(line)
 
 
 def install_rally():
@@ -211,40 +203,34 @@ def install_rally():
     logger.info("Creating Rally environment...")
 
     cmd = "rally deployment destroy opnfv-rally"
-    ft_utils.execute_command(cmd, logger=None, exit_on_error=False)
+    ft_utils.execute_command(cmd, logger=logger, exit_on_error=False,
+                             error_msg=("Deployment %s does not exist."
+                                        % DEPLOYMENT_MAME), verbose=False)
 
     cmd = "rally deployment create --fromenv --name=" + DEPLOYMENT_MAME
-    if not ft_utils.execute_command(cmd, logger):
-        logger.error("Problem while creating Rally deployment.")
-        sys.exit(cmd)
+    ft_utils.execute_command(cmd, logger,
+                             error_msg="Problem creating Rally deployment")
 
     logger.info("Installing tempest from existing repo...")
     cmd = ("rally verify install --source " + TEMPEST_REPO_DIR +
            " --system-wide")
-    if not ft_utils.execute_command(cmd, logger):
-        logger.error("Problem while installing Tempest.")
-        sys.exit(cmd)
+    ft_utils.execute_command(cmd, logger,
+                             error_msg="Problem installing Tempest.")
 
     cmd = "rally deployment check"
-    if not ft_utils.execute_command(cmd, logger):
-        logger.error("OpenStack not responding or faulty Rally deployment.")
-        sys.exit(cmd)
+    ft_utils.execute_command(cmd, logger,
+                             error_msg=("OpenStack not responding or "
+                                        "faulty Rally deployment."))
 
     cmd = "rally show images"
-    if not ft_utils.execute_command(cmd, logger):
-        logger.error("Problem while listing OpenStack images.")
-        sys.exit(cmd)
+    ft_utils.execute_command(cmd, logger,
+                             error_msg=("Problem while listing "
+                                        "OpenStack images."))
 
     cmd = "rally show flavors"
-    if not ft_utils.execute_command(cmd, logger):
-        logger.error("Problem while showing OpenStack flavors.")
-        sys.exit(cmd)
-
-
-def generate_os_defaults():
-    print_separator()
-    logger.info("Generating OpenStack defaults...")
-    gen_def.main()
+    ft_utils.execute_command(cmd, logger,
+                             error_msg=("Problem while showing "
+                                        "OpenStack flavors."))
 
 
 def check_environment():
@@ -268,13 +254,12 @@ def main():
         sys.exit()
 
     if args.action == "start":
-        print ("\n######### Preparing Functest environment #########\n")
+        logger.info("######### Preparing Functest environment #########\n")
         check_env_variables()
         create_directories()
         source_rc_file()
         verify_deployment()
         install_rally()
-        generate_os_defaults()
 
         with open(ENV_FILE, "w") as env_file:
             env_file.write("1")