From bc4c0c3cc4beea6b86a5f06663323c654385a04e Mon Sep 17 00:00:00 2001 From: Juha Kosonen Date: Wed, 15 Feb 2017 10:32:44 +0200 Subject: Fix tempest multisite config 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 --- .../opnfv_tests/openstack/tempest/conf_utils.py | 45 ++++++++++------------ functest/opnfv_tests/openstack/tempest/tempest.py | 6 +-- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index 028b085c..893fff8c 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -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) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index 13d9e4e6..f925336d 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -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): -- cgit 1.2.3-korg