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)
rally_conf = os_utils.get_credentials_for_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."))
details['description'] = result.suite.name
details['tests'] = visitor.get_data()
if not ft_utils.push_results_to_db(
- "functest", "odl", cls.logger, start_time, stop_time,
+ "functest", "odl", start_time, stop_time,
result.suite.status, details):
cls.logger.error("Cannot push ODL results to DB")
return False
logger.info("Result is " + status)
functest_utils.push_results_to_db("functest",
"onos_sfc",
- logger,
start_time,
stop_time,
status,
functest_utils.push_results_to_db("functest",
"onos",
- logger,
start_time,
stop_time,
status,
logger.debug("Push Rally detailed results into DB")
functest_utils.push_results_to_db("functest",
"Rally_details",
- logger,
start_time,
stop_time,
status,
logger.debug("Pushing Rally summary into DB...")
functest_utils.push_results_to_db("functest",
case_name,
- logger,
start_time,
stop_time,
status,
if not os.path.exists(TEMPEST_RESULTS_DIR):
os.makedirs(TEMPEST_RESULTS_DIR)
- deployment_dir = ft_utils.get_deployment_dir(logger)
+ deployment_dir = ft_utils.get_deployment_dir()
configure_tempest_multisite(deployment_dir)
logger.debug("Generating new tempest.conf file...")
cmd = "rally verify genconfig"
- ft_utils.execute_command(cmd, logger)
+ ft_utils.execute_command(cmd)
logger.debug("Finding tempest.conf file...")
if not os.path.isfile(tempest_conf_file):
testr_mode = 'tempest.api.' + mode
cmd = ("cd " + deployment_dir + ";" + "testr list-tests " +
testr_mode + ">" + TEMPEST_RAW_LIST + ";cd")
- ft_utils.execute_command(cmd, logger)
+ ft_utils.execute_command(cmd)
def apply_tempest_blacklist():
try:
ft_utils.push_results_to_db("functest",
case_name,
- None,
start_time,
stop_time,
status,
if not os.path.exists(TEMPEST_RESULTS_DIR):
os.makedirs(TEMPEST_RESULTS_DIR)
- deployment_dir = ft_utils.get_deployment_dir(logger)
+ deployment_dir = ft_utils.get_deployment_dir()
create_tempest_resources()
if "" == args.conf:
logger.debug("Pushing vPing %s results into DB..." % case)
ft_utils.push_results_to_db('functest',
case,
- logger,
start_time,
stop_time,
details['status'],
'duration': duration,
'status': test_status,
}
- functest_utils.logger_test_results(logger, "Copper",
+ functest_utils.logger_test_results("Copper",
"copper-notification",
details['status'], details)
try:
if args.report:
functest_utils.push_results_to_db("copper",
"copper-notification",
- logger,
start_time,
stop_time,
details['status'],
status = "FAIL"
if details['status'] == "OK":
status = "PASS"
- functest_utils.logger_test_results(logger, "Doctor",
+ functest_utils.logger_test_results("Doctor",
"doctor-notification",
status, details)
if args.report:
functest_utils.push_results_to_db("doctor",
"doctor-notification",
- logger,
start_time,
stop_time,
status,
elif details['status'] == "SKIPPED":
status = "SKIP"
- functest_utils.logger_test_results(logger, "Domino",
+ functest_utils.logger_test_results("Domino",
"domino-multinode",
status, details)
if args.report:
if status is not "SKIP":
functest_utils.push_results_to_db("domino",
"domino-multinode",
- logger,
start_time,
stop_time,
status,
functest_utils.push_results_to_db("promise",
"promise",
- logger,
start_time,
stop_time,
status,
" :) \n" + '\033[0m')
# TODO report results to DB
- # functest_utils.logger_test_results(logger, "SFC",
+ # functest_utils.logger_test_results("SFC",
# "odl-sfc",
# status, details)
# see doctor, promise, domino, ...
# logger.info("Pushing odl-SFC results")
# functest_utils.push_results_to_db("functest",
# "odl-sfc",
- # logger,
# start_time,
# stop_time,
# status,
status = "PASS"
functest_utils.push_results_to_db("functest",
"vims",
- None,
TESTCASE_START_TIME,
stop_time,
status,
functest_utils.push_results_to_db("functest",
"vims",
- logger,
TESTCASE_START_TIME,
end_time_ts,
status,
logger.info("Prepare virtualenv for cloudify-cli")
cmd = "chmod +x " + VIMS_DIR + "create_venv.sh"
- functest_utils.execute_command(cmd, logger)
+ functest_utils.execute_command(cmd)
time.sleep(3)
cmd = VIMS_DIR + "create_venv.sh " + VIMS_DATA_DIR
- functest_utils.execute_command(cmd, logger)
+ functest_utils.execute_command(cmd)
cfy.download_manager_blueprint(
CFY_MANAGER_BLUEPRINT['url'], CFY_MANAGER_BLUEPRINT['branch'])
start_time = time.time()
ret = functest_utils.execute_command(cmd,
- logger,
info=True,
exit_on_error=False)
stop_time = time.time()
start_time,
stop_time)
- functest_utils.logger_test_results(logger,
- project,
+ functest_utils.logger_test_results(project,
case_name,
status,
details)
logger.debug("Report Parser Results to DB......")
functest_utils.push_results_to_db(project,
case_name,
- logger,
start_time,
stop_time,
status,
return branch.name
-def get_installer_type(logger=None):
+def get_installer_type():
"""
Get installer type (fuel, apex, joid, compass)
"""
try:
installer = os.environ['INSTALLER_TYPE']
except KeyError:
- globals()['logger'].error("Impossible to retrieve the installer type")
+ logger.error("Impossible to retrieve the installer type")
installer = "Unknown_installer"
return installer
-def get_scenario(logger=None):
+def get_scenario():
"""
Get scenario
"""
try:
scenario = os.environ['DEPLOY_SCENARIO']
except KeyError:
- globals()['logger'].error("Impossible to retrieve the scenario")
+ logger.error("Impossible to retrieve the scenario")
scenario = "Unknown_scenario"
return scenario
-def get_version(logger=None):
+def get_version():
"""
Get version
"""
# e.g. jenkins-functest-fuel-opnfv-jump-2-daily-master-190
# use regex to match branch info
rule = "daily-(.+?)-[0-9]*"
- build_tag = get_build_tag(logger)
+ build_tag = get_build_tag()
m = re.search(rule, build_tag)
if m:
return m.group(1)
return "unknown"
-def get_pod_name(logger=None):
+def get_pod_name():
"""
Get PoD Name from env variable NODE_NAME
"""
try:
return os.environ['NODE_NAME']
except KeyError:
- globals()['logger'].error(
+ logger.error(
"Unable to retrieve the POD name from environment. " +
"Using pod name 'unknown-pod'")
return "unknown-pod"
-def get_build_tag(logger=None):
+def get_build_tag():
"""
Get build tag of jenkins jobs
"""
try:
build_tag = os.environ['BUILD_TAG']
except KeyError:
- globals()['logger'].error("Impossible to retrieve the build tag")
+ logger.error("Impossible to retrieve the build tag")
build_tag = "unknown_build_tag"
return build_tag
-def get_db_url(logger=None):
+def get_db_url():
"""
Returns DB URL
"""
return db_url
-def logger_test_results(logger, project, case_name, status, details):
- pod_name = get_pod_name(logger)
- scenario = get_scenario(logger)
- version = get_version(logger)
- build_tag = get_build_tag(logger)
+def logger_test_results(project, case_name, status, details):
+ pod_name = get_pod_name()
+ scenario = get_scenario()
+ version = get_version()
+ build_tag = get_build_tag()
- globals()['logger'].info(
+ logger.info(
"\n"
"****************************************\n"
"\t %(p)s/%(n)s results \n\n"
'd': details})
-def push_results_to_db(project, case_name, logger,
+def push_results_to_db(project, case_name,
start_date, stop_date, criteria, details):
"""
POST results to the Result target DB
"""
# Retrieve params from CI and conf
- url = get_db_url(logger) + "/results"
+ url = get_db_url() + "/results"
try:
installer = os.environ['INSTALLER_TYPE']
pod_name = os.environ['NODE_NAME']
build_tag = os.environ['BUILD_TAG']
except KeyError as e:
- globals()['logger'].error("Please set env var: " + str(e))
+ logger.error("Please set env var: " + str(e))
return False
rule = "daily-(.+?)-[0-9]*"
m = re.search(rule, build_tag)
if m:
version = m.group(1)
else:
- globals()['logger'].error("Please fix BUILD_TAG env var: " + build_tag)
+ logger.error("Please fix BUILD_TAG env var: " + build_tag)
return False
test_start = dt.fromtimestamp(start_date).strftime('%Y-%m-%d %H:%M:%S')
test_stop = dt.fromtimestamp(stop_date).strftime('%Y-%m-%d %H:%M:%S')
headers = {'Content-Type': 'application/json'}
try:
r = requests.post(url, data=json.dumps(params), headers=headers)
- globals()['logger'].debug(r)
+ logger.debug(r)
r.raise_for_status()
except requests.RequestException as exc:
if 'r' in locals():
})
finally:
if error:
- globals()['logger'].error(error)
+ logger.error(error)
return False
return True
return ci_env_var
-def execute_command(cmd, logger=None,
- exit_on_error=True,
- info=False,
- error_msg="",
+def execute_command(cmd, exit_on_error=True, info=False, error_msg="",
verbose=True):
if not error_msg:
error_msg = ("The command '%s' failed." % cmd)
msg_exec = ("Executing command: '%s'" % cmd)
if verbose:
if info:
- globals()['logger'].info(msg_exec)
+ logger.info(msg_exec)
else:
- globals()['logger'].debug(msg_exec)
+ logger.debug(msg_exec)
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
for line in iter(p.stdout.readline, b''):
returncode = p.wait()
if returncode != 0:
if verbose:
- globals()['logger'].error(error_msg)
+ logger.error(error_msg)
if exit_on_error:
sys.exit(1)
return returncode
-def get_deployment_dir(logger=None):
+def get_deployment_dir():
"""
Returns current Rally deployment directory
"""
stderr=subprocess.STDOUT)
deployment_uuid = p.stdout.readline().rstrip()
if deployment_uuid == "":
- globals()['logger'].error("Rally deployment not found.")
+ logger.error("Rally deployment not found.")
exit(-1)
deployment_dir = (rally_dir + "/tempest/for-deployment-" +
deployment_uuid)