-#!/bin/bash
+#!/usr/bin/env python
#
# Author: Jose Lausuch (jose.lausuch@ericsson.com)
#
import sys
import yaml
-import functest.ci.tier_builder as tb
import functest.utils.functest_logger as ft_logger
import functest.utils.functest_utils as ft_utils
import functest.utils.generate_defaults as gen_def
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(
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. "
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)
if "ERROR" in line:
logger.error(line)
sys.exit("Problem while running 'check_os.sh'.")
- logger.debug(line)
+ logger.info(line)
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)
+ ft_utils.execute_command(cmd, logger,
+ error_msg=("Problem while showing "
+ "OpenStack flavors."))
def generate_os_defaults():
gen_def.main()
-def generate_tiers():
- print_separator()
- logger.info("Generating Tiers and test cases...")
- file = FUNCTEST_REPO + "/ci/testcases.yaml"
-
- t = tb.TierBuilder(CI_INSTALLER_TYPE, CI_SCENARIO, file)
- logger.info("Tiers and tests to be executed:\n\n%s" % t)
-
-
def check_environment():
msg_not_active = "The Functest environment is not installed."
if not os.path.isfile(ENV_FILE):
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()
- generate_tiers()
with open(ENV_FILE, "w") as env_file:
env_file.write("1")