diff --git a/whitebox_neutron_tempest_plugin/tests/scenario/test_security_group_logging.py b/whitebox_neutron_tempest_plugin/tests/scenario/test_security_group_logging.py index 872f540..a648537 100644 --- a/whitebox_neutron_tempest_plugin/tests/scenario/test_security_group_logging.py +++ b/whitebox_neutron_tempest_plugin/tests/scenario/test_security_group_logging.py @@ -70,6 +70,7 @@ class BaseSecGroupLoggingTest( ConnectionResetError, EOFError) ENTRY_PTN = 'acl_log' + LOGGING_LIMIT_PER_TEST = 60 @classmethod def resource_setup(cls): @@ -148,6 +149,18 @@ class BaseSecGroupLoggingTest( self.project_id, security_group=-1, security_group_rule=-1) self._hypervisors_counts = dict() + @classmethod + def limit_log_entries(cls, entries, limit_amount=-1): + _limit_amount = cls.LOGGING_LIMIT_PER_TEST if limit_amount == -1 \ + else limit_amount + if len(entries) > _limit_amount: + _limit_log_portion = _limit_amount // 2 + limited_entries = entries[:_limit_log_portion] + ['...'] + \ + entries[-_limit_log_portion:] + else: + limited_entries = entries + return limited_entries + def _create_ssh_client(self, host, username=None, key_file=None): """Returns ssh client. @@ -229,11 +242,15 @@ class BaseSecGroupLoggingTest( new_logs = [output for output in cmd_outputs if a < int(output.split("|")[1]) <= b] new_logs_str = "\n".join(new_logs) + # entries in memory for testing self._hypervisors_counts[hypervisor_ssh.host][ 'tested_logs'] = new_logs_str - # log in tempest the retrieved entries and amount - mess = "The following SGL entries fetched: %d < log ID <= %d\n\n%s" - LOG.debug(mess, a, b, new_logs_str) + # log only up to limit entries, avoid test over log for limit tests + # which generate lots of traffic + new_logs_log = self.limit_log_entries(new_logs) + # log in tempest retrieved start/end entries and total amount + mess = "SGL start/end entries sample: %d < log ID <= %d\n\n%s" + LOG.debug(mess, a, b, new_logs_log) # SGL entries amount - used to verify rate/burst limits applied _test_logs_amount = len(new_logs) self._hypervisors_counts[hypervisor_ssh.host][