From 4a803db9fa32c42559306da22beaab437d664fdc Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Wed, 31 Aug 2016 10:22:33 +0800 Subject: unify functest_yaml obtain process functest_yaml is needed in almost all of the testcases, the obtain process is the same: with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: functest_yaml = yaml.safe_load(f) f.close() abstract a method to unify the process, and provide the interface JIRA: FUNCTEST-447 Change-Id: I96a9a9962d7b466f10bbd3b5ab2495957524e22a Signed-off-by: SerenaFeng (cherry picked from commit f4d0a05011e961a363c6d99522684ecdeb959716) --- ci/prepare_env.py | 3 +-- cli/commands/cli_os.py | 6 ++---- cli/commands/cli_testcase.py | 5 +---- cli/commands/cli_tier.py | 5 +---- testcases/OpenStack/rally/run_rally-cert.py | 9 +++------ testcases/OpenStack/tempest/run_tempest.py | 4 +--- testcases/OpenStack/vPing/vping_util.py | 7 ++----- testcases/features/copper.py | 8 +++----- testcases/features/doctor.py | 7 ++----- testcases/features/domino.py | 7 ++----- testcases/features/promise.py | 9 +++------ testcases/vnf/vIMS/vIMS.py | 17 ++++++----------- testcases/vnf/vRNC/parser.py | 7 ++----- utils/functest_utils.py | 15 +++++++++------ 14 files changed, 38 insertions(+), 71 deletions(-) diff --git a/ci/prepare_env.py b/ci/prepare_env.py index 116b1a6e2..b8c536f1a 100755 --- a/ci/prepare_env.py +++ b/ci/prepare_env.py @@ -50,8 +50,7 @@ CONFIG_FUNCTEST_PATH = os.environ["CONFIG_FUNCTEST_YAML"] CONFIG_PATCH_PATH = os.path.join(os.path.dirname( CONFIG_FUNCTEST_PATH), "config_patch.yaml") -with open(CONFIG_FUNCTEST_PATH) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = ft_utils.get_functest_yaml() with open(CONFIG_PATCH_PATH) as f: functest_patch_yaml = yaml.safe_load(f) diff --git a/cli/commands/cli_os.py b/cli/commands/cli_os.py index 722c700cd..a3b7ad31e 100644 --- a/cli/commands/cli_os.py +++ b/cli/commands/cli_os.py @@ -9,15 +9,13 @@ import os + 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 -import yaml - -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = ft_utils.get_functest_yaml() REPOS_DIR = os.getenv('repos_dir') FUNCTEST_REPO = ("%s/functest/" % REPOS_DIR) diff --git a/cli/commands/cli_testcase.py b/cli/commands/cli_testcase.py index d1b248297..498f08132 100644 --- a/cli/commands/cli_testcase.py +++ b/cli/commands/cli_testcase.py @@ -15,11 +15,8 @@ import click import functest.ci.tier_builder as tb import functest.utils.functest_utils as ft_utils import functest.utils.functest_vacation as vacation -import yaml - -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = ft_utils.get_functest_yaml() FUNCTEST_CONF_DIR = functest_yaml.get("general").get( "directories").get("dir_functest_conf") diff --git a/cli/commands/cli_tier.py b/cli/commands/cli_tier.py index 7797e9be6..ea86a79ff 100644 --- a/cli/commands/cli_tier.py +++ b/cli/commands/cli_tier.py @@ -14,11 +14,8 @@ import os import click import functest.ci.tier_builder as tb import functest.utils.functest_utils as ft_utils -import yaml - -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = ft_utils.get_functest_yaml() FUNCTEST_CONF_DIR = functest_yaml.get("general").get( "directories").get("dir_functest_conf") diff --git a/testcases/OpenStack/rally/run_rally-cert.py b/testcases/OpenStack/rally/run_rally-cert.py index f3eb79d26..43096c19e 100755 --- a/testcases/OpenStack/rally/run_rally-cert.py +++ b/testcases/OpenStack/rally/run_rally-cert.py @@ -15,18 +15,17 @@ # """ tests configuration """ -import argparse import json import os import re import subprocess import time + +import argparse 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 -import yaml - tests = ['authenticate', 'glance', 'cinder', 'heat', 'keystone', 'neutron', 'nova', 'quotas', 'requests', 'vm', 'all'] @@ -76,9 +75,7 @@ if not os.path.exists(REPO_PATH): exit(-1) -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) -f.close() +functest_yaml = functest_utils.get_functest_yaml() HOME = os.environ['HOME'] + "/" RALLY_DIR = REPO_PATH + functest_yaml.get("general").get( diff --git a/testcases/OpenStack/tempest/run_tempest.py b/testcases/OpenStack/tempest/run_tempest.py index 306664feb..fbb65dbb7 100755 --- a/testcases/OpenStack/tempest/run_tempest.py +++ b/testcases/OpenStack/tempest/run_tempest.py @@ -60,9 +60,7 @@ logger = ft_logger.Logger("run_tempest").getLogger() REPO_PATH = os.environ['repos_dir'] + '/functest/' -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) -f.close() +functest_yaml = ft_utils.get_functest_yaml() TEST_DB = functest_yaml.get("results").get("test_db_url") MODE = "smoke" diff --git a/testcases/OpenStack/vPing/vping_util.py b/testcases/OpenStack/vPing/vping_util.py index 3f4adae73..8e9ce23ec 100644 --- a/testcases/OpenStack/vPing/vping_util.py +++ b/testcases/OpenStack/vPing/vping_util.py @@ -1,6 +1,6 @@ import os -import re import pprint +import re import sys import time @@ -8,13 +8,10 @@ import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils import paramiko from scp import SCPClient -import yaml REPO_PATH = os.environ['repos_dir'] + '/functest/' -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) -f.close() +functest_yaml = ft_utils.get_functest_yaml() NAME_VM_1 = functest_yaml.get("vping").get("vm_name_1") NAME_VM_2 = functest_yaml.get("vping").get("vm_name_2") diff --git a/testcases/features/copper.py b/testcases/features/copper.py index c79754a1b..73def7db2 100755 --- a/testcases/features/copper.py +++ b/testcases/features/copper.py @@ -14,13 +14,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import argparse -import os import sys import time + +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils -import yaml parser = argparse.ArgumentParser() parser.add_argument("-r", "--report", @@ -28,8 +27,7 @@ parser.add_argument("-r", "--report", action="store_true") args = parser.parse_args() -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = functest_utils.get_functest_yaml() dirs = functest_yaml.get('general').get('directories') COPPER_REPO = dirs.get('dir_repo_copper') diff --git a/testcases/features/doctor.py b/testcases/features/doctor.py index 02edd25ca..6e6f26f37 100755 --- a/testcases/features/doctor.py +++ b/testcases/features/doctor.py @@ -13,11 +13,9 @@ # 0.2: measure test duration and publish results under json format # # -import argparse -import os import time -import yaml +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils @@ -27,8 +25,7 @@ parser.add_argument("-r", "--report", action="store_true") args = parser.parse_args() -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = functest_utils.get_functest_yaml() dirs = functest_yaml.get('general').get('directories') DOCTOR_REPO = dirs.get('dir_repo_doctor') diff --git a/testcases/features/domino.py b/testcases/features/domino.py index 291a3b49b..cc98f546d 100755 --- a/testcases/features/domino.py +++ b/testcases/features/domino.py @@ -14,11 +14,9 @@ # 0.3: add report flag to push results when needed # -import argparse -import os import time -import yaml +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils @@ -29,8 +27,7 @@ parser.add_argument("-r", "--report", action="store_true") args = parser.parse_args() -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = functest_utils.get_functest_yaml() dirs = functest_yaml.get('general').get('directories') DOMINO_REPO = dirs.get('dir_repo_domino') diff --git a/testcases/features/promise.py b/testcases/features/promise.py index 3728adfe5..3f58dcee8 100755 --- a/testcases/features/promise.py +++ b/testcases/features/promise.py @@ -9,20 +9,18 @@ # # Maintainer : jose.lausuch@ericsson.com # -import argparse import json import os import subprocess import time +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 import keystoneclient.v2_0.client as ksclient -from neutronclient.v2_0 import client as ntclient import novaclient.client as nvclient -import yaml - +from neutronclient.v2_0 import client as ntclient parser = argparse.ArgumentParser() @@ -32,8 +30,7 @@ parser.add_argument("-r", "--report", action="store_true") args = parser.parse_args() -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = functest_utils.get_functest_yaml() dirs = functest_yaml.get('general').get('directories') PROMISE_REPO = dirs.get('dir_repo_promise') diff --git a/testcases/vnf/vIMS/vIMS.py b/testcases/vnf/vIMS/vIMS.py index 66911c1d8..7a96c94e1 100755 --- a/testcases/vnf/vIMS/vIMS.py +++ b/testcases/vnf/vIMS/vIMS.py @@ -11,28 +11,25 @@ # http://www.apache.org/licenses/LICENSE-2.0 ######################################################################## -import argparse import datetime import json import os import pprint -import requests import subprocess import time -import yaml +import argparse +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 keystoneclient.v2_0.client as ksclient import novaclient.client as nvclient +import requests from neutronclient.v2_0 import client as ntclient from clearwater import clearwater from orchestrator import orchestrator -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as functest_utils -import functest.utils.openstack_utils as os_utils - - pp = pprint.PrettyPrinter(indent=4) @@ -54,9 +51,7 @@ if not os.path.exists(REPO_PATH): logger.error("Functest repository directory not found '%s'" % REPO_PATH) exit(-1) -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) -f.close() +functest_yaml = functest_utils.get_functest_yaml() # Cloudify parameters VIMS_DIR = (REPO_PATH + diff --git a/testcases/vnf/vRNC/parser.py b/testcases/vnf/vRNC/parser.py index 00593b0b0..d22ca8ea4 100755 --- a/testcases/vnf/vRNC/parser.py +++ b/testcases/vnf/vRNC/parser.py @@ -14,11 +14,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import os import time -import yaml -import argparse +import argparse import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as functest_utils @@ -28,8 +26,7 @@ parser.add_argument("-r", "--report", action="store_true") args = parser.parse_args() -with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) +functest_yaml = functest_utils.get_functest_yaml() dirs = functest_yaml.get('general').get('directories') PARSER_REPO = dirs.get('dir_repo_parser') diff --git a/utils/functest_utils.py b/utils/functest_utils.py index b8bd403a1..ff8234104 100644 --- a/utils/functest_utils.py +++ b/utils/functest_utils.py @@ -152,9 +152,7 @@ def get_db_url(logger=None): """ Returns DB URL """ - with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) - f.close() + functest_yaml = get_functest_yaml() db_url = functest_yaml.get("results").get("test_db_url") return db_url @@ -329,9 +327,7 @@ def get_deployment_dir(logger=None): """ Returns current Rally deployment directory """ - with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: - functest_yaml = yaml.safe_load(f) - f.close() + functest_yaml = get_functest_yaml() deployment_name = functest_yaml.get("rally").get("deployment_name") rally_dir = functest_yaml.get("general").get("directories").get( "dir_rally_inst") @@ -437,3 +433,10 @@ def check_test_result(test_name, ret, start_time, stop_time): def get_testcases_file(): return FUNCTEST_REPO + "/ci/testcases.yaml" + + +def get_functest_yaml(): + with open(os.environ["CONFIG_FUNCTEST_YAML"]) as f: + functest_yaml = yaml.safe_load(f) + f.close() + return functest_yaml -- cgit 1.2.3-korg