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
|
||||
Version: 3.5
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: Utility to evaluate system suitability for RT Linux
|
||||
|
||||
Group: Development/Tools
|
||||
@ -27,12 +27,15 @@ Requires: openssl openssl-devel
|
||||
Requires: stress-ng
|
||||
Requires: perl-interpreter, perl-devel, perl-generators
|
||||
Requires: libmpc, libmpc-devel
|
||||
Requires: dwarves
|
||||
Requires: python3-sphinx
|
||||
BuildArch: noarch
|
||||
|
||||
#Patches
|
||||
Patch1: rteval-Replace-python-ethtool-with-inline-code.patch
|
||||
Patch2: Fix-DMI-WARNING-when-not-running-as-root.patch
|
||||
Patch3: rteval-Don-t-attempt-to-get-DMIinfo-if-there-are-dmi.patch
|
||||
Patch4: rteval-Catch-failures-in-python-dmidecode.patch
|
||||
|
||||
%description
|
||||
The rteval script is a utility for measuring various aspects of
|
||||
@ -48,6 +51,7 @@ to the screen.
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
%build
|
||||
%{__python3} setup.py build
|
||||
@ -69,6 +73,10 @@ to the screen.
|
||||
%{_bindir}/rteval
|
||||
|
||||
%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
|
||||
- Fix "DMI WARNING" when not running as root
|
||||
- Don't attempt to get DMI info if dmidecode returns warnings
|
||||
|
Loading…
Reference in New Issue
Block a user