aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/prepare_env.py12
-rw-r--r--ci/testcases.yaml2
-rwxr-xr-xtestcases/Controllers/ODL/OpenDaylightTesting.py2
-rw-r--r--testcases/Controllers/ONOS/Sfc/Sfc.py1
-rwxr-xr-xtestcases/Controllers/ONOS/Teston/onosfunctest.py1
-rwxr-xr-xtestcases/OpenStack/rally/run_rally-cert.py2
-rwxr-xr-xtestcases/OpenStack/tempest/gen_tempest_conf.py2
-rwxr-xr-xtestcases/OpenStack/tempest/run_tempest.py7
-rw-r--r--testcases/OpenStack/vPing/vping_util.py1
-rwxr-xr-xtestcases/features/copper.py5
-rwxr-xr-xtestcases/features/doctor.py5
-rwxr-xr-xtestcases/features/domino.py5
-rwxr-xr-xtestcases/features/promise.py1
-rwxr-xr-xtestcases/features/sfc/sfc.py106
-rw-r--r--testcases/vnf/vIMS/orchestrator.py103
-rwxr-xr-xtestcases/vnf/vIMS/vIMS.py8
-rwxr-xr-xtestcases/vnf/vRNC/parser.py5
-rw-r--r--utils/functest_utils.py61
18 files changed, 150 insertions, 179 deletions
diff --git a/ci/prepare_env.py b/ci/prepare_env.py
index b8c536f1a..2dc9e3ab4 100755
--- a/ci/prepare_env.py
+++ b/ci/prepare_env.py
@@ -224,7 +224,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, exit_on_error=False,
error_msg=("Deployment %s does not exist."
% DEPLOYMENT_MAME), verbose=False)
rally_conf = os_utils.get_credentials_for_rally()
@@ -232,27 +232,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."))
diff --git a/ci/testcases.yaml b/ci/testcases.yaml
index 1fa0a4c03..4fcdd1b02 100644
--- a/ci/testcases.yaml
+++ b/ci/testcases.yaml
@@ -161,7 +161,7 @@ tiers:
Test suite for policy management based on OpenStack Congress
dependencies:
installer: '(apex)|(joid)'
- scenario: ''
+ scenario: '^((?!lxd).)*$'
-
name: moon
criteria: 'status == "PASS"'
diff --git a/testcases/Controllers/ODL/OpenDaylightTesting.py b/testcases/Controllers/ODL/OpenDaylightTesting.py
index 22df9f667..173de87f9 100755
--- a/testcases/Controllers/ODL/OpenDaylightTesting.py
+++ b/testcases/Controllers/ODL/OpenDaylightTesting.py
@@ -172,7 +172,7 @@ class ODLTestCases:
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
diff --git a/testcases/Controllers/ONOS/Sfc/Sfc.py b/testcases/Controllers/ONOS/Sfc/Sfc.py
index a52019875..99d07aaed 100644
--- a/testcases/Controllers/ONOS/Sfc/Sfc.py
+++ b/testcases/Controllers/ONOS/Sfc/Sfc.py
@@ -217,7 +217,6 @@ class Sfc:
logger.info("Result is " + status)
functest_utils.push_results_to_db("functest",
"onos_sfc",
- logger,
start_time,
stop_time,
status,
diff --git a/testcases/Controllers/ONOS/Teston/onosfunctest.py b/testcases/Controllers/ONOS/Teston/onosfunctest.py
index 2790e6941..717df82aa 100755
--- a/testcases/Controllers/ONOS/Teston/onosfunctest.py
+++ b/testcases/Controllers/ONOS/Teston/onosfunctest.py
@@ -249,7 +249,6 @@ def OnosTest():
functest_utils.push_results_to_db("functest",
"onos",
- logger,
start_time,
stop_time,
status,
diff --git a/testcases/OpenStack/rally/run_rally-cert.py b/testcases/OpenStack/rally/run_rally-cert.py
index 43096c19e..e04ecbc52 100755
--- a/testcases/OpenStack/rally/run_rally-cert.py
+++ b/testcases/OpenStack/rally/run_rally-cert.py
@@ -359,7 +359,6 @@ def run_task(test_name):
logger.debug("Push Rally detailed results into DB")
functest_utils.push_results_to_db("functest",
"Rally_details",
- logger,
start_time,
stop_time,
status,
@@ -492,7 +491,6 @@ def main():
logger.debug("Pushing Rally summary into DB...")
functest_utils.push_results_to_db("functest",
case_name,
- logger,
start_time,
stop_time,
status,
diff --git a/testcases/OpenStack/tempest/gen_tempest_conf.py b/testcases/OpenStack/tempest/gen_tempest_conf.py
index 4aa814a51..688a92402 100755
--- a/testcases/OpenStack/tempest/gen_tempest_conf.py
+++ b/testcases/OpenStack/tempest/gen_tempest_conf.py
@@ -116,7 +116,7 @@ def main():
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)
diff --git a/testcases/OpenStack/tempest/run_tempest.py b/testcases/OpenStack/tempest/run_tempest.py
index fbb65dbb7..3fa9b368e 100755
--- a/testcases/OpenStack/tempest/run_tempest.py
+++ b/testcases/OpenStack/tempest/run_tempest.py
@@ -164,7 +164,7 @@ def configure_tempest(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):
@@ -226,7 +226,7 @@ def generate_test_list(deployment_dir, mode):
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():
@@ -371,7 +371,6 @@ def run_tempest(OPTION):
try:
ft_utils.push_results_to_db("functest",
case_name,
- None,
start_time,
stop_time,
status,
@@ -397,7 +396,7 @@ def main():
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:
diff --git a/testcases/OpenStack/vPing/vping_util.py b/testcases/OpenStack/vPing/vping_util.py
index 8e9ce23ec..bdd118118 100644
--- a/testcases/OpenStack/vPing/vping_util.py
+++ b/testcases/OpenStack/vPing/vping_util.py
@@ -453,7 +453,6 @@ def push_result(report, case, start_time, stop_time, details):
logger.debug("Pushing vPing %s results into DB..." % case)
ft_utils.push_results_to_db('functest',
case,
- logger,
start_time,
stop_time,
details['status'],
diff --git a/testcases/features/copper.py b/testcases/features/copper.py
index 73def7db2..b1df99a52 100755
--- a/testcases/features/copper.py
+++ b/testcases/features/copper.py
@@ -40,7 +40,7 @@ def main():
start_time = time.time()
- ret_val = functest_utils.execute_command(cmd, logger, exit_on_error=False)
+ ret_val = functest_utils.execute_command(cmd, exit_on_error=False)
stop_time = time.time()
duration = round(stop_time - start_time, 1)
@@ -56,14 +56,13 @@ def main():
'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'],
diff --git a/testcases/features/doctor.py b/testcases/features/doctor.py
index 6e6f26f37..5fc0713f9 100755
--- a/testcases/features/doctor.py
+++ b/testcases/features/doctor.py
@@ -38,7 +38,7 @@ def main():
cmd = 'cd %s/tests && ./run.sh' % DOCTOR_REPO
start_time = time.time()
- ret = functest_utils.execute_command(cmd, logger, info=True,
+ ret = functest_utils.execute_command(cmd, info=True,
exit_on_error=False)
stop_time = time.time()
@@ -59,13 +59,12 @@ def main():
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,
diff --git a/testcases/features/domino.py b/testcases/features/domino.py
index cc98f546d..aaf38047b 100755
--- a/testcases/features/domino.py
+++ b/testcases/features/domino.py
@@ -39,7 +39,7 @@ def main():
cmd = 'cd %s && ./tests/run_multinode.sh' % DOMINO_REPO
start_time = time.time()
- ret = functest_utils.execute_command(cmd, logger, exit_on_error=False)
+ ret = functest_utils.execute_command(cmd, exit_on_error=False)
stop_time = time.time()
duration = round(stop_time - start_time, 1)
@@ -65,14 +65,13 @@ def main():
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,
diff --git a/testcases/features/promise.py b/testcases/features/promise.py
index 3f58dcee8..47e360ca3 100755
--- a/testcases/features/promise.py
+++ b/testcases/features/promise.py
@@ -242,7 +242,6 @@ def main():
functest_utils.push_results_to_db("promise",
"promise",
- logger,
start_time,
stop_time,
status,
diff --git a/testcases/features/sfc/sfc.py b/testcases/features/sfc/sfc.py
index 3cf1052b6..4f08d23da 100755
--- a/testcases/features/sfc/sfc.py
+++ b/testcases/features/sfc/sfc.py
@@ -260,15 +260,16 @@ def main():
try:
while 1:
- (stdin, stdout, stderr) = ssh.exec_command("ps lax | grep python")
- if "vxlan_tool.py" in stdout.readlines()[0]:
+ (stdin, stdout, stderr) = ssh.exec_command(
+ "ps aux | grep \"vxlan_tool.py\" | grep -v grep")
+ if len(stdout.readlines()) > 0:
logger.debug("HTTP firewall started")
break
else:
logger.debug("HTTP firewall not started")
time.sleep(3)
- except:
- logger.error("vxlan_tool not started in SF1")
+ except Exception:
+ logger.exception("vxlan_tool not started in SF1")
# SSH TO START THE VXLAN_TOOL ON SF2
try:
@@ -284,15 +285,16 @@ def main():
try:
while 1:
- (stdin, stdout, stderr) = ssh.exec_command("ps lax | grep python")
- if "vxlan_tool.py" in stdout.readlines()[0]:
+ (stdin, stdout, stderr) = ssh.exec_command(
+ "ps aux | grep \"vxlan_tool.py\" | grep -v grep")
+ if len(stdout.readlines()) > 0:
logger.debug("SSH firewall started")
break
else:
logger.debug("SSH firewall not started")
time.sleep(3)
- except:
- logger.error("vxlan_tool not started in SF2")
+ except Exception:
+ logger.exception("vxlan_tool not started in SF2")
# SSH to modify the classification flows in compute
@@ -303,51 +305,55 @@ def main():
shell=True,
stdout=subprocess.PIPE)
- # SSH TO EXECUTE cmd_client
+ logger.info("Waiting for 60 seconds before TEST")
+ for j in range(0, 6):
+ logger.info("Test starting in {0} seconds".format(str((6 - j)*10)))
+ time.sleep(10)
+ i = 0
+
+ # SSH TO EXECUTE cmd_client
logger.info("TEST STARTED")
try:
ssh.connect(floatip_client, username="root",
password="opnfv", timeout=2)
command = "nc -w 5 -zv " + instance_ip_2 + " 22 2>&1"
(stdin, stdout, stderr) = ssh.exec_command(command)
+
+ # WRITE THE CORRECT WAY TO DO LOGGING
+ if "timed out" in stdout.readlines()[0]:
+ logger.info('\033[92m' + "TEST 1 [PASSED] "
+ "==> SSH BLOCKED" + '\033[0m')
+ i = i + 1
+ else:
+ logger.error('\033[91m' + "TEST 1 [FAILED] "
+ "==> SSH NOT BLOCKED" + '\033[0m')
+ return
except:
logger.debug("Waiting for %s..." % floatip_client)
time.sleep(6)
# timeout -= 1
- # WRITE THE CORRECT WAY TO DO LOGGING
- i = 0
- if "timed out" in stdout.readlines()[0]:
- logger.info('\033[92m' + "TEST 1 [PASSED] "
- "==> SSH BLOCKED" + '\033[0m')
- i = i + 1
- else:
- logger.error('\033[91m' + "TEST 1 [FAILED] "
- "==> SSH NOT BLOCKED" + '\033[0m')
- return
-
# SSH TO EXECUTE cmd_client
-
try:
ssh.connect(floatip_client, username="root",
password="opnfv", timeout=2)
command = "nc -w 5 -zv " + instance_ip_2 + " 80 2>&1"
(stdin, stdout, stderr) = ssh.exec_command(command)
+
+ if "succeeded" in stdout.readlines()[0]:
+ logger.info('\033[92m' + "TEST 2 [PASSED] "
+ "==> HTTP WORKS" + '\033[0m')
+ i = i + 1
+ else:
+ logger.error('\033[91m' + "TEST 2 [FAILED] "
+ "==> HTTP BLOCKED" + '\033[0m')
+ return
except:
logger.debug("Waiting for %s..." % floatip_client)
time.sleep(6)
# timeout -= 1
- if "succeeded" in stdout.readlines()[0]:
- logger.info('\033[92m' + "TEST 2 [PASSED] "
- "==> HTTP WORKS" + '\033[0m')
- i = i + 1
- else:
- logger.error('\033[91m' + "TEST 2 [FAILED] "
- "==> HTTP BLOCKED" + '\033[0m')
- return
-
# CHANGE OF CLASSIFICATION #
logger.info("Changing the classification")
tacker_classi = "/home/opnfv/repos/functest/testcases/features/sfc/" + \
@@ -373,48 +379,47 @@ def main():
password="opnfv", timeout=2)
command = "nc -w 5 -zv " + instance_ip_2 + " 80 2>&1"
(stdin, stdout, stderr) = ssh.exec_command(command)
+
+ if "timed out" in stdout.readlines()[0]:
+ logger.info('\033[92m' + "TEST 3 [WORKS] "
+ "==> HTTP BLOCKED" + '\033[0m')
+ i = i + 1
+ else:
+ logger.error('\033[91m' + "TEST 3 [FAILED] "
+ "==> HTTP NOT BLOCKED" + '\033[0m')
+ return
except:
logger.debug("Waiting for %s..." % floatip_client)
time.sleep(6)
# timeout -= 1
- if "timed out" in stdout.readlines()[0]:
- logger.info('\033[92m' + "TEST 3 [WORKS] "
- "==> HTTP BLOCKED" + '\033[0m')
- i = i + 1
- else:
- logger.error('\033[91m' + "TEST 3 [FAILED] "
- "==> HTTP NOT BLOCKED" + '\033[0m')
- return
-
# SSH TO EXECUTE cmd_client
-
try:
ssh.connect(floatip_client, username="root",
password="opnfv", timeout=2)
command = "nc -w 5 -zv " + instance_ip_2 + " 22 2>&1"
(stdin, stdout, stderr) = ssh.exec_command(command)
+
+ if "succeeded" in stdout.readlines()[0]:
+ logger.info('\033[92m' + "TEST 4 [WORKS] "
+ "==> SSH WORKS" + '\033[0m')
+ i = i + 1
+ else:
+ logger.error('\033[91m' + "TEST 4 [FAILED] "
+ "==> SSH BLOCKED" + '\033[0m')
+ return
except:
logger.debug("Waiting for %s..." % floatip_client)
time.sleep(6)
# timeout -= 1
- if "succeeded" in stdout.readlines()[0]:
- logger.info('\033[92m' + "TEST 4 [WORKS] "
- "==> SSH WORKS" + '\033[0m')
- i = i + 1
- else:
- logger.error('\033[91m' + "TEST 4 [FAILED] "
- "==> SSH BLOCKED" + '\033[0m')
- return
-
if i == 4:
for x in range(0, 5):
logger.info('\033[92m' + "SFC TEST WORKED"
" :) \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, ...
@@ -422,7 +427,6 @@ def main():
# logger.info("Pushing odl-SFC results")
# functest_utils.push_results_to_db("functest",
# "odl-sfc",
- # logger,
# start_time,
# stop_time,
# status,
diff --git a/testcases/vnf/vIMS/orchestrator.py b/testcases/vnf/vIMS/orchestrator.py
index 3da3fb063..3e5117ffd 100644
--- a/testcases/vnf/vIMS/orchestrator.py
+++ b/testcases/vnf/vIMS/orchestrator.py
@@ -10,22 +10,26 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
########################################################################
-import subprocess32 as subprocess
+
import os
import shutil
+import subprocess32 as subprocess
import yaml
+
from git import Repo
+import functest.utils.functest_logger as ft_logger
+
class orchestrator:
- def __init__(self, testcase_dir, inputs={}, logger=None):
+ def __init__(self, testcase_dir, inputs={}):
self.testcase_dir = testcase_dir
self.blueprint_dir = testcase_dir + 'cloudify-manager-blueprint/'
self.input_file = 'inputs.yaml'
self.manager_blueprint = False
self.config = inputs
- self.logger = logger
+ self.logger = ft_logger.Logger("Orchestrator").getLogger()
self.manager_up = False
def set_credentials(self, username, password, tenant_name, auth_url):
@@ -56,28 +60,22 @@ class orchestrator:
if 0 < len(nameservers):
self.config['dns_subnet_1'] = nameservers[0]
- def set_logger(self, logger):
- self.logger = logger
-
def download_manager_blueprint(self, manager_blueprint_url,
manager_blueprint_branch):
if self.manager_blueprint:
- if self.logger:
- self.logger.info(
- "cloudify manager server blueprint is "
- "already downloaded !")
+ self.logger.info(
+ "cloudify manager server blueprint is "
+ "already downloaded !")
else:
- if self.logger:
- self.logger.info(
- "Downloading the cloudify manager server blueprint")
- download_result = download_blueprints(
+ self.logger.info(
+ "Downloading the cloudify manager server blueprint")
+ download_result = self._download_blueprints(
manager_blueprint_url,
manager_blueprint_branch,
self.blueprint_dir)
if not download_result:
- if self.logger:
- self.logger.error("Failed to download manager blueprint")
+ self.logger.error("Failed to download manager blueprint")
exit(-1)
else:
self.manager_blueprint = True
@@ -87,8 +85,7 @@ class orchestrator:
def deploy_manager(self):
if self.manager_blueprint:
- if self.logger:
- self.logger.info("Writing the inputs file")
+ self.logger.info("Writing the inputs file")
with open(self.blueprint_dir + "inputs.yaml", "w") as f:
f.write(yaml.dump(self.config, default_style='"'))
f.close()
@@ -102,8 +99,7 @@ class orchestrator:
if os.path.isfile(home + key_file):
os.remove(home + key_file)
- if self.logger:
- self.logger.info("Launching the cloudify-manager deployment")
+ self.logger.info("Launching the cloudify-manager deployment")
script = "set -e; "
script += ("source " + self.testcase_dir +
"venv_cloudify/bin/activate; ")
@@ -120,14 +116,12 @@ class orchestrator:
if error:
return error
- if self.logger:
- self.logger.info("Cloudify-manager server is UP !")
+ self.logger.info("Cloudify-manager server is UP !")
self.manager_up = True
def undeploy_manager(self):
- if self.logger:
- self.logger.info("Launching the cloudify-manager undeployment")
+ self.logger.info("Launching the cloudify-manager undeployment")
self.manager_up = False
@@ -137,38 +131,33 @@ class orchestrator:
cmd = "/bin/bash -c '" + script + "'"
execute_command(cmd, self.logger)
- if self.logger:
- self.logger.info(
- "Cloudify-manager server has been successfully removed!")
+ self.logger.info(
+ "Cloudify-manager server has been successfully removed!")
def download_upload_and_deploy_blueprint(self, blueprint, config,
bp_name, dep_name):
- if self.logger:
- self.logger.info("Downloading the {0} blueprint".format(
- blueprint['file_name']))
- download_result = download_blueprints(blueprint['url'],
- blueprint['branch'],
- self.testcase_dir +
- blueprint['destination_folder'])
+ self.logger.info("Downloading the {0} blueprint".format(
+ blueprint['file_name']))
+ destination_folder = self.testcase_dir + \
+ blueprint['destination_folder']
+ download_result = self._download_blueprints(blueprint['url'],
+ blueprint['branch'],
+ destination_folder)
if not download_result:
- if self.logger:
- self.logger.error(
- "Failed to download blueprint {0}".
- format(blueprint['file_name']))
+ self.logger.error(
+ "Failed to download blueprint {0}".
+ format(blueprint['file_name']))
exit(-1)
- if self.logger:
- self.logger.info("Writing the inputs file")
+ self.logger.info("Writing the inputs file")
with open(self.testcase_dir + blueprint['destination_folder'] +
"/inputs.yaml", "w") as f:
f.write(yaml.dump(config, default_style='"'))
-
f.close()
- if self.logger:
- self.logger.info("Launching the {0} deployment".format(bp_name))
+ self.logger.info("Launching the {0} deployment".format(bp_name))
script = "source " + self.testcase_dir + "venv_cloudify/bin/activate; "
script += ("cd " + self.testcase_dir +
blueprint['destination_folder'] + "; ")
@@ -183,12 +172,10 @@ class orchestrator:
error = execute_command(cmd, self.logger, 2000)
if error:
return error
- if self.logger:
- self.logger.info("The deployment of {0} is ended".format(dep_name))
+ self.logger.info("The deployment of {0} is ended".format(dep_name))
def undeploy_deployment(self, dep_name):
- if self.logger:
- self.logger.info("Launching the {0} undeployment".format(dep_name))
+ self.logger.info("Launching the {0} undeployment".format(dep_name))
script = "source " + self.testcase_dir + "venv_cloudify/bin/activate; "
script += "cd " + self.testcase_dir + "; "
script += ("cfy executions start -w uninstall -d " + dep_name +
@@ -199,8 +186,16 @@ class orchestrator:
try:
execute_command(cmd, self.logger)
except:
- if self.logger:
- self.logger.error("Clearwater undeployment failed")
+ self.logger.error("Clearwater undeployment failed")
+
+ def _download_blueprints(blueprint_url, branch, dest_path):
+ if os.path.exists(dest_path):
+ shutil.rmtree(dest_path)
+ try:
+ Repo.clone_from(blueprint_url, dest_path, branch=branch)
+ return True
+ except:
+ return False
def execute_command(cmd, logger, timeout=1800):
@@ -237,13 +232,3 @@ def execute_command(cmd, logger, timeout=1800):
result += lines[len(lines) - 2]
result += lines[len(lines) - 1]
return result
-
-
-def download_blueprints(blueprint_url, branch, dest_path):
- if os.path.exists(dest_path):
- shutil.rmtree(dest_path)
- try:
- Repo.clone_from(blueprint_url, dest_path, branch=branch)
- return True
- except:
- return False
diff --git a/testcases/vnf/vIMS/vIMS.py b/testcases/vnf/vIMS/vIMS.py
index 32e8fc11d..634a17952 100755
--- a/testcases/vnf/vIMS/vIMS.py
+++ b/testcases/vnf/vIMS/vIMS.py
@@ -117,7 +117,6 @@ def step_failure(step_name, error_msg):
status = "PASS"
functest_utils.push_results_to_db("functest",
"vims",
- None,
TESTCASE_START_TIME,
stop_time,
status,
@@ -239,7 +238,6 @@ def test_clearwater():
functest_utils.push_results_to_db("functest",
"vims",
- logger,
TESTCASE_START_TIME,
end_time_ts,
status,
@@ -343,7 +341,7 @@ def main():
public_auth_url = keystone.service_catalog.url_for(
service_type='identity', endpoint_type='publicURL')
- cfy = orchestrator(VIMS_DATA_DIR, CFY_INPUTS, logger)
+ cfy = orchestrator(VIMS_DATA_DIR, CFY_INPUTS)
cfy.set_credentials(username=ks_creds['username'], password=ks_creds[
'password'], tenant_name=ks_creds['tenant_name'],
@@ -402,10 +400,10 @@ def main():
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'])
diff --git a/testcases/vnf/vRNC/parser.py b/testcases/vnf/vRNC/parser.py
index d22ca8ea4..37e84d87c 100755
--- a/testcases/vnf/vRNC/parser.py
+++ b/testcases/vnf/vRNC/parser.py
@@ -41,7 +41,6 @@ def main():
start_time = time.time()
ret = functest_utils.execute_command(cmd,
- logger,
info=True,
exit_on_error=False)
stop_time = time.time()
@@ -51,8 +50,7 @@ def main():
start_time,
stop_time)
- functest_utils.logger_test_results(logger,
- project,
+ functest_utils.logger_test_results(project,
case_name,
status,
details)
@@ -61,7 +59,6 @@ def main():
logger.debug("Report Parser Results to DB......")
functest_utils.push_results_to_db(project,
case_name,
- logger,
start_time,
stop_time,
status,
diff --git a/utils/functest_utils.py b/utils/functest_utils.py
index ff8234104..0fc6adf00 100644
--- a/utils/functest_utils.py
+++ b/utils/functest_utils.py
@@ -77,33 +77,33 @@ def get_git_branch(repo_path):
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
"""
@@ -114,7 +114,7 @@ def get_version(logger=None):
# 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)
@@ -122,33 +122,33 @@ def get_version(logger=None):
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
"""
@@ -157,13 +157,13 @@ def get_db_url(logger=None):
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"
@@ -186,13 +186,13 @@ def logger_test_results(logger, project, case_name, status, details):
'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']
@@ -200,14 +200,14 @@ def push_results_to_db(project, case_name, logger,
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')
@@ -222,7 +222,7 @@ def push_results_to_db(project, case_name, logger,
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():
@@ -256,7 +256,7 @@ def push_results_to_db(project, case_name, logger,
})
finally:
if error:
- globals()['logger'].error(error)
+ logger.error(error)
return False
return True
@@ -293,19 +293,16 @@ def get_ci_envvars():
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''):
@@ -316,14 +313,14 @@ def execute_command(cmd, logger=None,
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
"""
@@ -338,7 +335,7 @@ def get_deployment_dir(logger=None):
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)