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 --- 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 @@ -19,7 +19,7 @@ from cloudinit.cmd.devel import read_cfg_paths from cloudinit.helpers import Paths from cloudinit.subp import ProcessExecutionError, subp from cloudinit.temp_utils import tempdir -from cloudinit.util import chdir, copy, ensure_dir, write_file +from cloudinit.util import chdir, copy, ensure_dir, write_file, system_info CLOUDINIT_LOGS = ["/var/log/cloud-init.log", "/var/log/cloud-init-output.log"] CLOUDINIT_RUN_DIR = "/run/cloud-init" @@ -219,15 +219,21 @@ def collect_logs(tarfile, include_userdata: bool, verbosity=0): msg="cloud-init --version", verbosity=verbosity, ) - dpkg_ver = _write_command_output_to_file( - cmd=["dpkg-query", "--show", "-f=${Version}\n", "cloud-init"], - filename=os.path.join(log_dir, "dpkg-version"), - msg="dpkg version", - verbosity=verbosity, - ) - if not version: - version = dpkg_ver if dpkg_ver else "not-available" - print("version: ", version) + if system_info()['variant'] == "ol": + rpm_ver = _write_command_output_to_file( + ['rpm', '-q', '--queryformat', + "[%{VERSION}-%{RELEASE}.%{ARCH}]\n", 'cloud-init'], + os.path.join(log_dir, 'rpm-version'), + "rpm version", verbosity) + if not version: + version = rpm_ver if rpm_ver else "not-available" + else: + dpkg_ver = _write_command_output_to_file( + ['dpkg-query', '--show', "-f=${Version}\n", 'cloud-init'], + os.path.join(log_dir, 'dpkg-version'), + "dpkg version", verbosity) + if not version: + version = dpkg_ver if dpkg_ver else "not-available" _debug("collected cloud-init version: %s\n" % version, 1, verbosity) _stream_command_output_to_file( cmd=["dmesg"], 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