import os
import re
import requests
+import shutil
import subprocess
import sys
import time
""" tests configuration """
parser = argparse.ArgumentParser()
-parser.add_argument("-d", "--debug", help="Debug mode", action="store_true")
-parser.add_argument("-m", "--mode", help="Tempest test mode [smoke, all]",
+parser.add_argument("-d", "--debug",
+ help="Debug mode",
+ action="store_true")
+parser.add_argument("-s", "--serial",
+ help="Run tests in one thread",
+ action="store_true")
+parser.add_argument("-m", "--mode",
+ help="Tempest test mode [smoke, all]",
default="smoke")
parser.add_argument("-r", "--report",
help="Create json result file",
action="store_true")
+parser.add_argument("-n", "--noclean",
+ help="Don't clean the created resources for this test.",
+ action="store_true")
args = parser.parse_args()
TENANT_DESCRIPTION = functest_yaml.get("tempest").get("identity").get("tenant_description")
USER_NAME = functest_yaml.get("tempest").get("identity").get("user_name")
USER_PASSWORD = functest_yaml.get("tempest").get("identity").get("user_password")
+SSH_USER_REGEX = functest_yaml.get("tempest").get("input-scenario").get("ssh_user_regex")
DEPLOYMENT_MAME = functest_yaml.get("rally").get("deployment_name")
RALLY_INSTALLATION_DIR = functest_yaml.get("general").get("directories").get("dir_rally_inst")
RESULTS_DIR = functest_yaml.get("general").get("directories").get("dir_results")
logger.debug("Finding tempest.conf file...")
tempest_conf_file = RALLY_INSTALLATION_DIR+"/tempest/for-deployment-" \
+deployment_uuid+"/tempest.conf"
- if tempest_conf_file == "":
- logger.debug(" Tempest configuration file NOT found")
+ if not os.path.isfile(tempest_conf_file):
+ logger.error(" Tempest configuration file %s NOT found." % tempest_conf_file)
return False
logger.debug(" Updating fixed_network_name...")
cmd = "crudini --set "+tempest_conf_file+" identity password " \
+USER_PASSWORD
functest_utils.execute_command(cmd,logger)
+ cmd = "sed -i 's/.*ssh_user_regex.*/ssh_user_regex = "+SSH_USER_REGEX+"/' "+tempest_conf_file
+ functest_utils.execute_command(cmd,logger)
+
+ # Copy tempest.conf to /home/opnfv/functest/results/tempest/
+ shutil.copyfile(tempest_conf_file,TEMPEST_RESULTS_DIR+'/tempest.conf')
return True
# :return: void
#
logger.info("Starting Tempest test suite: '%s'." % OPTION)
- cmd_line = "rally verify start "+OPTION
+ cmd_line = "rally verify start " + OPTION + " --system-wide"
logger.debug('Executing command : {}'.format(cmd_line))
CI_DEBUG = os.environ.get("CI_DEBUG")
if CI_DEBUG == "true" or CI_DEBUG == "True":
subprocess.call(cmd_line, shell=True, stderr=subprocess.STDOUT)
else:
- if not os.path.exists(TEMPEST_RESULTS_DIR):
- os.makedirs(TEMPEST_RESULTS_DIR)
header = "Tempest environment:\n"\
" Installer: %s\n Scenario: %s\n Node: %s\n Date: %s\n" % \
(os.getenv('INSTALLER_TYPE','Unknown'), \
else:
MODE = "--set "+args.mode
+ if args.serial:
+ MODE = "--concur 1 "+MODE
+
+ if not os.path.exists(TEMPEST_RESULTS_DIR):
+ os.makedirs(TEMPEST_RESULTS_DIR)
+
create_tempest_resources()
configure_tempest()
run_tempest(MODE)
+
+ if args.noclean:
+ exit(0)
+
free_tempest_resources()