From b582e4a5be0bcc3521cc239a31f681a11f4504db Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Thu, 1 Sep 2016 10:19:58 +0800 Subject: stop hardcoded FUNCTEST_REPO path everywhere functest repo is used by almost every testcase, each place we get it like: REPOS_DIR = os.getenv('repos_dir') FUNCTEST_REPO = ("%s/functest" % REPOS_DIR) provide a common interface in functest_util.py JIRA: FUNCTEST-453 Change-Id: Ie0635dacc761ed2d05b7e606530368844f32ebaf Signed-off-by: SerenaFeng (cherry picked from commit 470f573a3ac2eb1783efec6da01a3bee33360c65) --- ci/prepare_env.py | 8 +++----- ci/run_tests.py | 10 ++++------ cli/commands/cli_env.py | 4 ++-- cli/commands/cli_os.py | 5 ++--- cli/commands/cli_testcase.py | 9 +++++---- cli/commands/cli_tier.py | 9 +++++---- testcases/Controllers/ONOS/Teston/adapters/foundation.py | 8 +++++--- testcases/Controllers/ONOS/Teston/onosfunctest.py | 12 ++++-------- testcases/OpenStack/examples/create_instance_and_ip.py | 1 - testcases/OpenStack/rally/run_rally-cert.py | 8 ++------ testcases/OpenStack/tempest/run_tempest.py | 7 +++---- testcases/OpenStack/vPing/vping_util.py | 5 ++--- testcases/features/sfc/sfc.py | 13 +++++++------ testcases/security_scan/security_scan.py | 12 +++++++----- testcases/vnf/vIMS/vIMS.py | 7 ++----- utils/functest_utils.py | 2 +- utils/openstack_snapshot.py | 6 ------ 17 files changed, 54 insertions(+), 72 deletions(-) diff --git a/ci/prepare_env.py b/ci/prepare_env.py index b8c536f1a..0b528cfb3 100755 --- a/ci/prepare_env.py +++ b/ci/prepare_env.py @@ -13,18 +13,18 @@ # -import argparse +import json import os import re import subprocess import sys -import json +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import yaml - +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO actions = ['start', 'check'] parser = argparse.ArgumentParser() @@ -44,8 +44,6 @@ CI_INSTALLER_TYPE = "" CI_INSTALLER_IP = "" CI_SCENARIO = "" CI_DEBUG = False -REPOS_DIR = os.getenv('repos_dir') -FUNCTEST_REPO = REPOS_DIR + '/functest/' CONFIG_FUNCTEST_PATH = os.environ["CONFIG_FUNCTEST_YAML"] CONFIG_PATCH_PATH = os.path.join(os.path.dirname( CONFIG_FUNCTEST_PATH), "config_patch.yaml") diff --git a/ci/run_tests.py b/ci/run_tests.py index d8f488388..194793838 100755 --- a/ci/run_tests.py +++ b/ci/run_tests.py @@ -8,21 +8,21 @@ # http://www.apache.org/licenses/LICENSE-2.0 # -import argparse import datetime import os import re import sys +import argparse import functest.ci.generate_report as generate_report import functest.ci.tier_builder as tb -from functest.testcases.Controllers.ODL.OpenDaylightTesting import ODLTestCases import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_clean as os_clean import functest.utils.openstack_snapshot as os_snapshot import functest.utils.openstack_utils as os_utils - +from functest.testcases.Controllers.ODL.OpenDaylightTesting import ODLTestCases +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO parser = argparse.ArgumentParser() parser.add_argument("-t", "--test", dest="test", action='store', @@ -41,9 +41,7 @@ logger = ft_logger.Logger("run_tests").getLogger() """ global variables """ -REPOS_DIR = os.getenv('repos_dir') -FUNCTEST_REPO = ("%s/functest/" % REPOS_DIR) -EXEC_SCRIPT = ("%sci/exec_test.sh" % FUNCTEST_REPO) +EXEC_SCRIPT = ("%s/ci/exec_test.sh" % FUNCTEST_REPO) CLEAN_FLAG = True REPORT_FLAG = False EXECUTED_TEST_CASES = [] diff --git a/cli/commands/cli_env.py b/cli/commands/cli_env.py index 9e6372d4d..0f5ef2c60 100644 --- a/cli/commands/cli_env.py +++ b/cli/commands/cli_env.py @@ -12,9 +12,9 @@ import git import os import functest.utils.functest_utils as ft_utils +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO ENV_FILE = "/home/opnfv/functest/conf/env_active" -FUNCTEST_REPO = "/home/opnfv/repos/functest/" class CliEnv: @@ -35,7 +35,7 @@ class CliEnv: else: answer = raw_input("Invalid answer. Please type [y|n]\n") - cmd = ("python /home/opnfv/repos/functest/ci/prepare_env.py start") + cmd = ("python %s/ci/prepare_env.py start" % FUNCTEST_REPO) ft_utils.execute_command(cmd) def show(self): diff --git a/cli/commands/cli_os.py b/cli/commands/cli_os.py index a3b7ad31e..d38dc9e6a 100644 --- a/cli/commands/cli_os.py +++ b/cli/commands/cli_os.py @@ -14,11 +14,10 @@ import click import functest.utils.functest_utils as ft_utils import functest.utils.openstack_clean as os_clean import functest.utils.openstack_snapshot as os_snapshot +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO functest_yaml = ft_utils.get_functest_yaml() -REPOS_DIR = os.getenv('repos_dir') -FUNCTEST_REPO = ("%s/functest/" % REPOS_DIR) FUNCTEST_CONF_DIR = functest_yaml.get("general").get( "directories").get("dir_functest_conf") RC_FILE = os.getenv('creds') @@ -81,7 +80,7 @@ class CliOpenStack: def check(self): self.ping_endpoint() - cmd = FUNCTEST_REPO + "ci/check_os.sh" + cmd = FUNCTEST_REPO + "/ci/check_os.sh" ft_utils.execute_command(cmd, verbose=False) def snapshot_create(self): diff --git a/cli/commands/cli_testcase.py b/cli/commands/cli_testcase.py index 498f08132..68f9ed610 100644 --- a/cli/commands/cli_testcase.py +++ b/cli/commands/cli_testcase.py @@ -15,6 +15,7 @@ import click import functest.ci.tier_builder as tb import functest.utils.functest_utils as ft_utils import functest.utils.functest_vacation as vacation +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO functest_yaml = ft_utils.get_functest_yaml() @@ -54,9 +55,9 @@ class CliTestcase: "Run first 'functest env prepare'") else: if noclean: - cmd = ("python /home/opnfv/repos/functest/ci/run_tests.py " - "-n -t %s" % testname) + cmd = ("python %s/ci/run_tests.py " + "-n -t %s" % (FUNCTEST_REPO, testname)) else: - cmd = ("python /home/opnfv/repos/functest/ci/run_tests.py " - "-t %s" % testname) + cmd = ("python %s/ci/run_tests.py " + "-t %s" % (FUNCTEST_REPO, testname)) ft_utils.execute_command(cmd) diff --git a/cli/commands/cli_tier.py b/cli/commands/cli_tier.py index ea86a79ff..314246890 100644 --- a/cli/commands/cli_tier.py +++ b/cli/commands/cli_tier.py @@ -14,6 +14,7 @@ import os import click import functest.ci.tier_builder as tb import functest.utils.functest_utils as ft_utils +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO functest_yaml = ft_utils.get_functest_yaml() @@ -64,9 +65,9 @@ class CliTier: "Run first 'functest env prepare'") else: if noclean: - cmd = ("python /home/opnfv/repos/functest/ci/run_tests.py " - "-n -t %s" % tiername) + cmd = ("python %s/ci/run_tests.py " + "-n -t %s" % (FUNCTEST_REPO, tiername)) else: - cmd = ("python /home/opnfv/repos/functest/ci/run_tests.py " - "-t %s" % tiername) + cmd = ("python %s/ci/run_tests.py " + "-t %s" % (FUNCTEST_REPO, tiername)) ft_utils.execute_command(cmd) diff --git a/testcases/Controllers/ONOS/Teston/adapters/foundation.py b/testcases/Controllers/ONOS/Teston/adapters/foundation.py index 47605eb74..70c84ac02 100644 --- a/testcases/Controllers/ONOS/Teston/adapters/foundation.py +++ b/testcases/Controllers/ONOS/Teston/adapters/foundation.py @@ -11,12 +11,14 @@ Description: # """ +import datetime import logging import os +import re import time + import yaml -import re -import datetime +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO class foundation: @@ -24,7 +26,7 @@ class foundation: def __init__(self): # currentpath = os.getcwd() - REPO_PATH = os.environ['repos_dir'] + '/functest/' + REPO_PATH = FUNCTEST_REPO + '/' currentpath = REPO_PATH + 'testcases/Controllers/ONOS/Teston/CI' self.cipath = currentpath self.logdir = os.path.join(currentpath, 'log') diff --git a/testcases/Controllers/ONOS/Teston/onosfunctest.py b/testcases/Controllers/ONOS/Teston/onosfunctest.py index 2790e6941..6b922fba9 100755 --- a/testcases/Controllers/ONOS/Teston/onosfunctest.py +++ b/testcases/Controllers/ONOS/Teston/onosfunctest.py @@ -18,13 +18,13 @@ import datetime import os import re import time -import argparse - -from neutronclient.v2_0 import client as neutronclient +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils import functest.utils.openstack_utils as openstack_utils +from functest.utils.functest_utils import FUNCTEST_REPO as REPO_PATH +from neutronclient.v2_0 import client as neutronclient parser = argparse.ArgumentParser() parser.add_argument("-t", "--testcase", help="Testcase name") @@ -41,10 +41,6 @@ ONOS_REPO_PATH = functest_utils.get_parameter_from_yaml( "general.directories.dir_repos") ONOS_CONF_DIR = functest_utils.get_parameter_from_yaml( "general.directories.dir_functest_conf") -REPO_PATH = ONOS_REPO_PATH + '/functest/' -if not os.path.exists(REPO_PATH): - logger.error("Functest repository directory not found '%s'" % REPO_PATH) - exit(-1) ONOSCI_PATH = ONOS_REPO_PATH + "/" starttime = datetime.datetime.now() @@ -59,7 +55,7 @@ GLANCE_IMAGE_FILENAME = functest_utils.get_parameter_from_yaml( "onos_sfc.image_file_name") GLANCE_IMAGE_PATH = functest_utils.get_parameter_from_yaml( "general.directories.dir_functest_data") + "/" + GLANCE_IMAGE_FILENAME -SFC_PATH = REPO_PATH + functest_utils.get_parameter_from_yaml( +SFC_PATH = REPO_PATH + "/" + functest_utils.get_parameter_from_yaml( "general.directories.dir_onos_sfc") diff --git a/testcases/OpenStack/examples/create_instance_and_ip.py b/testcases/OpenStack/examples/create_instance_and_ip.py index 92a3df6b5..3d41e5dde 100755 --- a/testcases/OpenStack/examples/create_instance_and_ip.py +++ b/testcases/OpenStack/examples/create_instance_and_ip.py @@ -28,7 +28,6 @@ args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("create_instance_and_ip").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' HOME = os.environ['HOME'] + "/" VM_BOOT_TIMEOUT = 180 diff --git a/testcases/OpenStack/rally/run_rally-cert.py b/testcases/OpenStack/rally/run_rally-cert.py index 43096c19e..b77cbdf54 100755 --- a/testcases/OpenStack/rally/run_rally-cert.py +++ b/testcases/OpenStack/rally/run_rally-cert.py @@ -26,6 +26,7 @@ import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils import functest.utils.openstack_utils as os_utils import iniparse +from functest.utils.functest_utils import FUNCTEST_REPO as REPO_PATH tests = ['authenticate', 'glance', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'quotas', 'requests', 'vm', 'all'] @@ -69,16 +70,11 @@ else: """ logging configuration """ logger = ft_logger.Logger("run_rally").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' -if not os.path.exists(REPO_PATH): - logger.error("Functest repository directory not found '%s'" % REPO_PATH) - exit(-1) - functest_yaml = functest_utils.get_functest_yaml() HOME = os.environ['HOME'] + "/" -RALLY_DIR = REPO_PATH + functest_yaml.get("general").get( +RALLY_DIR = REPO_PATH + '/' + functest_yaml.get("general").get( "directories").get("dir_rally") TEMPLATE_DIR = RALLY_DIR + "scenario/templates" SUPPORT_DIR = RALLY_DIR + "scenario/support" diff --git a/testcases/OpenStack/tempest/run_tempest.py b/testcases/OpenStack/tempest/run_tempest.py index fbb65dbb7..390c8a65f 100755 --- a/testcases/OpenStack/tempest/run_tempest.py +++ b/testcases/OpenStack/tempest/run_tempest.py @@ -14,7 +14,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 # import ConfigParser -import argparse import os import re import shutil @@ -22,11 +21,12 @@ import subprocess import sys import time +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import yaml - +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO modes = ['full', 'smoke', 'baremetal', 'compute', 'data_processing', 'identity', 'image', 'network', 'object_storage', 'orchestration', @@ -58,8 +58,6 @@ args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("run_tempest").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' - functest_yaml = ft_utils.get_functest_yaml() TEST_DB = functest_yaml.get("results").get("test_db_url") @@ -92,6 +90,7 @@ RESULTS_DIR = functest_yaml.get("general").get("directories").get( TEMPEST_RESULTS_DIR = RESULTS_DIR + '/tempest' TEST_LIST_DIR = functest_yaml.get("general").get("directories").get( "dir_tempest_cases") +REPO_PATH = FUNCTEST_REPO + '/' TEMPEST_CUSTOM = REPO_PATH + TEST_LIST_DIR + 'test_list.txt' TEMPEST_BLACKLIST = REPO_PATH + TEST_LIST_DIR + 'blacklist.txt' TEMPEST_DEFCORE = REPO_PATH + TEST_LIST_DIR + 'defcore_req.txt' diff --git a/testcases/OpenStack/vPing/vping_util.py b/testcases/OpenStack/vPing/vping_util.py index 8e9ce23ec..d3ca44139 100644 --- a/testcases/OpenStack/vPing/vping_util.py +++ b/testcases/OpenStack/vPing/vping_util.py @@ -7,10 +7,9 @@ import time import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import paramiko +from functest.utils.functest_utils import FUNCTEST_REPO as REPO_PATH from scp import SCPClient -REPO_PATH = os.environ['repos_dir'] + '/functest/' - functest_yaml = ft_utils.get_functest_yaml() NAME_VM_1 = functest_yaml.get("vping").get("vm_name_1") @@ -340,7 +339,7 @@ def transfer_ping_script(ssh, floatip): logger.info("Trying to transfer ping.sh to %s..." % floatip) scp = SCPClient(ssh.get_transport()) - ping_script = REPO_PATH + "testcases/OpenStack/vPing/ping.sh" + ping_script = REPO_PATH + '/' + "testcases/OpenStack/vPing/ping.sh" try: scp.put(ping_script, "~/") except: diff --git a/testcases/features/sfc/sfc.py b/testcases/features/sfc/sfc.py index 7b1a73f05..27d80bc00 100755 --- a/testcases/features/sfc/sfc.py +++ b/testcases/features/sfc/sfc.py @@ -1,12 +1,14 @@ -import argparse import os import subprocess import sys import time + +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import paramiko +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO parser = argparse.ArgumentParser() @@ -19,7 +21,6 @@ args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("ODL_SFC").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' HOME = os.environ['HOME'] + "/" VM_BOOT_TIMEOUT = 180 @@ -203,8 +204,8 @@ def main(): # CREATION OF THE 2 SF #### - tacker_script = "/home/opnfv/repos/functest/testcases/features/sfc/" + \ - TACKER_SCRIPT + tacker_script = "%s/testcases/features/sfc/%s" % \ + (FUNCTEST_REPO, TACKER_SCRIPT) logger.info("Executing tacker script: '%s'" % tacker_script) subprocess.call(tacker_script, shell=True) @@ -356,8 +357,8 @@ def main(): # CHANGE OF CLASSIFICATION # logger.info("Changing the classification") - tacker_classi = "/home/opnfv/repos/functest/testcases/features/sfc/" + \ - TACKER_CHANGECLASSI + tacker_classi = "%s/testcases/features/sfc/%s" % \ + (FUNCTEST_REPO, TACKER_CHANGECLASSI) subprocess.call(tacker_classi, shell=True) logger.info("Wait for ODL to update the classification rules in OVS") diff --git a/testcases/security_scan/security_scan.py b/testcases/security_scan/security_scan.py index 36b795431..7b9250215 100755 --- a/testcases/security_scan/security_scan.py +++ b/testcases/security_scan/security_scan.py @@ -12,17 +12,19 @@ # nominated node. Post scan a report is downloaded and if '--clean' is passed # all trace of the scan is removed from the remote system. -import argparse -import connect import datetime import os import sys - from ConfigParser import SafeConfigParser -from keystoneclient.auth.identity import v2 + +import argparse +from functest.utils.functest_utils import FUNCTEST_REPO as FUNCTEST_REPO from keystoneclient import session +from keystoneclient.auth.identity import v2 from novaclient import client +import connect + __version__ = 0.1 __author__ = 'Luke Hinds (lhinds@redhat.com)' __url__ = 'https://wiki.opnfv.org/display/functest/Functest+Security' @@ -30,7 +32,7 @@ __url__ = 'https://wiki.opnfv.org/display/functest/Functest+Security' # Global vars INSTALLER_IP = os.getenv('INSTALLER_IP') oscapbin = 'sudo /bin/oscap' -functest_dir = '/home/opnfv/repos/functest/testcases/security_scan/' +functest_dir = '%s/testcases/security_scan/' % FUNCTEST_REPO # Apex Spefic var needed to query Undercloud if os.getenv('OS_AUTH_URL') is None: diff --git a/testcases/vnf/vIMS/vIMS.py b/testcases/vnf/vIMS/vIMS.py index 7a96c94e1..ffcd09b84 100755 --- a/testcases/vnf/vIMS/vIMS.py +++ b/testcases/vnf/vIMS/vIMS.py @@ -25,6 +25,7 @@ import functest.utils.openstack_utils as os_utils import keystoneclient.v2_0.client as ksclient import novaclient.client as nvclient import requests +from functest.utils.functest_utils import FUNCTEST_REPO as REPO_PATH from neutronclient.v2_0 import client as ntclient from clearwater import clearwater @@ -46,15 +47,11 @@ args = parser.parse_args() """ logging configuration """ logger = ft_logger.Logger("vIMS").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' -if not os.path.exists(REPO_PATH): - logger.error("Functest repository directory not found '%s'" % REPO_PATH) - exit(-1) functest_yaml = functest_utils.get_functest_yaml() # Cloudify parameters -VIMS_DIR = (REPO_PATH + +VIMS_DIR = (REPO_PATH + '/' + functest_yaml.get("general").get("directories").get("dir_vIMS")) VIMS_DATA_DIR = functest_yaml.get("general").get( "directories").get("dir_vIMS_data") + "/" diff --git a/utils/functest_utils.py b/utils/functest_utils.py index ff8234104..041601e21 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -28,7 +28,7 @@ import yaml logger = ft_logger.Logger("functest_utils").getLogger() REPOS_DIR = os.getenv('repos_dir') -FUNCTEST_REPO = ("%s/functest/" % REPOS_DIR) +FUNCTEST_REPO = ("%s/functest" % REPOS_DIR) # ---------------------------------------------------------- diff --git a/utils/openstack_snapshot.py b/utils/openstack_snapshot.py index 058f9ded3..236cf74e5 100755 --- a/utils/openstack_snapshot.py +++ b/utils/openstack_snapshot.py @@ -20,7 +20,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 # -import os import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils @@ -29,11 +28,6 @@ import yaml logger = ft_logger.Logger("openstack_snapshot").getLogger() -REPO_PATH = os.environ['repos_dir'] + '/functest/' -if not os.path.exists(REPO_PATH): - logger.error("Functest repository directory not found '%s'" % REPO_PATH) - exit(-1) - OS_SNAPSHOT_FILE = ft_utils.get_parameter_from_yaml( "general.openstack.snapshot_file") -- cgit 1.2.3-korg