Compare commits
10 Commits
f46db51c1b
...
9137c81ca1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9137c81ca1 | ||
|
|
486949bd39 | ||
|
|
6569c824c8 | ||
|
|
cf2ea46274 | ||
|
|
9d80ae31d9 | ||
|
|
580bf4d9ce | ||
|
|
c54e0d8863 | ||
|
|
127d6250e5 | ||
|
|
e4bc1709c9 | ||
|
|
84015f5647 |
@ -1,55 +0,0 @@
|
|||||||
From 96ac9e7f7c2502f64f7ebae77fbca18ce2b6fdb9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: jeff200902 <jeff200902@163.com>
|
|
||||||
Date: Mon, 13 Jul 2020 09:52:11 +0000
|
|
||||||
Subject: [PATCH] hoperun-openeuler-sos-policy
|
|
||||||
|
|
||||||
---
|
|
||||||
sos/policies/openEuler.py | 36 ++++++++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 36 insertions(+)
|
|
||||||
create mode 100644 sos/policies/openEuler.py
|
|
||||||
|
|
||||||
diff --git a/sos/policies/openEuler.py b/sos/policies/openEuler.py
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..de58f92
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/sos/policies/openEuler.py
|
|
||||||
@@ -0,0 +1,36 @@
|
|
||||||
+# Copyright (C) Huawei, Inc. 2020
|
|
||||||
+
|
|
||||||
+# This file is part of the sos project: https://github.com/sosreport/sos
|
|
||||||
+#
|
|
||||||
+# This copyrighted material is made available to anyone wishing to use,
|
|
||||||
+# modify, copy, or redistribute it subject to the terms and conditions of
|
|
||||||
+# version 2 of the GNU General Public License.
|
|
||||||
+#
|
|
||||||
+# See the LICENSE file in the source distribution for further information.
|
|
||||||
+
|
|
||||||
+# This enables the use of with syntax in python 2.5 (e.g. jython)
|
|
||||||
+from __future__ import print_function
|
|
||||||
+
|
|
||||||
+from sos.policies.redhat import RedHatPolicy, OS_RELEASE
|
|
||||||
+import os
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+class OpenEulerPolicy(RedHatPolicy):
|
|
||||||
+
|
|
||||||
+ distro = "OpenEuler"
|
|
||||||
+ vendor = "the openEuler Project"
|
|
||||||
+ vendor_url = "https://openeuler.org/"
|
|
||||||
+
|
|
||||||
+ def __init__(self, sysroot=None):
|
|
||||||
+ super(OpenEulerPolicy, self).__init__(sysroot=sysroot)
|
|
||||||
+
|
|
||||||
+ @classmethod
|
|
||||||
+ def check(cls):
|
|
||||||
+ """This method checks to see if we are running on OpenEuler. It returns
|
|
||||||
+ True or False."""
|
|
||||||
+ return os.path.isfile('/etc/openEuler-release')
|
|
||||||
+
|
|
||||||
+ def openEuler_version(self):
|
|
||||||
+ pkg = self.pkg_by_name("openEuler-release") or \
|
|
||||||
+ self.all_pkgs_by_name_regex("openEuler-release-.*")[-1]
|
|
||||||
+ return int(pkg["version"])
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
||||||
46
Fix-sos-command-failed-in-sos-4.0.patch
Normal file
46
Fix-sos-command-failed-in-sos-4.0.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From e024511400e23d28b47c25df79ab162d8e1991ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: wei dong <weidong@uniontech.com>
|
||||||
|
Date: Tue, 22 Feb 2022 10:24:18 +0800
|
||||||
|
Subject: [PATCH] Fix sos command failed in sos 4.0
|
||||||
|
|
||||||
|
Signed-off-by: wei dong <weidong@uniontech.com>
|
||||||
|
---
|
||||||
|
sos/policies/uniontech.py | 16 ++++++++++------
|
||||||
|
1 file changed, 10 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sos/policies/uniontech.py b/sos/policies/uniontech.py
|
||||||
|
index cd30136..535335b 100644
|
||||||
|
--- a/sos/policies/uniontech.py
|
||||||
|
+++ b/sos/policies/uniontech.py
|
||||||
|
@@ -1,6 +1,3 @@
|
||||||
|
-from __future__ import print_function
|
||||||
|
-
|
||||||
|
-from sos.plugins import RedHatPlugin
|
||||||
|
from sos.policies.redhat import RedHatPolicy, OS_RELEASE
|
||||||
|
import os
|
||||||
|
|
||||||
|
@@ -10,11 +7,18 @@ class UnionTechPolicy(RedHatPolicy):
|
||||||
|
vendor = "the UnionTech Project"
|
||||||
|
vendor_url = "https://www.chinauos.com/"
|
||||||
|
|
||||||
|
- def __init__(self, sysroot=None):
|
||||||
|
- super(UnionTechPolicy, self).__init__(sysroot=sysroot)
|
||||||
|
+ def __init__(self, sysroot=None, init=None, probe_runtime=True,
|
||||||
|
+ remote_exec=None):
|
||||||
|
+ super(UnionTechPolicy, self).__init__(sysroot=sysroot, init=init,
|
||||||
|
+ probe_runtime=probe_runtime,
|
||||||
|
+ remote_exec=remote_exec)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
- def check(cls):
|
||||||
|
+ def check(cls, remote=''):
|
||||||
|
+
|
||||||
|
+ if remote:
|
||||||
|
+ return cls.distro in remote
|
||||||
|
+
|
||||||
|
if not os.path.exists(OS_RELEASE):
|
||||||
|
return False
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
45
add-uniontech-os-support.patch
Normal file
45
add-uniontech-os-support.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From dcb9273e1f5f55fec2957629a5a69ca396f28c51 Mon Sep 17 00:00:00 2001
|
||||||
|
From: root <root@localhost.localdomain>
|
||||||
|
Date: Mon, 19 Jul 2021 15:48:03 +0800
|
||||||
|
Subject: [PATCH] add uniontech os support
|
||||||
|
|
||||||
|
---
|
||||||
|
sos/policies/uniontech.py | 26 ++++++++++++++++++++++++++
|
||||||
|
1 file changed, 26 insertions(+)
|
||||||
|
create mode 100644 sos/policies/uniontech.py
|
||||||
|
|
||||||
|
diff --git a/sos/policies/uniontech.py b/sos/policies/uniontech.py
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..cd30136
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/sos/policies/uniontech.py
|
||||||
|
@@ -0,0 +1,26 @@
|
||||||
|
+from __future__ import print_function
|
||||||
|
+
|
||||||
|
+from sos.plugins import RedHatPlugin
|
||||||
|
+from sos.policies.redhat import RedHatPolicy, OS_RELEASE
|
||||||
|
+import os
|
||||||
|
+
|
||||||
|
+class UnionTechPolicy(RedHatPolicy):
|
||||||
|
+
|
||||||
|
+ distro = "UnionTech"
|
||||||
|
+ vendor = "the UnionTech Project"
|
||||||
|
+ vendor_url = "https://www.chinauos.com/"
|
||||||
|
+
|
||||||
|
+ def __init__(self, sysroot=None):
|
||||||
|
+ super(UnionTechPolicy, self).__init__(sysroot=sysroot)
|
||||||
|
+
|
||||||
|
+ @classmethod
|
||||||
|
+ def check(cls):
|
||||||
|
+ if not os.path.exists(OS_RELEASE):
|
||||||
|
+ return False
|
||||||
|
+
|
||||||
|
+ with open(OS_RELEASE, 'r') as f:
|
||||||
|
+ for line in f:
|
||||||
|
+ if line.startswith('NAME'):
|
||||||
|
+ if 'UnionTech' in line:
|
||||||
|
+ return True
|
||||||
|
+ return False
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
34
backport-Fix-dict-order-py38-incompatibility.patch
Normal file
34
backport-Fix-dict-order-py38-incompatibility.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
From 1d7bab6c7ce3f78758113ca3cdf3e9fa1762df24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Desrochers <eric.desrochers@canonical.com>
|
||||||
|
Date: Wed, 19 Aug 2020 17:44:07 -0400
|
||||||
|
Subject: [PATCH] [options] Fix dict order py38 incompatibility
|
||||||
|
|
||||||
|
python-3.8 dict changes introduce a traceback during our config file
|
||||||
|
parsing for options with `-` characters in them.
|
||||||
|
|
||||||
|
Fix this by changing an iteration of the dict keys from `dict.keys()`
|
||||||
|
that returns a dict_keys view, to `list(dict)` which returns a list copy
|
||||||
|
of the keys.
|
||||||
|
|
||||||
|
Closes: #2206
|
||||||
|
Resolves: #2207
|
||||||
|
|
||||||
|
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
|
||||||
|
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
||||||
|
---
|
||||||
|
sos/options.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/sos/options.py b/sos/options.py
|
||||||
|
index 3a2b4292f..ba3db1303 100644
|
||||||
|
--- a/sos/options.py
|
||||||
|
+++ b/sos/options.py
|
||||||
|
@@ -186,7 +186,7 @@ def _update_from_section(section, config):
|
||||||
|
if 'verbose' in odict.keys():
|
||||||
|
odict['verbosity'] = int(odict.pop('verbose'))
|
||||||
|
# convert options names
|
||||||
|
- for key in odict.keys():
|
||||||
|
+ for key in list(odict):
|
||||||
|
if '-' in key:
|
||||||
|
odict[key.replace('-', '_')] = odict.pop(key)
|
||||||
|
# set the values according to the config file
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
From 5fd872c64c53af37015f366295e0c2418c969757 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yedidyah Bar David <didi@redhat.com>
|
||||||
|
Date: Thu, 26 May 2022 16:43:21 +0300
|
||||||
|
Subject: [PATCH] [ovirt] answer files: Filter out all password keys
|
||||||
|
|
||||||
|
Instead of hard-coding specific keys and having to maintain them over
|
||||||
|
time, replace the values of all keys that have 'password' in their name.
|
||||||
|
I think this covers all our current and hopefully future keys. It might
|
||||||
|
add "false positives" - keys that are not passwords but have 'password'
|
||||||
|
in their name - and I think that's a risk worth taking.
|
||||||
|
|
||||||
|
Sadly, the engine admin password prompt's name is
|
||||||
|
'OVESETUP_CONFIG_ADMIN_SETUP', which does not include 'password', so has
|
||||||
|
to be listed specifically.
|
||||||
|
|
||||||
|
A partial list of keys added since the replaced code was written:
|
||||||
|
- grafana-related stuff
|
||||||
|
- keycloak-related stuff
|
||||||
|
- otopi-style answer files
|
||||||
|
|
||||||
|
Signed-off-by: Yedidyah Bar David <didi@redhat.com>
|
||||||
|
Change-Id: I416c6e4078e7c3638493eb271d08d73a0c22b5ba
|
||||||
|
---
|
||||||
|
sos/report/plugins/ovirt.py | 23 +++++++++++++----------
|
||||||
|
1 file changed, 13 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sos/report/plugins/ovirt.py b/sos/report/plugins/ovirt.py
|
||||||
|
index 09647bf1..3b1bb29b 100644
|
||||||
|
--- a/sos/report/plugins/ovirt.py
|
||||||
|
+++ b/sos/report/plugins/ovirt.py
|
||||||
|
@@ -241,19 +241,22 @@ class Ovirt(Plugin, RedHatPlugin):
|
||||||
|
r'{key}=********'.format(key=key)
|
||||||
|
)
|
||||||
|
|
||||||
|
- # Answer files contain passwords
|
||||||
|
- for key in (
|
||||||
|
- 'OVESETUP_CONFIG/adminPassword',
|
||||||
|
- 'OVESETUP_CONFIG/remoteEngineHostRootPassword',
|
||||||
|
- 'OVESETUP_DWH_DB/password',
|
||||||
|
- 'OVESETUP_DB/password',
|
||||||
|
- 'OVESETUP_REPORTS_CONFIG/adminPassword',
|
||||||
|
- 'OVESETUP_REPORTS_DB/password',
|
||||||
|
+ # Answer files contain passwords.
|
||||||
|
+ # Replace all keys that have 'password' in them, instead of hard-coding
|
||||||
|
+ # here the list of keys, which changes between versions.
|
||||||
|
+ # Sadly, the engine admin password prompt name does not contain
|
||||||
|
+ # 'password'... so neither does the env key.
|
||||||
|
+ for item in (
|
||||||
|
+ 'password',
|
||||||
|
+ 'OVESETUP_CONFIG_ADMIN_SETUP',
|
||||||
|
):
|
||||||
|
self.do_path_regex_sub(
|
||||||
|
r'/var/lib/ovirt-engine/setup/answers/.*',
|
||||||
|
- r'{key}=(.*)'.format(key=key),
|
||||||
|
- r'{key}=********'.format(key=key)
|
||||||
|
+ re.compile(
|
||||||
|
+ r'(?P<key>[^=]*{item}[^=]*)=.*'.format(item=item),
|
||||||
|
+ flags=re.IGNORECASE
|
||||||
|
+ ),
|
||||||
|
+ r'\g<key>=********'
|
||||||
|
)
|
||||||
|
|
||||||
|
# aaa profiles contain passwords
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
50
openEuler-add-openEuler-policy.patch
Normal file
50
openEuler-add-openEuler-policy.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From 3b76979a51f8b8e65991c00cd4ebab2f23a467a6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: shixuantong <shixuantong@huawei.com>
|
||||||
|
Date: Mon, 8 Mar 2021 20:56:05 +0800
|
||||||
|
Subject: [PATCH] add openEuler policy
|
||||||
|
|
||||||
|
this patch is based on sos-4.0, not applicable to the lower version.
|
||||||
|
---
|
||||||
|
sos/policies/openEuler.py | 30 ++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 30 insertions(+)
|
||||||
|
create mode 100644 sos/policies/openEuler.py
|
||||||
|
|
||||||
|
diff --git a/sos/policies/openEuler.py b/sos/policies/openEuler.py
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ea65ba2
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/sos/policies/openEuler.py
|
||||||
|
@@ -0,0 +1,30 @@
|
||||||
|
+from __future__ import print_function
|
||||||
|
+
|
||||||
|
+from sos.report.plugins import RedHatPlugin
|
||||||
|
+from sos.policies.redhat import RedHatPolicy, OS_RELEASE
|
||||||
|
+import os
|
||||||
|
+
|
||||||
|
+class OpenEulerPolicy(RedHatPolicy):
|
||||||
|
+
|
||||||
|
+ distro = "OpenEuler"
|
||||||
|
+ vendor = "the openEuler Project"
|
||||||
|
+ vendor_url = "https://openeuler.org/"
|
||||||
|
+
|
||||||
|
+ def __init__(self, sysroot=None, init=None, probe_runtime=True,
|
||||||
|
+ remote_exec=None):
|
||||||
|
+ super(OpenEulerPolicy, self).__init__(sysroot=sysroot, init=init,
|
||||||
|
+ probe_runtime=probe_runtime,
|
||||||
|
+ remote_exec=remote_exec)
|
||||||
|
+
|
||||||
|
+ @classmethod
|
||||||
|
+ def check(cls, remote=''):
|
||||||
|
+ """This method checks to see if we are running on OpenEuler. It returns
|
||||||
|
+ True or False."""
|
||||||
|
+ if remote:
|
||||||
|
+ return cls.distro in remote
|
||||||
|
+ return os.path.isfile('/etc/openEuler-release')
|
||||||
|
+
|
||||||
|
+ def openEuler_version(self):
|
||||||
|
+ pkg = self.pkg_by_name("openEuler-release") or \
|
||||||
|
+ self.all_pkgs_by_name_regex("openEuler-release-.*")[-1]
|
||||||
|
+ return int(pkg["version"])
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
44
sos.spec
44
sos.spec
@ -2,15 +2,20 @@
|
|||||||
|
|
||||||
Name: sos
|
Name: sos
|
||||||
Version: 4.0
|
Version: 4.0
|
||||||
Release: 1
|
Release: 6
|
||||||
Summary: A set of tools to gather troubleshooting information from a system
|
Summary: A set of tools to gather troubleshooting information from a system
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://github.com/sosreport/sos
|
URL: https://github.com/sosreport/sos
|
||||||
Source0: https://github.com/sosreport/sos/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
Source0: https://github.com/sosreport/sos/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
Patch0000: 0001-hoperun-openeuler-sos-policy.patch
|
|
||||||
BuildRequires: python3-devel gettext python3-six
|
Patch6000: backport-Fix-dict-order-py38-incompatibility.patch
|
||||||
Requires: libxml2-python3 bzip2 xz python3-six
|
Patch9000: openEuler-add-openEuler-policy.patch
|
||||||
Conflicts: vdsm <= 4.30.17
|
Patch9001: add-uniontech-os-support.patch
|
||||||
|
Patch9002: Fix-sos-command-failed-in-sos-4.0.patch
|
||||||
|
Patch9003: backport-ovirt-answer-files-Filter-out-all-password-keys.patch
|
||||||
|
|
||||||
|
BuildRequires: python3-devel gettext
|
||||||
|
Requires: libxml2-python3 bzip2 xz python3-rpm tar python3-pexpect
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -27,15 +32,25 @@ aimed at Linux distributions and other UNIX-like operating systems.
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
%py3_install '--install-scripts=%{_sbindir}'
|
%py3_install '--install-scripts=%{_sbindir}'
|
||||||
install -Dm644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
|
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
|
||||||
|
install -d -m 700 %{buildroot}%{_sysconfdir}/%{name}/cleaner
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/presets.d
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/groups.d
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/extras.d
|
||||||
|
install -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
||||||
|
|
||||||
%find_lang %{name} || echo 0
|
%find_lang %{name} || echo 0
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%config(noreplace) %{_sysconfdir}/sos.conf
|
%config(noreplace) %{_sysconfdir}/sos/sos.conf
|
||||||
%{_sbindir}/sos*
|
%{_sbindir}/sos*
|
||||||
|
%dir /etc/sos/cleaner
|
||||||
|
%dir /etc/sos/presets.d
|
||||||
|
%dir /etc/sos/extras.d
|
||||||
|
%dir /etc/sos/groups.d
|
||||||
%{python3_sitelib}/*
|
%{python3_sitelib}/*
|
||||||
%exclude %{_datadir}/doc/sos/{AUTHORS,README.md}
|
%exclude %{_datadir}/doc/sos/{AUTHORS,README.md}
|
||||||
|
|
||||||
@ -46,6 +61,21 @@ install -Dm644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf
|
|||||||
%{_mandir}/man5/*
|
%{_mandir}/man5/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 06 2024 GuoCe <guoce@kylinos.cn> - 4.0-6
|
||||||
|
- Fix CVE-2022-2806
|
||||||
|
|
||||||
|
* Tue Feb 22 2022 weidong <weidong@uniontech.com> - 4.0-5
|
||||||
|
- Fix sos command failed in sos 4.0
|
||||||
|
|
||||||
|
* Mon Jul 19 2021 liugang <liuganga@uniontech.com> - 4.0-4
|
||||||
|
- add UnionTech policy
|
||||||
|
|
||||||
|
* Mon Mar 08 2021 shixuantong <shixuantong@huawei.com> - 4.0-3
|
||||||
|
- add openEuler policy
|
||||||
|
|
||||||
|
* Tue Mar 03 2021 shixuantong <shixuantong@huawei.com> - 4.0-2
|
||||||
|
- fix unable to read configure file /etc/sos/sos.conf issue
|
||||||
|
|
||||||
* Tue Feb 02 2021 shixuantong <shixuantong@huawei.com> - 4.0-1
|
* Tue Feb 02 2021 shixuantong <shixuantong@huawei.com> - 4.0-1
|
||||||
- Upgrade to version 4.0
|
- Upgrade to version 4.0
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user