From 51cdd87ad861d5d47c212258bf00402a4dec2198 Mon Sep 17 00:00:00 2001 From: Darren Archibald Date: Fri, 23 Feb 2024 06:17:54 -0800 Subject: [PATCH] Update cloud-init collect-logs for Oracle Linux Updating the code to collect triage logs with OL distro specic methods. Orabug: 30435672 Signed-off-by: Vijay Balakrishna Reviewed-by: Si-Wei Liu Acked-by: Joe Kennedy Reviewed-by: Laurence Rochfort Signed-off-by: Rajesh Harekal --- cloudinit/cmd/devel/logs.py | 26 ++++++++++++++++---------- cloudinit/util.py | 1 + 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/cloudinit/cmd/devel/logs.py b/cloudinit/cmd/devel/logs.py index 8312218..85d976a 100755 --- a/cloudinit/cmd/devel/logs.py +++ b/cloudinit/cmd/devel/logs.py @@ -21,7 +21,7 @@ from cloudinit.stages import Init from cloudinit.subp import ProcessExecutionError, subp from cloudinit.temp_utils import tempdir -from cloudinit.util import copy, get_config_logfiles, write_file +from cloudinit.util import copy, get_config_logfiles, write_file, system_info LOG = cast(loggers.CustomLoggerType, logging.getLogger(__name__)) @@ -214,13 +214,21 @@ file_path=log_dir / "version", msg="cloud-init --version", ) - dpkg_ver = _write_command_output_to_file( - cmd=["dpkg-query", "--show", "-f=${Version}\n", "cloud-init"], - file_path=log_dir / "dpkg-version", - msg="dpkg version", - ) - if not version: - version = dpkg_ver or "not-available" + if system_info()['variant'] == "ol": + rpm_ver = _write_command_output_to_file( + cmd=["rpm", "-q", "--queryformat", + "[%{VERSION}-%{RELEASE}.%{ARCH}]\n", "cloud-init"], + file_path=log_dir / "rpm-version", + msg="rpm version") + if not version: + version = rpm_ver if rpm_ver else "not-available" + else: + dpkg_ver = _write_command_output_to_file( + cmd=["dpkg-query", "--show", "-f=${Version}\n", "cloud-init"], + file_path=log_dir / "dpkg-version", + msg="dpkg version") + if not version: + version = dpkg_ver or "not-available" def _collect_system_logs( diff --git a/cloudinit/util.py b/cloudinit/util.py index 3295735..db7bb97 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -660,6 +660,7 @@ def _get_variant(info): "suse", "tencentos", "virtuozzo", + "ol", ): variant = linux_dist elif linux_dist in ("ubuntu", "linuxmint", "mint"): -- 2.31.1