Fix tempest multisite config 87/28687/1
authorJuha Kosonen <juha.kosonen@nokia.com>
Wed, 15 Feb 2017 08:32:44 +0000 (10:32 +0200)
committerJuha Kosonen <juha.kosonen@nokia.com>
Wed, 15 Feb 2017 08:32:44 +0000 (10:32 +0200)
Add multisite parameters into tempest config file after the file have
been (re)configured by rally verifier.

JIRA: FUNCTEST-721

Change-Id: I95fd7e29b5a7d1d9f82e84e383eb23e8fa813d19
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
functest/opnfv_tests/openstack/tempest/conf_utils.py
functest/opnfv_tests/openstack/tempest/tempest.py

index 028b085..893fff8 100644 (file)
@@ -106,7 +106,19 @@ def get_verifier_deployment_dir(verifier_id, deployment_id):
                         'for-deployment-{}'.format(deployment_id))
 
 
-def configure_tempest(deployment_dir, IMAGE_ID=None, FLAVOR_ID=None):
+def backup_tempest_config(conf_file):
+    """
+    Copy config file to tempest results directory
+    """
+    if not os.path.exists(TEMPEST_RESULTS_DIR):
+        os.makedirs(TEMPEST_RESULTS_DIR)
+
+    shutil.copyfile(conf_file,
+                    os.path.join(TEMPEST_RESULTS_DIR, 'tempest.conf'))
+
+
+def configure_tempest(deployment_dir, IMAGE_ID=None, FLAVOR_ID=None,
+                      MODE=None):
     """
     Calls rally verify and updates the generated tempest.conf with
     given parameters
@@ -114,6 +126,8 @@ def configure_tempest(deployment_dir, IMAGE_ID=None, FLAVOR_ID=None):
     conf_file = configure_verifier(deployment_dir)
     configure_tempest_update_params(conf_file,
                                     IMAGE_ID, FLAVOR_ID)
+    if MODE == 'feature_multisite':
+        configure_tempest_multisite_params(conf_file)
 
 
 def configure_tempest_update_params(tempest_conf_file,
@@ -164,12 +178,7 @@ def configure_tempest_update_params(tempest_conf_file,
     with open(tempest_conf_file, 'wb') as config_file:
         config.write(config_file)
 
-    # Copy tempest.conf to /home/opnfv/functest/results/tempest/
-    if not os.path.exists(TEMPEST_RESULTS_DIR):
-        os.makedirs(TEMPEST_RESULTS_DIR)
-
-    shutil.copyfile(tempest_conf_file,
-                    os.path.join(TEMPEST_RESULTS_DIR, 'tempest.conf'))
+    backup_tempest_config(tempest_conf_file)
 
 
 def configure_verifier(deployment_dir):
@@ -196,25 +205,11 @@ def configure_verifier(deployment_dir):
         return tempest_conf_file
 
 
-def configure_tempest_multisite(deployment_dir):
+def configure_tempest_multisite_params(tempest_conf_file):
     """
-    Add/update needed parameters into tempest.conf file generated by Rally
+    Add/update multisite parameters into tempest.conf file generated by Rally
     """
-    logger.debug("configure the tempest")
-    configure_tempest(deployment_dir)
-
-    logger.debug("Finding tempest.conf file...")
-    tempest_conf_old = os.path.join(deployment_dir, 'tempest.conf')
-    if not os.path.isfile(tempest_conf_old):
-        raise Exception("Tempest configuration file %s NOT found."
-                        % tempest_conf_old)
-
-    # Copy tempest.conf to /home/opnfv/functest/results/tempest/
-    cur_path = os.path.split(os.path.realpath(__file__))[0]
-    tempest_conf_file = os.path.join(cur_path, 'tempest_multisite.conf')
-    shutil.copyfile(tempest_conf_old, tempest_conf_file)
-
-    logger.debug("Updating selected tempest.conf parameters...")
+    logger.debug("Updating multisite tempest.conf parameters...")
     config = ConfigParser.RawConfigParser()
     config.read(tempest_conf_file)
 
@@ -279,3 +274,5 @@ def configure_tempest_multisite(deployment_dir):
     config.set('kingbird', 'api_version', kingbird_api_version)
     with open(tempest_conf_file, 'wb') as config_file:
         config.write(config_file)
+
+    backup_tempest_config(tempest_conf_file)
index 13d9e4e..f925336 100644 (file)
@@ -113,7 +113,7 @@ class TempestCommon(testcase_base.TestcaseBase):
             if self.MODE == 'smoke':
                 testr_mode = "smoke"
             elif self.MODE == 'feature_multisite':
-                testr_mode = " | grep -i kingbird "
+                testr_mode = "'[Kk]ingbird'"
             elif self.MODE == 'full':
                 testr_mode = ""
             else:
@@ -272,7 +272,8 @@ class TempestCommon(testcase_base.TestcaseBase):
             self.create_tempest_resources()
             conf_utils.configure_tempest(self.DEPLOYMENT_DIR,
                                          self.IMAGE_ID,
-                                         self.FLAVOR_ID)
+                                         self.FLAVOR_ID,
+                                         self.MODE)
             self.generate_test_list(self.VERIFIER_REPO_DIR)
             self.apply_tempest_blacklist()
             self.run_verifier_tests()
@@ -319,7 +320,6 @@ class TempestMultisite(TempestCommon):
         self.case_name = "multisite"
         self.MODE = "feature_multisite"
         self.OPTION = "--concurrency 1"
-        conf_utils.configure_tempest_multisite(self.DEPLOYMENT_DIR)
 
 
 class TempestCustom(TempestCommon):