From bc88eff8f5850f8207431bb8d1958fe6b9cd09e8 Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sun, 2 Jun 2019 14:43:10 +0200 Subject: Publish rally logs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both Rally and Tempest publish Rally debug logs. It also moves the logics from tempest to rally. Change-Id: I5c057d830202baddd73577ade1b09ce304e3c5a5 Signed-off-by: Cédric Ollivier --- functest/opnfv_tests/openstack/rally/rally.py | 32 +++++++++++++++++++++++ functest/opnfv_tests/openstack/tempest/tempest.py | 24 ++--------------- 2 files changed, 34 insertions(+), 22 deletions(-) (limited to 'functest/opnfv_tests') diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py index 6dfdabec8..61352c1ed 100644 --- a/functest/opnfv_tests/openstack/rally/rally.py +++ b/functest/opnfv_tests/openstack/rally/rally.py @@ -629,6 +629,7 @@ class RallyBase(singlevm.VmReady2): def clean(self): """Cleanup of OpenStack resources. Should be called on completion.""" self.clean_rally_conf() + self.clean_rally_logs() if self.flavor_alt: self.orig_cloud.delete_flavor(self.flavor_alt.id) super(RallyBase, self).clean() @@ -641,12 +642,43 @@ class RallyBase(singlevm.VmReady2): return super(RallyBase, self).is_successful() + @staticmethod + def update_rally_logs(res_dir, rally_conf='/etc/rally/rally.conf'): + """Print rally logs in res dir""" + if not os.path.exists(res_dir): + os.makedirs(res_dir) + rconfig = configparser.RawConfigParser() + rconfig.read(rally_conf) + rconfig.set('DEFAULT', 'debug', True) + rconfig.set('DEFAULT', 'use_stderr', False) + rconfig.set('DEFAULT', 'log-file', 'rally.log') + rconfig.set('DEFAULT', 'log_dir', res_dir) + with open(rally_conf, 'w') as config_file: + rconfig.write(config_file) + + @staticmethod + def clean_rally_logs(rally_conf='/etc/rally/rally.conf'): + """Clean Rally config""" + rconfig = configparser.RawConfigParser() + rconfig.read(rally_conf) + if rconfig.has_option('DEFAULT', 'use_stderr'): + rconfig.remove_option('DEFAULT', 'use_stderr') + if rconfig.has_option('DEFAULT', 'debug'): + rconfig.remove_option('DEFAULT', 'debug') + if rconfig.has_option('DEFAULT', 'log-file'): + rconfig.remove_option('DEFAULT', 'log-file') + if rconfig.has_option('DEFAULT', 'log_dir'): + rconfig.remove_option('DEFAULT', 'log_dir') + with open(rally_conf, 'w') as config_file: + rconfig.write(config_file) + def run(self, **kwargs): """Run testcase.""" self.start_time = time.time() try: assert super(RallyBase, self).run( **kwargs) == testcase.TestCase.EX_OK + self.update_rally_logs(self.res_dir) self.create_rally_deployment(environ=self.project.get_environ()) self.prepare_run(**kwargs) self.run_tests(**kwargs) diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py index 831f732d1..fb0c15512 100644 --- a/functest/opnfv_tests/openstack/tempest/tempest.py +++ b/functest/opnfv_tests/openstack/tempest/tempest.py @@ -489,19 +489,6 @@ class TempestCommon(singlevm.VmReady2): with open(rally_conf, 'w') as config_file: rconfig.write(config_file) - def update_rally_logs(self, rally_conf='/etc/rally/rally.conf'): - """Print rally logs in res dir""" - if not os.path.exists(self.res_dir): - os.makedirs(self.res_dir) - rconfig = configparser.RawConfigParser() - rconfig.read(rally_conf) - rconfig.set('DEFAULT', 'debug', True) - rconfig.set('DEFAULT', 'use_stderr', False) - rconfig.set('DEFAULT', 'log-file', 'rally.log') - rconfig.set('DEFAULT', 'log_dir', self.res_dir) - with open(rally_conf, 'w') as config_file: - rconfig.write(config_file) - @staticmethod def clean_rally_conf(rally_conf='/etc/rally/rally.conf'): """Clean Rally config""" @@ -511,14 +498,6 @@ class TempestCommon(singlevm.VmReady2): rconfig.remove_option('openstack', 'img_name_regex') if rconfig.has_option('openstack', 'swift_operator_role'): rconfig.remove_option('openstack', 'swift_operator_role') - if rconfig.has_option('DEFAULT', 'use_stderr'): - rconfig.remove_option('DEFAULT', 'use_stderr') - if rconfig.has_option('DEFAULT', 'debug'): - rconfig.remove_option('DEFAULT', 'debug') - if rconfig.has_option('DEFAULT', 'log-file'): - rconfig.remove_option('DEFAULT', 'log-file') - if rconfig.has_option('DEFAULT', 'log_dir'): - rconfig.remove_option('DEFAULT', 'log_dir') with open(rally_conf, 'w') as config_file: rconfig.write(config_file) @@ -621,7 +600,7 @@ class TempestCommon(singlevm.VmReady2): os.makedirs(self.res_dir) self.update_rally_regex() self.update_default_role() - self.update_rally_logs() + rally.RallyBase.update_rally_logs(self.res_dir) shutil.copy("/etc/rally/rally.conf", self.res_dir) self.configure(**kwargs) self.generate_test_list(**kwargs) @@ -647,6 +626,7 @@ class TempestCommon(singlevm.VmReady2): Cleanup all OpenStack objects. Should be called on completion. """ self.clean_rally_conf() + rally.RallyBase.clean_rally_logs() if self.image_alt: self.cloud.delete_image(self.image_alt) if self.flavor_alt: -- cgit 1.2.3-korg