From 78c0b09a2cf3a57ae5d4f8cfe67ab66ad9d8aef2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?C=C3=A9dric=20Ollivier?= Date: Sat, 17 Mar 2018 21:44:44 +0100 Subject: [PATCH] Mute all rally messages MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The are now printed in functest.log only. JIRA: FUNCTEST-950 Change-Id: I1fdd0e0f1be19fc5e7536326acb6a66645610696 Signed-off-by: Cédric Ollivier --- .../opnfv_tests/openstack/tempest/conf_utils.py | 64 +++++++++++----------- functest/opnfv_tests/openstack/tempest/tempest.py | 11 ++-- .../unit/openstack/tempest/test_conf_utils.py | 54 +++++++----------- .../tests/unit/openstack/tempest/test_tempest.py | 10 ++-- 4 files changed, 59 insertions(+), 80 deletions(-) diff --git a/functest/opnfv_tests/openstack/tempest/conf_utils.py b/functest/opnfv_tests/openstack/tempest/conf_utils.py index 0ff68f292..e0a36e5a4 100644 --- a/functest/opnfv_tests/openstack/tempest/conf_utils.py +++ b/functest/opnfv_tests/openstack/tempest/conf_utils.py @@ -22,7 +22,6 @@ import yaml from functest.utils import config from functest.utils import env -import functest.utils.functest_utils as ft_utils IMAGE_ID_ALT = None @@ -64,35 +63,40 @@ def create_rally_deployment(): LOGGER.info("Creating Rally environment...") - cmd = "rally deployment destroy opnfv-rally" - ft_utils.execute_command(cmd, error_msg=( - "Deployment %s does not exist." - % getattr(config.CONF, 'rally_deployment_name')), verbose=False) + try: + cmd = ['rally', 'deployment', 'destroy', + '--deployment', + str(getattr(config.CONF, 'rally_deployment_name'))] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) + except subprocess.CalledProcessError: + pass - cmd = ("rally deployment create --fromenv --name={0}" - .format(getattr(config.CONF, 'rally_deployment_name'))) - error_msg = "Problem while creating Rally deployment" - ft_utils.execute_command_raise(cmd, error_msg=error_msg) + cmd = ['rally', 'deployment', 'create', '--fromenv', + '--name', str(getattr(config.CONF, 'rally_deployment_name'))] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) - cmd = "rally deployment check" - error_msg = "OpenStack not responding or faulty Rally deployment." - ft_utils.execute_command_raise(cmd, error_msg=error_msg) + cmd = ['rally', 'deployment', 'check'] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) def create_verifier(): """Create new verifier""" LOGGER.info("Create verifier from existing repo...") - cmd = ("rally verify delete-verifier --id '{0}' --force").format( - getattr(config.CONF, 'tempest_verifier_name')) - ft_utils.execute_command(cmd, error_msg=( - "Verifier %s does not exist." - % getattr(config.CONF, 'tempest_verifier_name')), verbose=False) - cmd = ("rally verify create-verifier --source {0} " - "--name {1} --type tempest --system-wide" - .format(getattr(config.CONF, 'dir_repo_tempest'), - getattr(config.CONF, 'tempest_verifier_name'))) - ft_utils.execute_command_raise(cmd, - error_msg='Problem while creating verifier') + cmd = ['rally', 'verify', 'delete-verifier', + '--id', str(getattr(config.CONF, 'tempest_verifier_name')), + '--force'] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) + + cmd = ['rally', 'verify', 'create-verifier', + '--source', str(getattr(config.CONF, 'dir_repo_tempest')), + '--name', str(getattr(config.CONF, 'tempest_verifier_name')), + '--type', 'tempest', '--system-wide'] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) def get_verifier_id(): @@ -253,17 +257,13 @@ def configure_verifier(deployment_dir): """ Execute rally verify configure-verifier, which generates tempest.conf """ - tempest_conf_file = os.path.join(deployment_dir, "tempest.conf") - if os.path.isfile(tempest_conf_file): - LOGGER.debug("Verifier is already configured.") - LOGGER.debug("Reconfiguring the current verifier...") - cmd = "rally verify configure-verifier --reconfigure" - else: - LOGGER.info("Configuring the verifier...") - cmd = "rally verify configure-verifier" - ft_utils.execute_command(cmd) + cmd = ['rally', 'verify', 'configure-verifier', '--reconfigure', + '--id', str(getattr(config.CONF, 'tempest_verifier_name'))] + output = subprocess.check_output(cmd) + LOGGER.info("%s\n%s", " ".join(cmd), output) LOGGER.debug("Looking for tempest.conf file...") + tempest_conf_file = os.path.join(deployment_dir, "tempest.conf") if not os.path.isfile(tempest_conf_file): LOGGER.error("Tempest configuration file %s NOT found.", tempest_conf_file) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index c11262e02..cab09a641 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -34,7 +34,6 @@ from functest.opnfv_tests.openstack.snaps import snaps_utils from functest.opnfv_tests.openstack.tempest import conf_utils from functest.utils import config from functest.utils import env -from functest.utils import functest_utils LOGGER = logging.getLogger(__name__) @@ -115,12 +114,10 @@ class TempestCommon(testcase.TestCase): testr_mode = r"'^tempest\.'" else: testr_mode = self.mode - cmd = ("cd {0};" - "testr list-tests {1} > {2};" - "cd -;".format(self.verifier_repo_dir, - testr_mode, - self.list)) - functest_utils.execute_command(cmd) + cmd = "(cd {0}; testr list-tests {1} >{2} 2>/dev/null)".format( + self.verifier_repo_dir, testr_mode, self.list) + output = subprocess.check_output(cmd, shell=True) + LOGGER.info("%s\n%s", cmd, output) def apply_tempest_blacklist(self): """Exclude blacklisted test cases.""" diff --git a/functest/tests/unit/openstack/tempest/test_conf_utils.py b/functest/tests/unit/openstack/tempest/test_conf_utils.py index ee22f7fc3..161d9c076 100644 --- a/functest/tests/unit/openstack/tempest/test_conf_utils.py +++ b/functest/tests/unit/openstack/tempest/test_conf_utils.py @@ -13,7 +13,8 @@ import unittest import mock -from functest.opnfv_tests.openstack.tempest import tempest, conf_utils +from functest.opnfv_tests.openstack.tempest import conf_utils +from functest.opnfv_tests.openstack.tempest import tempest from functest.utils import config from snaps.openstack.os_credentials import OSCreds @@ -81,31 +82,16 @@ class OSTempestConfUtilsTesting(unittest.TestCase): msg = 'Failed to create flavor' self.assertTrue(msg in context.exception, msg=str(context.exception)) - @staticmethod - @mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils' - '.LOGGER.info') - @mock.patch('functest.utils.functest_utils.execute_command_raise') - @mock.patch('functest.utils.functest_utils.execute_command') - def test_create_rally_deployment(mock_exec, mock_exec_raise, - mock_logger_info): - - conf_utils.create_rally_deployment() - - cmd = "rally deployment destroy opnfv-rally" - error_msg = "Deployment %s does not exist." % \ - getattr(config.CONF, 'rally_deployment_name') - mock_logger_info.assert_any_call("Creating Rally environment...") - mock_exec.assert_any_call(cmd, error_msg=error_msg, verbose=False) - - cmd = "rally deployment create --fromenv --name=" - cmd += getattr(config.CONF, 'rally_deployment_name') - error_msg = "Problem while creating Rally deployment" - mock_exec_raise.assert_any_call(cmd, error_msg=error_msg) - - cmd = "rally deployment check" - error_msg = ("OpenStack not responding or " - "faulty Rally deployment.") - mock_exec_raise.assert_any_call(cmd, error_msg=error_msg) + @mock.patch('subprocess.check_output') + def test_create_rally_deployment(self, mock_exec): + self.assertEqual(conf_utils.create_rally_deployment(), None) + calls = [ + mock.call(['rally', 'deployment', 'destroy', '--deployment', + str(getattr(config.CONF, 'rally_deployment_name'))]), + mock.call(['rally', 'deployment', 'create', '--fromenv', '--name', + str(getattr(config.CONF, 'rally_deployment_name'))]), + mock.call(['rally', 'deployment', 'check'])] + mock_exec.assert_has_calls(calls) @mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils' '.LOGGER.debug') @@ -116,8 +102,7 @@ class OSTempestConfUtilsTesting(unittest.TestCase): mock_popen.configure_mock(**attrs) setattr(config.CONF, 'tempest_verifier_name', 'test_verifier_name') - with mock.patch('functest.utils.functest_utils.execute_command_raise', - side_effect=Exception), \ + with mock.patch('subprocess.Popen', side_effect=Exception), \ self.assertRaises(Exception): conf_utils.create_verifier() mock_logger_debug.assert_any_call("Tempest test_verifier_name" @@ -272,11 +257,10 @@ class OSTempestConfUtilsTesting(unittest.TestCase): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.os.path.isfile', return_value=False), \ - mock.patch('functest.opnfv_tests.openstack.tempest.' - 'conf_utils.ft_utils.execute_command') as mexe, \ + mock.patch('subprocess.check_output') as mexe, \ self.assertRaises(Exception) as context: conf_utils.configure_verifier('test_dep_dir') - mexe.assert_any_call("rally verify configure-verifier") + mexe.assert_called_once_with("rally verify configure-verifier") msg = ("Tempest configuration file 'test_dep_dir/tempest.conf'" " NOT found.") self.assertTrue(msg in context.exception) @@ -285,12 +269,12 @@ class OSTempestConfUtilsTesting(unittest.TestCase): with mock.patch('functest.opnfv_tests.openstack.tempest.' 'conf_utils.os.path.isfile', return_value=True), \ - mock.patch('functest.opnfv_tests.openstack.tempest.' - 'conf_utils.ft_utils.execute_command') as mexe: + mock.patch('subprocess.check_output') as mexe: self.assertEqual(conf_utils.configure_verifier('test_dep_dir'), 'test_dep_dir/tempest.conf') - mexe.assert_any_call("rally verify configure-verifier " - "--reconfigure") + mexe.assert_called_once_with( + ['rally', 'verify', 'configure-verifier', '--reconfigure', + '--id', str(getattr(config.CONF, 'tempest_verifier_name'))]) if __name__ == "__main__": diff --git a/functest/tests/unit/openstack/tempest/test_tempest.py b/functest/tests/unit/openstack/tempest/test_tempest.py index 3a4851314..e2c4c975b 100644 --- a/functest/tests/unit/openstack/tempest/test_tempest.py +++ b/functest/tests/unit/openstack/tempest/test_tempest.py @@ -72,7 +72,7 @@ class OSTempestTesting(unittest.TestCase): self.tempestcommon.generate_test_list() self.assertTrue(mock_copyfile.called) - @mock.patch('functest.utils.functest_utils.execute_command') + @mock.patch('subprocess.check_output') def _test_gen_tl_mode_default(self, mode, mock_exec=None): self.tempestcommon.mode = mode if self.tempestcommon.mode == 'smoke': @@ -82,12 +82,10 @@ class OSTempestTesting(unittest.TestCase): else: testr_mode = self.tempestcommon.mode verifier_repo_dir = 'test_verifier_repo_dir' - cmd = ("cd {0};" - "testr list-tests {1} > {2};" - "cd -;".format(verifier_repo_dir, testr_mode, - self.tempestcommon.list)) + cmd = "(cd {0}; testr list-tests {1} >{2} 2>/dev/null)".format( + verifier_repo_dir, testr_mode, self.tempestcommon.list) self.tempestcommon.generate_test_list() - mock_exec.assert_called_once_with(cmd) + mock_exec.assert_called_once_with(cmd, shell=True) def test_gen_tl_smoke_mode(self): self._test_gen_tl_mode_default('smoke') -- 2.16.6