diff options
-rwxr-xr-x | ci/prepare_env.py | 12 | ||||
-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 | 3 | ||||
-rwxr-xr-x | testcases/vnf/vIMS/vIMS.py | 6 | ||||
-rwxr-xr-x | testcases/vnf/vRNC/parser.py | 5 | ||||
-rw-r--r-- | utils/functest_utils.py | 61 |
16 files changed, 50 insertions, 69 deletions
diff --git a/ci/prepare_env.py b/ci/prepare_env.py index 116b1a6e2..3a9e52ba5 100755 --- a/ci/prepare_env.py +++ b/ci/prepare_env.py @@ -225,7 +225,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() @@ -233,27 +233,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/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 f3eb79d26..f7199d301 100755 --- a/testcases/OpenStack/rally/run_rally-cert.py +++ b/testcases/OpenStack/rally/run_rally-cert.py @@ -362,7 +362,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, @@ -495,7 +494,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 306664feb..9285b67d9 100755 --- a/testcases/OpenStack/tempest/run_tempest.py +++ b/testcases/OpenStack/tempest/run_tempest.py @@ -166,7 +166,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): @@ -228,7 +228,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(): @@ -373,7 +373,6 @@ def run_tempest(OPTION): try: ft_utils.push_results_to_db("functest", case_name, - None, start_time, stop_time, status, @@ -399,7 +398,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 3f4adae73..9c35c230a 100644 --- a/testcases/OpenStack/vPing/vping_util.py +++ b/testcases/OpenStack/vPing/vping_util.py @@ -456,7 +456,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 c79754a1b..e03e60f1c 100755 --- a/testcases/features/copper.py +++ b/testcases/features/copper.py @@ -42,7 +42,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) @@ -58,14 +58,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 02edd25ca..713931346 100755 --- a/testcases/features/doctor.py +++ b/testcases/features/doctor.py @@ -41,7 +41,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() @@ -62,13 +62,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 291a3b49b..f99a53b6c 100755 --- a/testcases/features/domino.py +++ b/testcases/features/domino.py @@ -42,7 +42,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) @@ -68,14 +68,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 3728adfe5..27186550e 100755 --- a/testcases/features/promise.py +++ b/testcases/features/promise.py @@ -245,7 +245,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..5f771137d 100755 --- a/testcases/features/sfc/sfc.py +++ b/testcases/features/sfc/sfc.py @@ -414,7 +414,7 @@ def main(): " :) \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 +422,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/vIMS.py b/testcases/vnf/vIMS/vIMS.py index 373761794..83ea86dbb 100755 --- a/testcases/vnf/vIMS/vIMS.py +++ b/testcases/vnf/vIMS/vIMS.py @@ -122,7 +122,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, @@ -244,7 +243,6 @@ def test_clearwater(): functest_utils.push_results_to_db("functest", "vims", - logger, TESTCASE_START_TIME, end_time_ts, status, @@ -407,10 +405,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 00593b0b0..a895ef8df 100755 --- a/testcases/vnf/vRNC/parser.py +++ b/testcases/vnf/vRNC/parser.py @@ -44,7 +44,6 @@ def main(): start_time = time.time() ret = functest_utils.execute_command(cmd, - logger, info=True, exit_on_error=False) stop_time = time.time() @@ -54,8 +53,7 @@ def main(): start_time, stop_time) - functest_utils.logger_test_results(logger, - project, + functest_utils.logger_test_results(project, case_name, status, details) @@ -64,7 +62,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 b8bd403a1..1f86bcd00 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 """ @@ -159,13 +159,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" @@ -188,13 +188,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'] @@ -202,14 +202,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') @@ -224,7 +224,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(): @@ -258,7 +258,7 @@ def push_results_to_db(project, case_name, logger, }) finally: if error: - globals()['logger'].error(error) + logger.error(error) return False return True @@ -295,19 +295,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''): @@ -318,14 +315,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 """ @@ -342,7 +339,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) |