From 842d0b381755176a63b55d045325ed8c1d662407 Mon Sep 17 00:00:00 2001 From: Linda Wang Date: Thu, 7 Sep 2017 03:28:48 +0000 Subject: Remove redundant tempest cleanup utility All the resources including the project, user, network, images and flavors to enable tempest running, are created by snaps-OO, which will definitely clean up those finally. Change-Id: Iea3e3f275cc6cfd2cee421fcafef90aaf2e6cf3e Signed-off-by: Linda Wang --- .../openstack/refstack_client/refstack_client.py | 42 +-------------- functest/opnfv_tests/openstack/tempest/tempest.py | 41 --------------- functest/utils/functest_utils.py | 8 +-- functest/utils/openstack_utils.py | 59 ---------------------- 4 files changed, 5 insertions(+), 145 deletions(-) diff --git a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py index 17e02466..10ffddf5 100644 --- a/functest/opnfv_tests/openstack/refstack_client/refstack_client.py +++ b/functest/opnfv_tests/openstack/refstack_client/refstack_client.py @@ -28,7 +28,6 @@ from functest.opnfv_tests.openstack.refstack_client.tempest_conf \ from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST import functest.utils.functest_utils as ft_utils -import functest.utils.openstack_utils as os_utils # logging configuration """ LOGGER = logging.getLogger(__name__) @@ -77,7 +76,7 @@ class RefstackClient(testcase.TestCase): """Run default defcore sys command.""" options = ["-v"] if not self.insecure else ["-v", self.insecure] cmd = (["refstack-client", "test", "-c", self.confpath] + - options + ["--test-list", self.defcorelist]) + options + ["--test-list", self.defcorelist]) LOGGER.info("Starting Refstack_defcore test case: '%s'.", cmd) with open(os.path.join(conf_utils.REFSTACK_RESULTS_DIR, @@ -211,45 +210,6 @@ class RefstackClient(testcase.TestCase): return res - def create_snapshot(self): - """ - Run the Tempest cleanup utility to initialize OS state. - For details, see https://docs.openstack.org/tempest/latest/cleanup.html - - :return: TestCase.EX_OK - """ - LOGGER.info("Initializing the saved state of the OpenStack deployment") - - # Make sure that Tempest is configured - if not self.tempestconf: - self.generate_conf() - - try: - os_utils.init_tempest_cleanup( - self.tempestconf.DEPLOYMENT_DIR, 'tempest.conf', - os.path.join(conf_utils.REFSTACK_RESULTS_DIR, - "tempest-cleanup-init.log")) - except Exception as err: - LOGGER.error(str(err)) - return testcase.TestCase.EX_RUN_ERROR - - return super(RefstackClient, self).create_snapshot() - - def clean(self): - """ - Run the Tempest cleanup utility to delete and destroy OS resources. - For details, see https://docs.openstack.org/tempest/latest/cleanup.html - """ - LOGGER.info("Destroying the resources created for tempest") - - os_utils.perform_tempest_cleanup( - self.tempestconf.DEPLOYMENT_DIR, 'tempest.conf', - os.path.join(conf_utils.REFSTACK_RESULTS_DIR, - "tempest-cleanup.log") - ) - - return super(RefstackClient, self).clean() - class RefstackClientParser(object): # pylint: disable=too-few-public-methods """Command line argument parser helper.""" diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index c204d52b..19200142 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -24,7 +24,6 @@ from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils.constants import CONST import functest.utils.functest_utils as ft_utils -import functest.utils.openstack_utils as os_utils from snaps.openstack import create_flavor from snaps.openstack.create_flavor import FlavorSettings, OpenStackFlavor @@ -256,46 +255,6 @@ class TempestCommon(testcase.TestCase): self.stop_time = time.time() return res - def create_snapshot(self): - """ - Run the Tempest cleanup utility to initialize OS state. - - :return: TestCase.EX_OK - """ - logger.info("Initializing the saved state of the OpenStack deployment") - - if not os.path.exists(conf_utils.TEMPEST_RESULTS_DIR): - os.makedirs(conf_utils.TEMPEST_RESULTS_DIR) - - # Make sure that the verifier is configured - conf_utils.configure_verifier(self.DEPLOYMENT_DIR) - - try: - os_utils.init_tempest_cleanup( - self.DEPLOYMENT_DIR, 'tempest.conf', - os.path.join(conf_utils.TEMPEST_RESULTS_DIR, - "tempest-cleanup-init.log")) - except Exception as err: - logger.error(str(err)) - return testcase.TestCase.EX_RUN_ERROR - - return super(TempestCommon, self).create_snapshot() - - def clean(self): - """ - Run the Tempest cleanup utility to delete and destroy OS resources - created by Tempest. - """ - logger.info("Destroying the resources created for refstack") - - os_utils.perform_tempest_cleanup( - self.DEPLOYMENT_DIR, 'tempest.conf', - os.path.join(conf_utils.TEMPEST_RESULTS_DIR, - "tempest-cleanup.log") - ) - - return super(TempestCommon, self).clean() - class TempestSmokeSerial(TempestCommon): diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index e4062373..f07f59d7 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -227,14 +227,14 @@ def get_ci_envvars(): def execute_command_raise(cmd, info=False, error_msg="", - verbose=True, output_file=None, env=None): - ret = execute_command(cmd, info, error_msg, verbose, output_file, env) + verbose=True, output_file=None): + ret = execute_command(cmd, info, error_msg, verbose, output_file) if ret != 0: raise Exception(error_msg) def execute_command(cmd, info=False, error_msg="", - verbose=True, output_file=None, env=None): + verbose=True, output_file=None): if not error_msg: error_msg = ("The command '%s' failed." % cmd) msg_exec = ("Executing command: '%s'" % cmd) @@ -243,7 +243,7 @@ def execute_command(cmd, info=False, error_msg="", logger.info(msg_exec) else: logger.debug(msg_exec) - p = subprocess.Popen(cmd, env=env, shell=True, stdout=subprocess.PIPE, + p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) if output_file: f = open(output_file, "w") diff --git a/functest/utils/openstack_utils.py b/functest/utils/openstack_utils.py index def0539b..f211627a 100644 --- a/functest/utils/openstack_utils.py +++ b/functest/utils/openstack_utils.py @@ -1571,62 +1571,3 @@ def get_resource(heat_client, stack_id, resource): except Exception as e: logger.error("Error [get_resource]: %s" % e) return None - - -# ********************************************* -# TEMPEST -# ********************************************* -def init_tempest_cleanup(tempest_config_dir=None, - tempest_config_filename='tempest.conf', - output_file=None): - """ - Initialize the Tempest Cleanup utility. - See https://docs.openstack.org/tempest/latest/cleanup.html for docs. - - :param tempest_config_dir: The directory where the Tempest config file is - located. If not specified, we let Tempest pick both the directory - and the filename (i.e. second parameter is ignored) - :param tempest_config_filename: The filename of the Tempest config file - :param output_file: Optional file where to save output - """ - # The Tempest cleanup utility currently offers no cmd argument to specify - # the config file, therefore it has to be configured with env variables - env = None - if tempest_config_dir: - env = os.environ.copy() - env['TEMPEST_CONFIG_DIR'] = tempest_config_dir - env['TEMPEST_CONFIG'] = tempest_config_filename - - # If this command fails, an exception must be raised to stop the script - # otherwise the later cleanup would destroy also other resources - cmd_line = "tempest cleanup --init-saved-state" - ft_utils.execute_command_raise(cmd_line, env=env, output_file=output_file, - error_msg="Tempest cleanup init failed") - - -def perform_tempest_cleanup(tempest_config_dir=None, - tempest_config_filename='tempest.conf', - output_file=None): - """ - Perform cleanup using the Tempest Cleanup utility. - See https://docs.openstack.org/tempest/latest/cleanup.html for docs. - - :param tempest_config_dir: The directory where the Tempest config file is - located. If not specified, we let Tempest pick both the directory - and the filename (i.e. second parameter is ignored) - :param tempest_config_filename: The filename of the Tempest config file - :param output_file: Optional file where to save output - """ - # The Tempest cleanup utility currently offers no cmd argument to specify - # the config file, therefore it has to be configured with env variables - env = None - if tempest_config_dir: - env = os.environ.copy() - env['TEMPEST_CONFIG_DIR'] = tempest_config_dir - env['TEMPEST_CONFIG'] = tempest_config_filename - - # If this command fails, an exception must be raised to stop the script - # otherwise the later cleanup would destroy also other resources - cmd_line = "tempest cleanup" - ft_utils.execute_command(cmd_line, env=env, output_file=output_file, - error_msg="Tempest cleanup failed") -- cgit 1.2.3-korg