aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorViktor Tikkanen <viktor.tikkanen@nokia.com>2015-10-02 08:55:59 +0300
committerViktor Tikkanen <viktor.tikkanen@nokia.com>2015-10-05 08:36:15 +0300
commit8189727b8c146583e1af5dceabae4d3a530dced9 (patch)
treef97a1fd90d9dbc2077860806adaed40b0a92fe34
parent96bf9abe9b1b26a79dcc86900e8eb33d8544e773 (diff)
Added configure_tempest() function
Currently there is a need to add and/or update some parameters into Tempest configuration file (tempest.conf) generated by Rally. This version of the function updates fixed_network_name parameter. JIRA: FUNCTEST-70 Change-Id: I182b687b02a4f124b6289e3cdae6f5817914d2ca Signed-off-by: Viktor Tikkanen <viktor.tikkanen@nokia.com>
-rwxr-xr-x[-rw-r--r--]testcases/config_functest.py49
1 files changed, 46 insertions, 3 deletions
diff --git a/testcases/config_functest.py b/testcases/config_functest.py
index 7fbd06042..e209a3b94 100644..100755
--- a/testcases/config_functest.py
+++ b/testcases/config_functest.py
@@ -13,6 +13,7 @@ import functest_utils
from git import Repo
from os import stat
from pwd import getpwuid
+from neutronclient.v2_0 import client as neutronclient
actions = ['start', 'check', 'clean']
parser = argparse.ArgumentParser()
@@ -59,6 +60,8 @@ RALLY_RESULT_DIR = HOME + functest_yaml.get("general").get("directories").get("d
VPING_DIR = REPO_PATH + functest_yaml.get("general").get("directories").get("dir_vping")
ODL_DIR = REPO_PATH + functest_yaml.get("general").get("directories").get("dir_odl")
+# Tempest/Rally configuration details
+DEPLOYMENT_MAME = "opnfv-rally"
#GLANCE image parameters
IMAGE_URL = functest_yaml.get("general").get("openstack").get("image_url")
@@ -91,7 +94,7 @@ def action_start():
action_clean()
logger.info("Installing needed libraries on the host")
- cmd = "sudo yum -y install gcc libffi-devel python-devel openssl-devel gmp-devel libxml2-devel libxslt-devel postgresql-devel git wget"
+ cmd = "sudo yum -y install gcc libffi-devel python-devel openssl-devel gmp-devel libxml2-devel libxslt-devel postgresql-devel git wget crudini"
if not functest_utils.execute_command(cmd, logger):
logger.error("There has been a problem while installing software packages.")
exit(-1)
@@ -109,6 +112,12 @@ def action_start():
action_clean()
exit(-1)
+ logger.info("Configuring Tempest...")
+ if not configure_tempest():
+ logger.error("There has been a problem while configuring Tempest.")
+ action_clean()
+ exit(-1)
+
# Create result folder under functest if necessary
if not os.path.exists(RALLY_RESULT_DIR):
os.makedirs(RALLY_RESULT_DIR)
@@ -259,7 +268,7 @@ def install_rally():
functest_utils.execute_command(cmd,logger)
logger.debug("Creating Rally environment...")
- cmd = "rally deployment create --fromenv --name=opnfv-arno-rally"
+ cmd = "rally deployment create --fromenv --name="+DEPLOYMENT_MAME
functest_utils.execute_command(cmd,logger)
logger.debug("Installing tempest...")
@@ -279,6 +288,40 @@ def install_rally():
return True
+def configure_tempest():
+ """
+ Add/update needed parameters into tempest.conf file generated by Rally
+ """
+
+ creds_neutron = functest_utils.get_credentials("neutron")
+ neutron_client = neutronclient.Client(**creds_neutron)
+
+ logger.debug("Generating tempest.conf file...")
+ cmd = "rally verify genconfig"
+ functest_utils.execute_command(cmd,logger)
+
+ logger.debug("Resolving deployment UUID...")
+ cmd = "rally deployment list | awk '/"+DEPLOYMENT_MAME+"/ {print $2}'"
+ p = subprocess.Popen(cmd, shell=True,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT);
+ deployment_uuid = p.stdout.readline().rstrip()
+ if deployment_uuid == "":
+ logger.debug(" Rally deployment NOT found")
+ return False
+
+ logger.debug("Finding tempest.conf file...")
+ tempest_conf_file = RALLY_INSTALLATION_DIR+"tempest/for-deployment-" \
+ +deployment_uuid+"/tempest.conf"
+
+ logger.debug(" Updating fixed_network_name...")
+ fixed_network = functest_utils.get_network_list(neutron_client)[0]['name']
+ if fixed_network != None:
+ cmd = "crudini --set "+tempest_conf_file+" compute fixed_network_name "+fixed_network
+ functest_utils.execute_command(cmd,logger)
+
+ return True
+
def check_rally():
"""
@@ -287,7 +330,7 @@ def check_rally():
if os.path.exists(RALLY_INSTALLATION_DIR):
logger.debug(" Rally installation directory found in %s" % RALLY_INSTALLATION_DIR)
FNULL = open(os.devnull, 'w');
- cmd="rally deployment list | grep opnfv";
+ cmd="rally deployment list | grep "+DEPLOYMENT_MAME
logger.debug(' Executing command : {}'.format(cmd))
p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=FNULL);
#if the command does not exist or there is no deployment