From 74c5b7f818a986fb6b9273b72e2616dee0f7abd6 Mon Sep 17 00:00:00 2001 From: Slawek Kaplonski Date: Mon, 16 Aug 2021 13:05:12 +0200 Subject: [PATCH] Make datetime format in log files to be configurable This patch adds possibility to configure in Tobiko what is the format of the OpenStack services log lines format and how to parse it to get date time from lines. Change-Id: Ibe2c92e2a1dfbbd23f00cf1c635f9799a5c3e613 --- tobiko/openstack/topology/_neutron.py | 6 +++++- tobiko/openstack/topology/config.py | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tobiko/openstack/topology/_neutron.py b/tobiko/openstack/topology/_neutron.py index da23b29f4..40c2b033e 100644 --- a/tobiko/openstack/topology/_neutron.py +++ b/tobiko/openstack/topology/_neutron.py @@ -22,6 +22,7 @@ from oslo_log import log import tobiko from tobiko.openstack import neutron +from tobiko.openstack.topology import _config from tobiko.openstack.topology import _topology from tobiko.shell import files @@ -47,10 +48,13 @@ class NeutronNovaCommonReader(tobiko.SharedFixture): log_digger: files.MultihostLogFileDigger groups: typing.List[str] message_pattern: str - datetime_pattern = re.compile(r'(\d{4}-\d{2}-\d{2} [0-9:.]+) .+') + datetime_pattern: typing.Pattern + config = tobiko.required_setup_fixture(_config.OpenStackTopologyConfig) service_name = neutron.SERVER def setup_fixture(self): + self.datetime_pattern = re.compile( + self.config.conf.log_datetime_pattern) self.log_digger = self.useFixture( _topology.get_log_file_digger( service_name=self.service_name, diff --git a/tobiko/openstack/topology/config.py b/tobiko/openstack/topology/config.py index 853419dda..fa4e859e4 100644 --- a/tobiko/openstack/topology/config.py +++ b/tobiko/openstack/topology/config.py @@ -35,6 +35,10 @@ OPTIONS = [ default=None, choices=['', '4', '6'], help="Limit connectivity to cloud to IPv4 o IPv6"), + cfg.StrOpt('log_datetime_pattern', + default=r"(\d{4}-\d{2}-\d{2} [0-9:.]+) .+", + help="Regex to be used to parse date and time from " + "the OpenStack services' log lines. "), ]