From 92e7d8cee4addb8ea66516a2d5fd295500dcb132 Mon Sep 17 00:00:00 2001 From: "jose.lausuch" Date: Mon, 30 Jan 2017 18:04:44 +0100 Subject: Extract util functions from tempest.py to conf_utils These functions are useful for other test cases trying to run tempest. For example BGPVPN tests cases located in SDNVPN repo. Change-Id: I67e671f4e9b0a2d81a3ab0d1957ce144fb1a0432 Signed-off-by: jose.lausuch --- .../opnfv_tests/openstack/tempest/conf_utils.py | 74 +++++++++++++++++++++- 1 file changed, 71 insertions(+), 3 deletions(-) (limited to 'functest/opnfv_tests/openstack/tempest/conf_utils.py') diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index 67b527968..ff450b1a8 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -11,10 +11,12 @@ import ConfigParser import os import re import shutil +import subprocess import opnfv.utils.constants as releng_constants from functest.utils.constants import CONST +import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import functest.utils.openstack_utils as os_utils @@ -39,8 +41,74 @@ TEMPEST_LIST = os.path.join(TEMPEST_RESULTS_DIR, 'test_list.txt') CI_INSTALLER_TYPE = CONST.INSTALLER_TYPE CI_INSTALLER_IP = CONST.INSTALLER_IP +""" logging configuration """ +logger = ft_logger.Logger("Tempest").getLogger() -def configure_tempest(logger, deployment_dir, IMAGE_ID=None, FLAVOR_ID=None): + +def get_verifier_id(): + """ + Returns verifer id for current Tempest + """ + cmd = ("rally verify list-verifiers | awk '/" + + CONST.tempest_deployment_name + + "/ {print $2}'") + p = subprocess.Popen(cmd, shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + deployment_uuid = p.stdout.readline().rstrip() + if deployment_uuid == "": + logger.error("Tempest verifier not found.") + raise Exception('Error with command:%s' % cmd) + return deployment_uuid + + +def get_verifier_deployment_id(): + """ + Returns deployment id for active Rally deployment + """ + cmd = ("rally deployment list | awk '/" + + CONST.rally_deployment_name + + "/ {print $2}'") + p = subprocess.Popen(cmd, shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + deployment_uuid = p.stdout.readline().rstrip() + if deployment_uuid == "": + logger.error("Rally deployment not found.") + raise Exception('Error with command:%s' % cmd) + return deployment_uuid + + +def get_verifier_repo_dir(verifier_id): + """ + Returns installed verfier repo directory for Tempest + """ + if not verifier_id: + verifier_id = get_verifier_id() + + return os.path.join(CONST.dir_rally_inst, + 'verification', + 'verifier-{}'.format(verifier_id), + 'repo') + + +def get_verifier_deployment_dir(verifier_id, deployment_id): + """ + Returns Rally deployment directory for current verifier + """ + if not verifier_id: + verifier_id = get_verifier_id() + + if not deployment_id: + deployment_id = get_verifier_deployment_id() + + return os.path.join(CONST.dir_rally_inst, + 'verification', + 'verifier-{}'.format(verifier_id), + 'for-deployment-{}'.format(deployment_id)) + + +def configure_tempest(deployment_dir, IMAGE_ID=None, FLAVOR_ID=None): """ Add/update needed parameters into tempest.conf file generated by Rally """ @@ -108,12 +176,12 @@ def configure_tempest(logger, deployment_dir, IMAGE_ID=None, FLAVOR_ID=None): return releng_constants.EXIT_OK -def configure_tempest_multisite(logger, deployment_dir): +def configure_tempest_multisite(deployment_dir): """ Add/update needed parameters into tempest.conf file generated by Rally """ logger.debug("configure the tempest") - configure_tempest(logger, deployment_dir) + configure_tempest(deployment_dir) logger.debug("Finding tempest.conf file...") tempest_conf_old = os.path.join(deployment_dir, 'tempest.conf') -- cgit 1.2.3-korg