Update to 4.8.0 in RHEL 10
Resolves: RHEL-58946 Signed-off-by: Jan Jansky <jjansky@redhat.com>
This commit is contained in:
parent
8c81ac18ef
commit
547094b03d
1
.gitignore
vendored
1
.gitignore
vendored
@ -27,3 +27,4 @@ sos-2.2.tar.gz
|
|||||||
/sos-4.7.0.tar.gz
|
/sos-4.7.0.tar.gz
|
||||||
/sos-4.7.1.tar.gz
|
/sos-4.7.1.tar.gz
|
||||||
/sos-4.7.2.tar.gz
|
/sos-4.7.2.tar.gz
|
||||||
|
/sos-4.8.0.tar.gz
|
||||||
|
40
sos-RHEL-22732-Fix-check_file_too_big.patch
Normal file
40
sos-RHEL-22732-Fix-check_file_too_big.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From c3b8bbcf7969999375d85c588c09d90d99ea41f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jose Castillo <jcastillo@redhat.com>
|
||||||
|
Date: Mon, 19 Aug 2024 11:37:08 +0100
|
||||||
|
Subject: [PATCH] [redhat] Fix return of function check_file_too_big()
|
||||||
|
|
||||||
|
Fix the return of the size checks for Red Hat uploads
|
||||||
|
to customer portal. Without this fix, uploads were failing
|
||||||
|
silently.
|
||||||
|
|
||||||
|
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
|
||||||
|
---
|
||||||
|
sos/policies/distros/redhat.py | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py
|
||||||
|
index fb22c313..5b794fde 100644
|
||||||
|
--- a/sos/policies/distros/redhat.py
|
||||||
|
+++ b/sos/policies/distros/redhat.py
|
||||||
|
@@ -441,8 +441,7 @@ support representative.
|
||||||
|
f"{convert_bytes(self._max_size_request)} "
|
||||||
|
" via sos http upload. \n")
|
||||||
|
)
|
||||||
|
- return RH_SFTP_HOST
|
||||||
|
- return RH_API_HOST
|
||||||
|
+ self.upload_url = RH_SFTP_HOST
|
||||||
|
|
||||||
|
def upload_archive(self, archive):
|
||||||
|
"""Override the base upload_archive to provide for automatic failover
|
||||||
|
@@ -450,7 +449,7 @@ support representative.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
if self.get_upload_url().startswith(RH_API_HOST):
|
||||||
|
- self.upload_url = self.check_file_too_big(archive)
|
||||||
|
+ self.check_file_too_big(archive)
|
||||||
|
uploaded = super().upload_archive(archive)
|
||||||
|
except Exception as e:
|
||||||
|
uploaded = False
|
||||||
|
--
|
||||||
|
2.46.0
|
||||||
|
|
@ -1,77 +0,0 @@
|
|||||||
From 11879fbb1adc33d8abc0cb70dc63e7e88c39fc3f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jose Castillo <jcastillo@redhat.com>
|
|
||||||
Date: Wed, 21 Feb 2024 12:24:37 +0000
|
|
||||||
Subject: [PATCH] [redhat|policy] Check for archive size before upload
|
|
||||||
|
|
||||||
The Red Hat Customer Portal has a max limit for
|
|
||||||
single http requests of 1Gb. From sos side, we never checked this
|
|
||||||
and so customers had to wait for the whole upload to be attempted
|
|
||||||
before receiving an error from the portal.
|
|
||||||
This patch attempts to stop the upload before it starts, informing
|
|
||||||
customers of such limit, and switching to secure FTP where there's
|
|
||||||
no limit.
|
|
||||||
|
|
||||||
Related: RHEL-22732
|
|
||||||
|
|
||||||
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
|
|
||||||
---
|
|
||||||
sos/policies/distros/redhat.py | 29 +++++++++++++++++++++++------
|
|
||||||
1 file changed, 23 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py
|
|
||||||
index edea151e2..2fb0df3fa 100644
|
|
||||||
--- a/sos/policies/distros/redhat.py
|
|
||||||
+++ b/sos/policies/distros/redhat.py
|
|
||||||
@@ -22,7 +22,7 @@
|
|
||||||
from sos.policies.package_managers.rpm import RpmPackageManager
|
|
||||||
from sos.policies.package_managers.flatpak import FlatpakPackageManager
|
|
||||||
from sos.policies.package_managers import MultiPackageManager
|
|
||||||
-from sos.utilities import bold
|
|
||||||
+from sos.utilities import bold, convert_bytes
|
|
||||||
from sos import _sos as _
|
|
||||||
|
|
||||||
try:
|
|
||||||
@@ -232,6 +232,8 @@ class RHELPolicy(RedHatPolicy):
|
|
||||||
_upload_url = RH_SFTP_HOST
|
|
||||||
_upload_method = 'post'
|
|
||||||
_device_token = None
|
|
||||||
+ # Max size for an http single request is 1Gb
|
|
||||||
+ _max_size_request = 1073741824
|
|
||||||
|
|
||||||
def __init__(self, sysroot=None, init=None, probe_runtime=True,
|
|
||||||
remote_exec=None):
|
|
||||||
@@ -429,15 +429,30 @@ support representative.
|
|
||||||
return super().upload_sftp(user=_user, password=_token)
|
|
||||||
raise Exception("Could not retrieve valid or anonymous credentials")
|
|
||||||
|
|
||||||
+ def check_file_too_big(self, archive):
|
|
||||||
+ size = os.path.getsize(archive)
|
|
||||||
+ # Lets check if the size is bigger than the limit.
|
|
||||||
+ # There's really no need to transform the size to Gb,
|
|
||||||
+ # so we don't need to call any size converter implemented
|
|
||||||
+ # in tools.py
|
|
||||||
+ if (size >= self._max_size_request):
|
|
||||||
+ self.ui_log.warning(
|
|
||||||
+ _("Size of archive is bigger than Red Hat Customer Portal "
|
|
||||||
+ "limit for uploads of "
|
|
||||||
+ f"{convert_bytes(self._max_size_request)} "
|
|
||||||
+ " via sos http upload. \n")
|
|
||||||
+ )
|
|
||||||
+ return RH_SFTP_HOST
|
|
||||||
+ else:
|
|
||||||
+ return RH_API_HOST
|
|
||||||
+
|
|
||||||
def upload_archive(self, archive):
|
|
||||||
"""Override the base upload_archive to provide for automatic failover
|
|
||||||
from RHCP failures to the public RH dropbox
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
- if self.upload_url and self.upload_url.startswith(RH_API_HOST) and\
|
|
||||||
- (not self.get_upload_user() or
|
|
||||||
- not self.get_upload_password()):
|
|
||||||
- self.upload_url = RH_SFTP_HOST
|
|
||||||
+ if self.get_upload_url().startswith(RH_API_HOST):
|
|
||||||
+ self.upload_url = self.check_file_too_big(archive)
|
|
||||||
uploaded = super().upload_archive(archive)
|
|
||||||
except Exception as e:
|
|
||||||
uploaded = False
|
|
71
sos-Revert-changed-formatting.patch
Normal file
71
sos-Revert-changed-formatting.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From 3886534b707211c69e1f0ee8592ae9f9125227f2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Moravec <pmoravec@redhat.com>
|
||||||
|
Date: Mon, 26 Aug 2024 18:59:36 +0200
|
||||||
|
Subject: [PATCH] [report] Revert changed formatting of plugin+presets lists
|
||||||
|
|
||||||
|
During conversion to f-strings in #3606, some changes in UI output
|
||||||
|
happen. That makes some output less readable and could break some
|
||||||
|
automated tests anticipating given preset or plugin output strings.
|
||||||
|
|
||||||
|
This commit reverts back tto the original output, using f-strings.
|
||||||
|
|
||||||
|
Resolves: #3762
|
||||||
|
|
||||||
|
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||||
|
---
|
||||||
|
sos/report/__init__.py | 14 +++++++-------
|
||||||
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sos/report/__init__.py b/sos/report/__init__.py
|
||||||
|
index 15974817..24294069 100644
|
||||||
|
--- a/sos/report/__init__.py
|
||||||
|
+++ b/sos/report/__init__.py
|
||||||
|
@@ -1029,7 +1029,7 @@ class SoSReport(SoSComponent):
|
||||||
|
self.ui_log.info(_("The following plugins are currently enabled:"))
|
||||||
|
self.ui_log.info("")
|
||||||
|
for (plugname, plug) in self.loaded_plugins:
|
||||||
|
- self.ui_log.info(f"{plugname:<20} {plug.get_description()}")
|
||||||
|
+ self.ui_log.info(f" {plugname:<20} {plug.get_description()}")
|
||||||
|
else:
|
||||||
|
self.ui_log.info(_("No plugin enabled."))
|
||||||
|
self.ui_log.info("")
|
||||||
|
@@ -1039,7 +1039,7 @@ class SoSReport(SoSComponent):
|
||||||
|
"disabled:"))
|
||||||
|
self.ui_log.info("")
|
||||||
|
for (plugname, plugclass, reason) in self.skipped_plugins:
|
||||||
|
- self.ui_log.info(f"{plugname:<20} {reason:<14} "
|
||||||
|
+ self.ui_log.info(f" {plugname:<20} {reason:<14} "
|
||||||
|
f"{plugclass.get_description()}")
|
||||||
|
|
||||||
|
self.ui_log.info("")
|
||||||
|
@@ -1060,7 +1060,7 @@ class SoSReport(SoSComponent):
|
||||||
|
val = TIMEOUT_DEFAULT
|
||||||
|
if opt.name == 'postproc':
|
||||||
|
val = not self.opts.no_postproc
|
||||||
|
- self.ui_log.info(f"{opt.name:<25} {val:<15} {opt.desc}")
|
||||||
|
+ self.ui_log.info(f" {opt.name:<25} {val:<15} {opt.desc}")
|
||||||
|
self.ui_log.info("")
|
||||||
|
|
||||||
|
self.ui_log.info(_("The following plugin options are available:"))
|
||||||
|
@@ -1126,14 +1126,14 @@ class SoSReport(SoSComponent):
|
||||||
|
if not preset:
|
||||||
|
continue
|
||||||
|
preset = self.policy.find_preset(preset)
|
||||||
|
- self.ui_log.info(f"name: {preset.name:>14}")
|
||||||
|
- self.ui_log.info(f"description: {preset.desc:>14}")
|
||||||
|
+ self.ui_log.info(f"{'name:':>14} {preset.name}")
|
||||||
|
+ self.ui_log.info(f"{'description:':>14} {preset.desc}")
|
||||||
|
if preset.note:
|
||||||
|
- self.ui_log.info(f"note: {preset.note:>14}")
|
||||||
|
+ self.ui_log.info(f"{'note:':>14} {preset.note}")
|
||||||
|
|
||||||
|
if self.opts.verbosity > 0:
|
||||||
|
args = preset.opts.to_args()
|
||||||
|
- options_str = f"{'options:':>14}"
|
||||||
|
+ options_str = f"{'options:':>14} "
|
||||||
|
lines = _format_list(options_str, args, indent=True, sep=' ')
|
||||||
|
for line in lines:
|
||||||
|
self.ui_log.info(line)
|
||||||
|
--
|
||||||
|
2.46.0
|
||||||
|
|
14
sos.spec
14
sos.spec
@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
Summary: A set of tools to gather troubleshooting information from a system
|
Summary: A set of tools to gather troubleshooting information from a system
|
||||||
Name: sos
|
Name: sos
|
||||||
Version: 4.7.2
|
Version: 4.8.0
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz
|
Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz
|
||||||
Source1: sos-audit-%{auditversion}.tgz
|
Source1: sos-audit-%{auditversion}.tgz
|
||||||
@ -22,7 +22,8 @@ Recommends: python3-pexpect
|
|||||||
Recommends: python3-pyyaml
|
Recommends: python3-pyyaml
|
||||||
Conflicts: vdsm < 4.40
|
Conflicts: vdsm < 4.40
|
||||||
Obsoletes: sos-collector <= 1.9
|
Obsoletes: sos-collector <= 1.9
|
||||||
Patch0: sos-RHEL-22732-reverted.patch
|
Patch0: sos-Revert-changed-formatting.patch
|
||||||
|
Patch1: sos-RHEL-22732-Fix-check_file_too_big.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Sos is a set of tools that gathers information about system
|
Sos is a set of tools that gathers information about system
|
||||||
@ -33,7 +34,8 @@ support technicians and developers.
|
|||||||
%prep
|
%prep
|
||||||
%setup -qn %{name}-%{version}
|
%setup -qn %{name}-%{version}
|
||||||
%setup -T -D -a1 -q
|
%setup -T -D -a1 -q
|
||||||
%patch0 -p1 -R
|
%patch -P 0 -p1
|
||||||
|
%patch -P 1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%py3_build
|
%py3_build
|
||||||
@ -106,6 +108,10 @@ of the system. Currently storage and filesystem commands are audited.
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 19 2024 Jan Jansky <jjansky@redhat.com> = 4.8.0-1
|
||||||
|
- Update to 4.8.0 in RHEL 10
|
||||||
|
Resolves: RHEL-58946
|
||||||
|
|
||||||
* Wed Aug 21 2024 Pavel Moravec <pmoravec@redhat.com> = 4.7.2-2
|
* Wed Aug 21 2024 Pavel Moravec <pmoravec@redhat.com> = 4.7.2-2
|
||||||
- Reverting RHEL-22732 patch due to regressions
|
- Reverting RHEL-22732 patch due to regressions
|
||||||
Resolves: RHEL-50589
|
Resolves: RHEL-50589
|
||||||
|
2
sources
2
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (sos-4.7.2.tar.gz) = 00124fcd1b14a16213ddd53da9686c4efcb773321e5e6e4a2c883bbe71e8ea200055134404942140a55bd94a3aeec272c5bc296f73b5bf16c7194955442e40e6
|
SHA512 (sos-4.8.0.tar.gz) = d0874794d015e07cbd57ddf7f6092c8f61b8fb866abc34073c1c865353acdb1df37290aa99431e41f6c863fe6b04c16488c6ee748aba55ec81d90efd8543ad92
|
||||||
SHA512 (sos-audit-0.3.tgz) = 32597baf6350804d08179a0dbe48470a93df148e83d2e49bb3288f6bcc2d151bb1433761913bfbccd912c14de92435939fef5bcd7e091dfe33a345d61ea842ea
|
SHA512 (sos-audit-0.3.tgz) = 32597baf6350804d08179a0dbe48470a93df148e83d2e49bb3288f6bcc2d151bb1433761913bfbccd912c14de92435939fef5bcd7e091dfe33a345d61ea842ea
|
||||||
|
Loading…
Reference in New Issue
Block a user