Catch failures in python-dmidecode
Resolves: rhbz#2164416 Signed-off-by: John Kacur <jkacur@redhat.com>
This commit is contained in:
parent
e79b4e59fc
commit
67d426ed2a
54
rteval-Catch-failures-in-python-dmidecode.patch
Normal file
54
rteval-Catch-failures-in-python-dmidecode.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 606bb31cbf967e5e48c10c7e8ea8bab0685eb410 Mon Sep 17 00:00:00 2001
|
||||||
|
From: John Kacur <jkacur@redhat.com>
|
||||||
|
Date: Thu, 2 Feb 2023 00:47:31 -0500
|
||||||
|
Subject: [PATCH] rteval: Catch failures in python-dmidecode
|
||||||
|
|
||||||
|
python-dmidecode can generate incorrect xml,
|
||||||
|
namely Attribute unit redefined
|
||||||
|
|
||||||
|
Although useful, the dmidecode is not critical to rteval reporting.
|
||||||
|
|
||||||
|
Therefore catch this, and first see if we can at least query the bios.
|
||||||
|
If that works report the bios instead off all, and if that
|
||||||
|
doesn't work, just continue without the dmidecode report.
|
||||||
|
|
||||||
|
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||||
|
---
|
||||||
|
rteval/sysinfo/dmi.py | 14 +++++++++++++-
|
||||||
|
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rteval/sysinfo/dmi.py b/rteval/sysinfo/dmi.py
|
||||||
|
index 83f347623b58..89a7faae06b1 100644
|
||||||
|
--- a/rteval/sysinfo/dmi.py
|
||||||
|
+++ b/rteval/sysinfo/dmi.py
|
||||||
|
@@ -79,6 +79,7 @@ class DMIinfo:
|
||||||
|
|
||||||
|
def __init__(self, logger=None):
|
||||||
|
self.__version = '0.6'
|
||||||
|
+ self._log = logger
|
||||||
|
|
||||||
|
if not dmidecode_avail:
|
||||||
|
logger.log(Log.DEBUG, "DMI info unavailable, ignoring DMI tables")
|
||||||
|
@@ -115,7 +116,18 @@ class DMIinfo:
|
||||||
|
rep_n.newProp("not_available", "1")
|
||||||
|
else:
|
||||||
|
self.__dmixml.SetResultType(dmidecode.DMIXML_DOC)
|
||||||
|
- dmiqry = xmlout.convert_libxml2_to_lxml_doc(self.__dmixml.QuerySection('all'))
|
||||||
|
+ try:
|
||||||
|
+ dmiqry = xmlout.convert_libxml2_to_lxml_doc(self.__dmixml.QuerySection('all'))
|
||||||
|
+ except Exception as ex1:
|
||||||
|
+ self._log.log(Log.DEBUG, f'** EXCEPTION {str(ex1)}, will query BIOS only')
|
||||||
|
+ try:
|
||||||
|
+ # If we can't query 'all', at least query 'bios'
|
||||||
|
+ dmiqry = xmlout.convert_libxml2_to_lxml_doc(self.__dmixml.QuerySection('bios'))
|
||||||
|
+ except Exception as ex2:
|
||||||
|
+ rep_n.addContent("No DMI tables available")
|
||||||
|
+ rep_n.newProp("not_available", "1")
|
||||||
|
+ self._log.log(Log.DEBUG, f'** EXCEPTION {str(ex2)}, dmi info will not be reported')
|
||||||
|
+ return rep_n
|
||||||
|
resdoc = self.__xsltparser(dmiqry)
|
||||||
|
dmi_n = xmlout.convert_lxml_to_libxml2_nodes(resdoc.getroot())
|
||||||
|
rep_n.addChild(dmi_n)
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
10
rteval.spec
10
rteval.spec
@ -1,6 +1,6 @@
|
|||||||
Name: rteval
|
Name: rteval
|
||||||
Version: 3.5
|
Version: 3.5
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Utility to evaluate system suitability for RT Linux
|
Summary: Utility to evaluate system suitability for RT Linux
|
||||||
|
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -27,12 +27,15 @@ Requires: openssl openssl-devel
|
|||||||
Requires: stress-ng
|
Requires: stress-ng
|
||||||
Requires: perl-interpreter, perl-devel, perl-generators
|
Requires: perl-interpreter, perl-devel, perl-generators
|
||||||
Requires: libmpc, libmpc-devel
|
Requires: libmpc, libmpc-devel
|
||||||
|
Requires: dwarves
|
||||||
|
Requires: python3-sphinx
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
#Patches
|
#Patches
|
||||||
Patch1: rteval-Replace-python-ethtool-with-inline-code.patch
|
Patch1: rteval-Replace-python-ethtool-with-inline-code.patch
|
||||||
Patch2: Fix-DMI-WARNING-when-not-running-as-root.patch
|
Patch2: Fix-DMI-WARNING-when-not-running-as-root.patch
|
||||||
Patch3: rteval-Don-t-attempt-to-get-DMIinfo-if-there-are-dmi.patch
|
Patch3: rteval-Don-t-attempt-to-get-DMIinfo-if-there-are-dmi.patch
|
||||||
|
Patch4: rteval-Catch-failures-in-python-dmidecode.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The rteval script is a utility for measuring various aspects of
|
The rteval script is a utility for measuring various aspects of
|
||||||
@ -48,6 +51,7 @@ to the screen.
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%{__python3} setup.py build
|
%{__python3} setup.py build
|
||||||
@ -69,6 +73,10 @@ to the screen.
|
|||||||
%{_bindir}/rteval
|
%{_bindir}/rteval
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 02 2023 John Kacur <jkacur@redhat.com> - 3.5-4
|
||||||
|
- Catch failures in python-dmidecode
|
||||||
|
Resolves: rhbz#2164416
|
||||||
|
|
||||||
* Thu Oct 27 2022 John Kacur <jkacur@redhat.com> - 3.5-3
|
* Thu Oct 27 2022 John Kacur <jkacur@redhat.com> - 3.5-3
|
||||||
- Fix "DMI WARNING" when not running as root
|
- Fix "DMI WARNING" when not running as root
|
||||||
- Don't attempt to get DMI info if dmidecode returns warnings
|
- Don't attempt to get DMI info if dmidecode returns warnings
|
||||||
|
Loading…
Reference in New Issue
Block a user