import sos-4.2-6.el8
This commit is contained in:
parent
b4062a5670
commit
73c2df969f
1389
SOURCES/sos-bz2023867-cleaner-hostnames-improvements.patch
Normal file
1389
SOURCES/sos-bz2023867-cleaner-hostnames-improvements.patch
Normal file
File diff suppressed because it is too large
Load Diff
224
SOURCES/sos-bz2025610-RHTS-api-change.patch
Normal file
224
SOURCES/sos-bz2025610-RHTS-api-change.patch
Normal file
@ -0,0 +1,224 @@
|
||||
From 2e8b5e2d4f30854cce93d149fc7d24b9d9cfd02c Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Fri, 19 Nov 2021 16:16:07 +0100
|
||||
Subject: [PATCH 1/3] [policies] strip path from SFTP upload filename
|
||||
|
||||
When case_id is not supplied, we ask SFTP server to store the uploaded
|
||||
file under name /var/tmp/<tarball>, which is confusing.
|
||||
|
||||
Let remove the path from it also in case_id not supplied.
|
||||
|
||||
Related to: #2764
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/policies/distros/redhat.py | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py
|
||||
index 3476e21fb..8817fc785 100644
|
||||
--- a/sos/policies/distros/redhat.py
|
||||
+++ b/sos/policies/distros/redhat.py
|
||||
@@ -269,10 +269,10 @@ def _get_sftp_upload_name(self):
|
||||
"""The RH SFTP server will only automatically connect file uploads to
|
||||
cases if the filename _starts_ with the case number
|
||||
"""
|
||||
+ fname = self.upload_archive_name.split('/')[-1]
|
||||
if self.case_id:
|
||||
- return "%s_%s" % (self.case_id,
|
||||
- self.upload_archive_name.split('/')[-1])
|
||||
- return self.upload_archive_name
|
||||
+ return "%s_%s" % (self.case_id, fname)
|
||||
+ return fname
|
||||
|
||||
def upload_sftp(self):
|
||||
"""Override the base upload_sftp to allow for setting an on-demand
|
||||
|
||||
From 61023b29a656dd7afaa4a0643368b0a53f1a3779 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Fri, 19 Nov 2021 17:31:31 +0100
|
||||
Subject: [PATCH 2/3] [redhat] update SFTP API version to v2
|
||||
|
||||
Change API version from v1 to v2, which includes:
|
||||
- change of URL
|
||||
- different URI
|
||||
- POST method for token generation instead of GET
|
||||
|
||||
Resolves: #2764
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/policies/distros/redhat.py | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py
|
||||
index 8817fc785..e4e2b8835 100644
|
||||
--- a/sos/policies/distros/redhat.py
|
||||
+++ b/sos/policies/distros/redhat.py
|
||||
@@ -175,7 +175,7 @@ def get_tmp_dir(self, opt_tmp_dir):
|
||||
No changes will be made to system configuration.
|
||||
"""
|
||||
|
||||
-RH_API_HOST = "https://access.redhat.com"
|
||||
+RH_API_HOST = "https://api.access.redhat.com"
|
||||
RH_SFTP_HOST = "sftp://sftp.access.redhat.com"
|
||||
|
||||
|
||||
@@ -287,12 +287,12 @@ def upload_sftp(self):
|
||||
" for obtaining SFTP auth token.")
|
||||
_token = None
|
||||
_user = None
|
||||
+ url = RH_API_HOST + '/support/v2/sftp/token'
|
||||
# we have a username and password, but we need to reset the password
|
||||
# to be the token returned from the auth endpoint
|
||||
if self.get_upload_user() and self.get_upload_password():
|
||||
- url = RH_API_HOST + '/hydra/rest/v1/sftp/token'
|
||||
auth = self.get_upload_https_auth()
|
||||
- ret = requests.get(url, auth=auth, timeout=10)
|
||||
+ ret = requests.post(url, auth=auth, timeout=10)
|
||||
if ret.status_code == 200:
|
||||
# credentials are valid
|
||||
_user = self.get_upload_user()
|
||||
@@ -302,8 +302,8 @@ def upload_sftp(self):
|
||||
"credentials. Will try anonymous.")
|
||||
# we either do not have a username or password/token, or both
|
||||
if not _token:
|
||||
- aurl = RH_API_HOST + '/hydra/rest/v1/sftp/token?isAnonymous=true'
|
||||
- anon = requests.get(aurl, timeout=10)
|
||||
+ adata = {"isAnonymous": True}
|
||||
+ anon = requests.post(url, data=json.dumps(adata), timeout=10)
|
||||
if anon.status_code == 200:
|
||||
resp = json.loads(anon.text)
|
||||
_user = resp['username']
|
||||
|
||||
From 267da2156ec61f526dd28e760ff6528408a76c3f Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Mon, 22 Nov 2021 15:22:32 +0100
|
||||
Subject: [PATCH 3/3] [policies] Deal 200 return code as success
|
||||
|
||||
Return code 200 of POST method request must be dealt as success.
|
||||
|
||||
Newly required due to the SFTP API change using POST.
|
||||
|
||||
Related to: #2764
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/policies/distros/__init__.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/policies/distros/__init__.py b/sos/policies/distros/__init__.py
|
||||
index 0906fa779..6f257fdce 100644
|
||||
--- a/sos/policies/distros/__init__.py
|
||||
+++ b/sos/policies/distros/__init__.py
|
||||
@@ -551,7 +551,7 @@ def upload_https(self):
|
||||
r = self._upload_https_put(arc, verify)
|
||||
else:
|
||||
r = self._upload_https_post(arc, verify)
|
||||
- if r.status_code != 201:
|
||||
+ if r.status_code != 200 and r.status_code != 201:
|
||||
if r.status_code == 401:
|
||||
raise Exception(
|
||||
"Authentication failed: invalid user credentials"
|
||||
From 8da1b14246226792c160dd04e5c7c75dd4e8d44b Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Mon, 22 Nov 2021 10:44:09 +0100
|
||||
Subject: [PATCH] [collect] fix moved get_upload_url under Policy class
|
||||
|
||||
SoSCollector does not further declare get_upload_url method
|
||||
as that was moved under Policy class(es).
|
||||
|
||||
Resolves: #2766
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/collector/__init__.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/collector/__init__.py b/sos/collector/__init__.py
|
||||
index 50183e873..42a7731d6 100644
|
||||
--- a/sos/collector/__init__.py
|
||||
+++ b/sos/collector/__init__.py
|
||||
@@ -1219,7 +1219,7 @@ this utility or remote systems that it c
|
||||
msg = 'No sosreports were collected, nothing to archive...'
|
||||
self.exit(msg, 1)
|
||||
|
||||
- if self.opts.upload and self.get_upload_url():
|
||||
+ if self.opts.upload and self.policy.get_upload_url():
|
||||
try:
|
||||
self.policy.upload_archive(arc_name)
|
||||
self.ui_log.info("Uploaded archive successfully")
|
||||
From abb2fc65bd14760021c61699ad3113cab3bd4c64 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 30 Nov 2021 11:37:02 +0100
|
||||
Subject: [PATCH 1/2] [redhat] Fix broken URI to upload to customer portal
|
||||
|
||||
Revert back the unwanted change in URI of uploading tarball to the
|
||||
Red Hat Customer portal.
|
||||
|
||||
Related: #2772
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/policies/distros/redhat.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/policies/distros/redhat.py b/sos/policies/distros/redhat.py
|
||||
index e4e2b883..eb442407 100644
|
||||
--- a/sos/policies/distros/redhat.py
|
||||
+++ b/sos/policies/distros/redhat.py
|
||||
@@ -250,7 +250,7 @@ support representative.
|
||||
elif self.commons['cmdlineopts'].upload_protocol == 'sftp':
|
||||
return RH_SFTP_HOST
|
||||
else:
|
||||
- rh_case_api = "/hydra/rest/cases/%s/attachments"
|
||||
+ rh_case_api = "/support/v1/cases/%s/attachments"
|
||||
return RH_API_HOST + rh_case_api % self.case_id
|
||||
|
||||
def _get_upload_headers(self):
|
||||
--
|
||||
2.31.1
|
||||
|
||||
|
||||
From ea4f9e88a412c80a4791396e1bb78ac1e24ece14 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Moravec <pmoravec@redhat.com>
|
||||
Date: Tue, 30 Nov 2021 13:00:26 +0100
|
||||
Subject: [PATCH 2/2] [policy] Add error message when FTP upload write failure
|
||||
|
||||
When (S)FTP upload fails to write the destination file,
|
||||
our "expect" code should detect it sooner than after timeout happens
|
||||
and write appropriate error message.
|
||||
|
||||
Resolves: #2772
|
||||
|
||||
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
||||
---
|
||||
sos/policies/distros/__init__.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sos/policies/distros/__init__.py b/sos/policies/distros/__init__.py
|
||||
index 6f257fdc..7bdc81b8 100644
|
||||
--- a/sos/policies/distros/__init__.py
|
||||
+++ b/sos/policies/distros/__init__.py
|
||||
@@ -473,7 +473,8 @@ class LinuxPolicy(Policy):
|
||||
put_expects = [
|
||||
u'100%',
|
||||
pexpect.TIMEOUT,
|
||||
- pexpect.EOF
|
||||
+ pexpect.EOF,
|
||||
+ u'No such file or directory'
|
||||
]
|
||||
|
||||
put_success = ret.expect(put_expects, timeout=180)
|
||||
@@ -485,6 +486,8 @@ class LinuxPolicy(Policy):
|
||||
raise Exception("Timeout expired while uploading")
|
||||
elif put_success == 2:
|
||||
raise Exception("Unknown error during upload: %s" % ret.before)
|
||||
+ elif put_success == 3:
|
||||
+ raise Exception("Unable to write archive to destination")
|
||||
else:
|
||||
raise Exception("Unexpected response from server: %s" % ret.before)
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
@ -5,13 +5,13 @@
|
||||
Summary: A set of tools to gather troubleshooting information from a system
|
||||
Name: sos
|
||||
Version: 4.2
|
||||
Release: 4%{?dist}
|
||||
Release: 6%{?dist}
|
||||
Group: Applications/System
|
||||
Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz
|
||||
Source1: sos-audit-%{auditversion}.tgz
|
||||
License: GPLv2+
|
||||
BuildArch: noarch
|
||||
Url: http://github.com/sosreport/sos
|
||||
Url: https://github.com/sosreport/sos
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: gettext
|
||||
Requires: libxml2-python3
|
||||
@ -34,6 +34,8 @@ Patch10: sos-bz2004929-openvswitch-offline-analysis.patch
|
||||
Patch11: sos-bz2012857-plugin-timeout-unhandled-exception.patch
|
||||
Patch12: sos-bz2018033-plugin-timeouts-proper-handling.patch
|
||||
Patch13: sos-bz2020777-filter-namespace-per-pattern.patch
|
||||
Patch14: sos-bz2023867-cleaner-hostnames-improvements.patch
|
||||
Patch15: sos-bz2025610-RHTS-api-change.patch
|
||||
|
||||
|
||||
%description
|
||||
@ -58,6 +60,8 @@ support technicians and developers.
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
@ -124,6 +128,18 @@ of the system. Currently storage and filesystem commands are audited.
|
||||
%ghost /etc/audit/rules.d/40-sos-storage.rules
|
||||
|
||||
%changelog
|
||||
* Tue Nov 30 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-6
|
||||
- [redhat] Fix broken URI to upload to customer portal
|
||||
Resolves: bz2025610
|
||||
|
||||
* Mon Nov 22 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-5
|
||||
- [clean,hostname_parser] Source /etc/hosts for obfuscation
|
||||
Resolves: bz2023867
|
||||
- [clean, hostname] Fix unintentionally case sensitive
|
||||
Resolves: bz2023863
|
||||
- [redhat] update SFTP API version to v2
|
||||
Resolves: bz2025610
|
||||
|
||||
* Tue Nov 16 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-4
|
||||
- [report] Calculate sizes of dirs, symlinks and manifest in
|
||||
Resolves: bz1873185
|
||||
|
Loading…
Reference in New Issue
Block a user