diff options
-rwxr-xr-x | ci/prepare_env.py | 12 | ||||
-rw-r--r-- | ci/testcases.yaml | 2 | ||||
-rwxr-xr-x | testcases/Controllers/ODL/OpenDaylightTesting.py | 2 | ||||
-rw-r--r-- | testcases/Controllers/ONOS/Sfc/Sfc.py | 1 | ||||
-rwxr-xr-x | testcases/Controllers/ONOS/Teston/onosfunctest.py | 1 | ||||
-rwxr-xr-x | testcases/OpenStack/rally/run_rally-cert.py | 2 | ||||
-rwxr-xr-x | testcases/OpenStack/tempest/gen_tempest_conf.py | 2 | ||||
-rwxr-xr-x | testcases/OpenStack/tempest/run_tempest.py | 7 | ||||
-rw-r--r-- | testcases/OpenStack/vPing/vping_util.py | 1 | ||||
-rwxr-xr-x | testcases/features/copper.py | 5 | ||||
-rwxr-xr-x | testcases/features/doctor.py | 5 | ||||
-rwxr-xr-x | testcases/features/domino.py | 5 | ||||
-rwxr-xr-x | testcases/features/promise.py | 1 | ||||
-rwxr-xr-x | testcases/features/sfc/sfc.py | 106 | ||||
-rw-r--r-- | testcases/vnf/vIMS/orchestrator.py | 103 | ||||
-rwxr-xr-x | testcases/vnf/vIMS/vIMS.py | 8 | ||||
-rwxr-xr-x | testcases/vnf/vRNC/parser.py | 5 | ||||
-rw-r--r-- | utils/functest_utils.py | 61 |
18 files changed, 150 insertions, 179 deletions
diff --git a/ci/prepare_env.py b/ci/prepare_env.py index b8c536f1..2dc9e3ab 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 1fa0a4c0..4fcdd1b0 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 22df9f66..173de87f 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 a5201987..99d07aae 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 2790e694..717df82a 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 43096c19..e04ecbc5 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 4aa814a5..688a9240 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 fbb65dbb..3fa9b368 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 8e9ce23e..bdd11811 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 73def7db..b1df99a5 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 6e6f26f3..5fc0713f 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 cc98f546..aaf38047 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 3f58dcee..47e360ca 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 3cf1052b..4f08d23d 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 3da3fb06..3e5117ff 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 32e8fc11..634a1795 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 d22ca8ea..37e84d87 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 ff823410..0fc6adf0 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) |