stop hardcoded FUNCTEST_REPO path everywhere 19/20219/1
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Thu, 1 Sep 2016 02:19:58 +0000 (10:19 +0800)
committerMorgan Richomme <morgan.richomme@orange.com>
Fri, 2 Sep 2016 08:10:45 +0000 (08:10 +0000)
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 <feng.xiaowei@zte.com.cn>
(cherry picked from commit 470f573a3ac2eb1783efec6da01a3bee33360c65)

17 files changed:
ci/prepare_env.py
ci/run_tests.py
cli/commands/cli_env.py
cli/commands/cli_os.py
cli/commands/cli_testcase.py
cli/commands/cli_tier.py
testcases/Controllers/ONOS/Teston/adapters/foundation.py
testcases/Controllers/ONOS/Teston/onosfunctest.py
testcases/OpenStack/examples/create_instance_and_ip.py
testcases/OpenStack/rally/run_rally-cert.py
testcases/OpenStack/tempest/run_tempest.py
testcases/OpenStack/vPing/vping_util.py
testcases/features/sfc/sfc.py
testcases/security_scan/security_scan.py
testcases/vnf/vIMS/vIMS.py
utils/functest_utils.py
utils/openstack_snapshot.py

index b8c536f..0b528cf 100755 (executable)
 #
 
 
-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")
index d8f4883..1947938 100755 (executable)
@@ -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 = []
index 9e6372d..0f5ef2c 100644 (file)
@@ -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):
index a3b7ad3..d38dc9e 100644 (file)
@@ -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):
index 498f081..68f9ed6 100644 (file)
@@ -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)
index ea86a79..3142468 100644 (file)
@@ -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)
index 47605eb..70c84ac 100644 (file)
@@ -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')
index 2790e69..6b922fb 100755 (executable)
@@ -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")
 
 
index 92a3df6..3d41e5d 100755 (executable)
@@ -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
index 43096c1..b77cbdf 100755 (executable)
@@ -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"
index fbb65db..390c8a6 100755 (executable)
@@ -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'
index 8e9ce23..d3ca441 100644 (file)
@@ -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:
index 7b1a73f..27d80bc 100755 (executable)
@@ -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")
index 36b7954..7b92502 100755 (executable)
 # 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:
index 7a96c94..ffcd09b 100755 (executable)
@@ -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") + "/"
index ff82341..041601e 100644 (file)
@@ -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)
 
 
 # ----------------------------------------------------------
index 058f9de..236cf74 100755 (executable)
@@ -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")