diff options
Diffstat (limited to 'testcases/VIM/OpenStack/CI/libraries')
-rw-r--r-- | testcases/VIM/OpenStack/CI/libraries/clean_openstack.py | 6 | ||||
-rwxr-xr-x | testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py | 116 | ||||
-rw-r--r-- | testcases/VIM/OpenStack/CI/libraries/run_tempest.py | 78 |
3 files changed, 93 insertions, 107 deletions
diff --git a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py index c5cfb07a8..7c82a4b93 100644 --- a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py +++ b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py @@ -270,10 +270,8 @@ def remove_ports(neutron_client, ports, network_ids): elif port['device_owner'] == 'network:router_interface': logger.debug("Detaching port %s (subnet %s) from router %s ..." % (port_id, subnet_id, router_id)) - if openstack_utils.\ - remove_interface_router(neutron_client, - router_id, - subnet_id): + if openstack_utils.remove_interface_router( + neutron_client, router_id, subnet_id): time.sleep(5) # leave 5 seconds to detach logger.debug(" > Done!") else: diff --git a/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py b/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py index 562c2e58e..7d37df901 100755 --- a/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py +++ b/testcases/VIM/OpenStack/CI/libraries/run_rally-cert.py @@ -99,8 +99,8 @@ with open("/home/opnfv/functest/conf/config_functest.yaml") as f: f.close() HOME = os.environ['HOME'] + "/" -SCENARIOS_DIR = REPO_PATH + functest_yaml.get("general"). \ - get("directories").get("dir_rally_scn") +SCENARIOS_DIR = REPO_PATH + functest_yaml.get("general").get( + "directories").get("dir_rally_scn") TEMPLATE_DIR = SCENARIOS_DIR + "scenario/templates" SUPPORT_DIR = SCENARIOS_DIR + "scenario/support" @@ -110,22 +110,22 @@ TENANTS_AMOUNT = 3 ITERATIONS_AMOUNT = 10 CONCURRENCY = 4 -RESULTS_DIR = functest_yaml.get("general").get("directories"). \ - get("dir_rally_res") -TEMPEST_CONF_FILE = functest_yaml.get("general").get("directories"). \ - get("dir_results") + '/tempest/tempest.conf' +RESULTS_DIR = functest_yaml.get("general").get("directories").get( + "dir_rally_res") +TEMPEST_CONF_FILE = functest_yaml.get("general").get("directories").get( + "dir_results") + '/tempest/tempest.conf' TEST_DB = functest_yaml.get("results").get("test_db_url") -PRIVATE_NETWORK = functest_yaml.get("general"). \ - get("openstack").get("neutron_private_net_name") - -GLANCE_IMAGE_NAME = functest_yaml.get("general"). \ - get("openstack").get("image_name") -GLANCE_IMAGE_FILENAME = functest_yaml.get("general"). \ - get("openstack").get("image_file_name") -GLANCE_IMAGE_FORMAT = functest_yaml.get("general"). \ - get("openstack").get("image_disk_format") -GLANCE_IMAGE_PATH = functest_yaml.get("general"). \ - get("directories").get("dir_functest_data") + "/" + GLANCE_IMAGE_FILENAME +PRIVATE_NETWORK = functest_yaml.get("general").get("openstack").get( + "neutron_private_net_name") + +GLANCE_IMAGE_NAME = functest_yaml.get("general").get("openstack").get( + "image_name") +GLANCE_IMAGE_FILENAME = functest_yaml.get("general").get("openstack").get( + "image_file_name") +GLANCE_IMAGE_FORMAT = functest_yaml.get("general").get("openstack").get( + "image_disk_format") +GLANCE_IMAGE_PATH = functest_yaml.get("general").get("directories").get( + "dir_functest_data") + "/" + GLANCE_IMAGE_FILENAME CINDER_VOLUME_TYPE_NAME = "volume_test" @@ -188,9 +188,9 @@ def task_succeed(json_raw): def live_migration_supported(): config = iniparse.ConfigParser() - if config.read(TEMPEST_CONF_FILE) and \ - config.has_section('compute-feature-enabled') and \ - config.has_option('compute-feature-enabled', 'live_migration'): + if (config.read(TEMPEST_CONF_FILE) and + config.has_section('compute-feature-enabled') and + config.has_option('compute-feature-enabled', 'live_migration')): return config.getboolean('compute-feature-enabled', 'live_migration') return False @@ -242,12 +242,12 @@ def get_output(proc, test_name): if args.verbose: result += line else: - if "Load duration" in line or \ - "started" in line or \ - "finished" in line or \ - " Preparing" in line or \ - "+-" in line or \ - "|" in line: + if ("Load duration" in line or + "started" in line or + "finished" in line or + " Preparing" in line or + "+-" in line or + "|" in line): result += line elif "test scenario" in line: result += "\n" + line @@ -255,13 +255,13 @@ def get_output(proc, test_name): result += line + "\n\n" # parse output for summary report - if "| " in line and \ - "| action" not in line and \ - "| Starting" not in line and \ - "| Completed" not in line and \ - "| ITER" not in line and \ - "| " not in line and \ - "| total" not in line: + if ("| " in line and + "| action" not in line and + "| Starting" not in line and + "| Completed" not in line and + "| ITER" not in line and + "| " not in line and + "| total" not in line): nb_tests += 1 elif "| total" in line: percentage = ((line.split('|')[8]).strip(' ')).strip('%') @@ -316,9 +316,9 @@ def run_task(test_name): logger.debug('Scenario fetched from : {}'.format(test_file_name)) - cmd_line = "rally task start --abort-on-sla-failure " + \ - "--task {} ".format(task_file) + \ - "--task-args \"{}\" ".format(build_task_args(test_name)) + cmd_line = ("rally task start --abort-on-sla-failure " + + "--task {} ".format(task_file) + + "--task-args \"{}\" ".format(build_task_args(test_name))) logger.debug('running command line : {}'.format(cmd_line)) p = subprocess.Popen(cmd_line, stdout=subprocess.PIPE, @@ -385,9 +385,8 @@ def main(): neutron_client = neutronclient.Client(**creds_neutron) creds_keystone = openstack_utils.get_credentials("keystone") keystone_client = keystoneclient.Client(**creds_keystone) - glance_endpoint = keystone_client.\ - service_catalog.url_for(service_type='image', - endpoint_type='publicURL') + glance_endpoint = keystone_client.service_catalog.url_for( + service_type='image', endpoint_type='publicURL') glance_client = glanceclient.Client(1, glance_endpoint, token=keystone_client.auth_token) creds_cinder = openstack_utils.get_credentials("cinder") @@ -402,8 +401,8 @@ def main(): volume_types = openstack_utils.list_volume_types(cinder_client, private=False) if not volume_types: - volume_type = openstack_utils.\ - create_volume_type(cinder_client, CINDER_VOLUME_TYPE_NAME) + volume_type = openstack_utils.create_volume_type( + cinder_client, CINDER_VOLUME_TYPE_NAME) if not volume_type: logger.error("Failed to create volume type...") exit(-1) @@ -442,17 +441,17 @@ def main(): logger.debug("Test name: " + args.test_name) run_task(args.test_name) - report = "\n"\ - " "\ - "\n"\ - " Rally Summary Report\n"\ - "\n"\ - "+===================+============+===============+===========+"\ - "\n"\ - "| Module | Duration | nb. Test Run | Success |"\ - "\n"\ - "+===================+============+===============+===========+"\ - "\n" + report = ("\n" + " " + "\n" + " Rally Summary Report\n" + "\n" + "+===================+============+===============+===========+" + "\n" + "| Module | Duration | nb. Test Run | Success |" + "\n" + "+===================+============+===============+===========+" + "\n") payload = [] # for each scenario we draw a row for the table @@ -469,10 +468,11 @@ def main(): total_nb_tests += int(s['nb_tests']) success = "{0:<10}".format(str(s['success']) + '%') total_success += float(s['success']) - report += "" + \ - "| " + name + " | " + duration + " | " + \ - nb_tests + " | " + success + "|\n" + \ - "+-------------------+------------+---------------+-----------+\n" + report += ("" + + "| " + name + " | " + duration + " | " + + nb_tests + " | " + success + "|\n" + + "+-------------------+------------" + "+---------------+-----------+\n") payload.append({'module': name, 'details': {'duration': s['overall_duration'], 'nb tests': s['nb_tests'], @@ -485,8 +485,8 @@ def main(): total_success_str = "{0:<10}".format(str(total_success) + '%') report += "+===================+============+===============+===========+" report += "\n" - report += "| TOTAL: | " + total_duration_str2 + " | " + \ - total_nb_tests_str + " | " + total_success_str + "|\n" + report += ("| TOTAL: | " + total_duration_str2 + " | " + + total_nb_tests_str + " | " + total_success_str + "|\n") report += "+===================+============+===============+===========+" report += "\n" diff --git a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py index b2240c9c2..d8c477b37 100644 --- a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py +++ b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py @@ -23,6 +23,7 @@ import shutil import subprocess import time import yaml +import ConfigParser import keystoneclient.v2_0.client as ksclient from neutronclient.v2_0 import client as neutronclient @@ -78,25 +79,22 @@ f.close() TEST_DB = functest_yaml.get("results").get("test_db_url") MODE = "smoke" -TENANT_NAME = functest_yaml.get("tempest").\ - get("identity").get("tenant_name") -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") +TENANT_NAME = functest_yaml.get("tempest").get("identity").get("tenant_name") +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") TEMPEST_RESULTS_DIR = RESULTS_DIR + '/tempest' -TEST_LIST_DIR = functest_yaml.get("general").\ - get("directories").get("dir_tempest_cases") +TEST_LIST_DIR = functest_yaml.get("general").get("directories").get( + "dir_tempest_cases") TEMPEST_LIST_FILE = REPO_PATH + TEST_LIST_DIR + 'test_list.txt' TEMPEST_DEFCORE = REPO_PATH + TEST_LIST_DIR + 'defcore_req.txt' @@ -198,8 +196,8 @@ def configure_tempest(mode): if deployment_uuid == "": logger.debug(" Rally deployment NOT found") return False - deployment_dir = RALLY_INSTALLATION_DIR + "/tempest/for-deployment-" + \ - deployment_uuid + deployment_dir = (RALLY_INSTALLATION_DIR + "/tempest/for-deployment-" + + deployment_uuid) logger.debug("Finding tempest.conf file...") tempest_conf_file = deployment_dir + "/tempest.conf" @@ -217,7 +215,9 @@ def configure_tempest(mode): cmd += "testr list-tests >" + TEMPEST_LIST_FILE + ";cd" functest_utils.execute_command(cmd, logger) - logger.debug(" Updating fixed_network_name...") + logger.debug("Updating selected tempest.conf parameters...") + config = ConfigParser.RawConfigParser() + config.read(tempest_conf_file) private_net_name = "" creds_neutron = openstack_utils.get_credentials("neutron") neutron_client = neutronclient.Client(**creds_neutron) @@ -226,24 +226,12 @@ def configure_tempest(mode): logger.error("No shared private networks found.") else: private_net_name = private_net['name'] - cmd = "crudini --set " + tempest_conf_file + \ - " compute fixed_network_name " + \ - private_net_name - functest_utils.execute_command(cmd, logger) - - logger.debug(" Updating non-admin credentials...") - cmd = "crudini --set " + tempest_conf_file + " identity tenant_name " \ - + TENANT_NAME - functest_utils.execute_command(cmd, logger) - cmd = "crudini --set " + tempest_conf_file + " identity username " \ - + USER_NAME - functest_utils.execute_command(cmd, logger) - 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) + config.set('compute', 'fixed_network_name', private_net_name) + config.set('identity', 'tenant_name', TENANT_NAME) + config.set('identity', 'username', USER_NAME) + config.set('identity', 'password', USER_PASSWORD) + with open(tempest_conf_file, 'wb') as config_file: + config.write(config_file) # Copy tempest.conf to /home/opnfv/functest/results/tempest/ shutil.copyfile(tempest_conf_file, TEMPEST_RESULTS_DIR + '/tempest.conf') @@ -264,12 +252,12 @@ def run_tempest(OPTION): if CI_DEBUG == "true" or CI_DEBUG == "True": subprocess.call(cmd_line, shell=True, stderr=subprocess.STDOUT) else: - header = "Tempest environment:\n"\ - " Installer: %s\n Scenario: %s\n Node: %s\n Date: %s\n" % \ - (os.getenv('INSTALLER_TYPE', 'Unknown'), - os.getenv('DEPLOY_SCENARIO', 'Unknown'), - os.getenv('NODE_NAME', 'Unknown'), - time.strftime("%a %b %d %H:%M:%S %Z %Y")) + header = ("Tempest environment:\n" + " Installer: %s\n Scenario: %s\n Node: %s\n Date: %s\n" % + (os.getenv('INSTALLER_TYPE', 'Unknown'), + os.getenv('DEPLOY_SCENARIO', 'Unknown'), + os.getenv('NODE_NAME', 'Unknown'), + time.strftime("%a %b %d %H:%M:%S %Z %Y"))) f_stdout = open(TEMPEST_RESULTS_DIR + "/tempest.log", 'w+') f_stderr = open(TEMPEST_RESULTS_DIR + "/tempest-error.log", 'w+') |