Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sca-patterns-sle15 for 
openSUSE:Factory checked in at 2021-06-19 23:04:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sca-patterns-sle15 (Old)
 and      /work/SRC/openSUSE:Factory/.sca-patterns-sle15.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sca-patterns-sle15"

Sat Jun 19 23:04:18 2021 rev:14 rq:900802 version:1.0.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/sca-patterns-sle15/sca-patterns-sle15.changes    
2021-06-11 00:19:46.233431262 +0200
+++ 
/work/SRC/openSUSE:Factory/.sca-patterns-sle15.new.2625/sca-patterns-sle15.changes
  2021-06-19 23:05:01.139854424 +0200
@@ -1,0 +2,12 @@
+Fri Jun 18 17:25:06 UTC 2021 - Jason Record <jason.rec...@suse.com>
+
+- Changes in version 1.0.5
+  - New regular patterns (6)
+    + sle15all/blacklist-000019607.py: System exit to emergency shell at boot 
with multipath enabled (TID000019607)
+    + sle15all/btrfsmaster-000018779.py: BTRFS Master TID
+    + sle15all/sizingbtrfs-000018798.py: How to resize/extend a btrfs 
formatted root partition (TID000018798)
+    + sle15sp0/mpiofindpaths-000019511.py: Using the find_multipaths yes 
option in multipath.conf (bsc#1138452)
+    + sle15sp2/mpiopmem-000019884.py: Executing multipath -ll on Optane memory 
based pmem devices returns HDIO_GETGEO failed with 25 (bsc#1182917)
+    + sle15sp3/intelpstate_153-000020273.py: Frequency scaling driver 
intel_pstate not loading on some Intel Xeon Scalable processors (bsc#1185758)
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sca-patterns-sle15-1.0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/blacklist-000019607.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/blacklist-000019607.py
--- old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/blacklist-000019607.py   
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/blacklist-000019607.py   
2021-06-18 18:11:42.697388780 +0200
@@ -0,0 +1,74 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for TID000019607
+# Description: System exit to emergency shell at boot with multipath enabled
+# Source:      Basic Python Pattern Template v0.3.4
+# Options:     SLE,MPIO,Blacklist,blacklist,000019607,0,1,0,0
+# Modified:    2021 Jun 18
+#
+##############################################################################
+# Copyright (C) 2021 SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+
+META_CLASS = "SLE"
+META_CATEGORY = "MPIO"
+META_COMPONENT = "Blacklist"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = "META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019607";
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def ignoredMaps():
+       fileOpen = "mpio.txt"
+       section = "systemctl status multipathd"
+       content = []
+       map_list = {}
+       IDX_WWID = -2
+       CONFIRMED = re.compile("multipathd.*ignoring map", re.IGNORECASE)
+       # Jun 18 12:51:21 server multipathd[3391]: 
364cd98f0cd0b4200263d647def941d99: ignoring map
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if CONFIRMED.search(line):
+                                       map_list[line.split(':')[IDX_WWID]] = 
True
+       return map_list
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+MAPS = ignoredMaps()
+if( len(MAPS) > 0 ):
+       Core.updateStatus(Core.CRIT, "Detected unmapped MPIO devices, consider 
blacklisting: " + ' '.join(MAPS.keys()))
+else:
+       Core.updateStatus(Core.IGNORE, "No MPIO unmapped WWIDs found")
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/btrfsmaster-000018779.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/btrfsmaster-000018779.py
--- old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/btrfsmaster-000018779.py 
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/btrfsmaster-000018779.py 
2021-06-14 19:18:08.113162666 +0200
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for Master TID000018779
+# Description: BTRFS Master TID
+# Modified:    2021 Jun 14
+#
+##############################################################################
+# Copyright (C) 2021 SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+META_CLASS = "SLE"
+META_CATEGORY = "Filesystem"
+META_COMPONENT = "Btrfs"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_MASTER"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_MASTER=https://www.suse.com/support/kb/doc/?id=000018779";
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+BTRFS = False
+FSLIST = SUSE.getFileSystems()
+for FS in FSLIST:
+       if( 'btrfs' in FS['Type'] ):
+               BTRFS = True
+               break
+
+
+if( BTRFS ):
+       Core.updateStatus(Core.REC, "BTRFS Master TID")
+else:
+       Core.updateStatus(Core.ERROR, "ERROR: Btrfs filesystem not found")
+
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/sizingbtrfs-000018798.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/sizingbtrfs-000018798.py
--- old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/sizingbtrfs-000018798.py 
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15all/sizingbtrfs-000018798.py 
2021-06-14 19:18:13.625030344 +0200
@@ -0,0 +1,70 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for TID000018798
+# Description: How to resize/extend a btrfs formatted root partition
+# Source:      Basic Python Pattern Template v0.3.4
+# Options:     SLE,Filesystem,Btrfs,sizingbtrfs,000018798,0,1,0,0
+# Modified:    2021 Jun 14
+#
+##############################################################################
+# Copyright (C) 2021 SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+META_CLASS = "SLE"
+META_CATEGORY = "Filesystem"
+META_COMPONENT = "Btrfs"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000018798|META_LINK_MASTER=https://www.suse.com/support/kb/doc/?id=000018779";
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+THRESHOLD = 85
+ROOT_BTRFS = False
+FSLIST = SUSE.getFileSystems()
+for FS in FSLIST:
+       if( FS['MountPoint'] == '/' ):
+               if( 'btrfs' in FS['Type'] ):
+                       ROOT_BTRFS = True
+                       break
+
+
+if( ROOT_BTRFS ):
+       if( FS['PercentUsed'] >= THRESHOLD ):
+               Core.updateStatus(Core.REC, "How to resize Btrfs root 
filesystem if needed")
+       else:
+               Core.updateStatus(Core.IGNORE, "Used space " + 
str(FS['PercentUsed']) + "% less than " + str(THRESHOLD) + "%")
+else:
+       Core.updateStatus(Core.ERROR, "ERROR: Root btrfs filesystem not found")
+
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp0/mpiofindpaths-000019511.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp0/mpiofindpaths-000019511.py
--- 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp0/mpiofindpaths-000019511.py   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp0/mpiofindpaths-000019511.py   
    2021-06-18 19:13:03.043706414 +0200
@@ -0,0 +1,81 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for TID000019511
+# Description: Using the find_multipaths yes option in multipath.conf
+# Modified:    2021 Jun 18
+#
+##############################################################################
+# Copyright (C) 2021 SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+
+META_CLASS = "SLE"
+META_CATEGORY = "MPIO"
+META_COMPONENT = "Paths"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019511|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1138452";
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def findMultipaths():
+       fileOpen = "mpio.txt"
+       section = "/multipath.conf"
+       content = []
+       CONFIRMED = re.compile("find_multipaths .*yes", re.IGNORECASE)
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if CONFIRMED.search(line):
+                                       return True
+       return False
+
+def multipathsFound():
+       fileOpen = "mpio.txt"
+       section = "bin/multipath -ll"
+       content = []
+       if Core.getRegExSection(fileOpen, section, content):
+               for line in content:
+                       if( line.startswith('`') ):
+                               return True
+       return False
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+if( findMultipaths() ):
+       if( multipathsFound() ):
+               Core.updateStatus(Core.WARN, "Detected find_multipaths setting, 
consider running multipath for new LUNs")
+       else:
+               Core.updateStatus(Core.IGNORE, "No multipath devices found")
+else:
+       Core.updateStatus(Core.ERROR, "ERROR: find_multipaths not configured")
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp2/mpiopmem-000019884.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp2/mpiopmem-000019884.py
--- old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp2/mpiopmem-000019884.py    
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp2/mpiopmem-000019884.py    
2021-06-16 22:46:00.364300640 +0200
@@ -0,0 +1,93 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for TID000019884
+# Description: Executing multipath -ll on Optane memory based pmem devices 
returns HDIO_GETGEO failed with 25
+# Source:      Package Version Pattern Template v0.3.8
+# Options:     
SLE,DM,MPIO,mpiopmem,000019884,0,multipath-tools,0.8.2+166.7501a27-4.9.1,0,1
+# Modified:    2021 Jun 16
+#
+##############################################################################
+# Copyright (C) 2021, SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+META_CLASS = "SLE"
+META_CATEGORY = "DM"
+META_COMPONENT = "MPIO"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019884|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1182917";
+
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def mpioPmemErrors():
+       fileOpen = "mpio.txt"
+       section = "bin/multipath -ll"
+       content = []
+       CONFIRMED = re.compile("pmem.*HDIO_GETGEO failed with 25", 
re.IGNORECASE)
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if CONFIRMED.search(line):
+                                       return True
+       return False
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+IN_SCOPE = False
+RPM_NAME = 'multipath-tools'
+RPM_VERSION_FIXED = ''
+
+SERVER = SUSE.getHostInfo()
+if( SERVER['DistroVersion'] == 15 ):
+       if( SERVER['DistroPatchLevel'] == 2 ):
+               RPM_VERSION_FIXED = '0.8.2+166.7501a27-4.9.1'
+               IN_SCOPE = True
+
+if( IN_SCOPE ):
+       if( SUSE.packageInstalled(RPM_NAME) ):
+               INSTALLED_VERSION = SUSE.compareRPM(RPM_NAME, RPM_VERSION_FIXED)
+               if( INSTALLED_VERSION >= 0 ):
+                       Core.updateStatus(Core.IGNORE, "Bug fixes applied for " 
+ RPM_NAME + "")
+               else:
+                       if( mpioPmemErrors() ):
+                               Core.updateStatus(Core.WARN, "Optane memory 
based devices with multipath errors")
+                       else:
+                               Core.updateStatus(Core.IGNORE, "Optane memory 
based device errors not found")
+       else:
+               Core.updateStatus(Core.ERROR, "ERROR: " + RPM_NAME + " not 
installed")
+else:
+       Core.updateStatus(Core.ERROR, "ERROR: Outside distro scope")
+
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp3/intelpstate_153-000020273.py 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp3/intelpstate_153-000020273.py
--- 
old/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp3/intelpstate_153-000020273.py 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/sca-patterns-sle15-1.0.5/patterns/SLE/sle15sp3/intelpstate_153-000020273.py 
    2021-06-16 22:31:26.342857052 +0200
@@ -0,0 +1,127 @@
+#!/usr/bin/python
+#
+# Title:       Pattern for TID000020273
+# Description: Frequency scaling driver intel_pstate not loading on some Intel 
Xeon Scalable processors
+# Source:      Basic Python Pattern Template v0.3.4
+# Options:     SLE,Kernel,Drivers,intelpstate,000020273,1185758,3,0,0
+# Distro:      SLES15 SP3
+# Modified:    2021 Jun 16
+#
+##############################################################################
+# Copyright (C) 2021 SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+META_CLASS = "SLE"
+META_CATEGORY = "Kernel"
+META_COMPONENT = "Drivers"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000020273|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1185758";
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def cpuModelAffected():
+       fileOpen = "hardware.txt"
+       section = "/proc/cpuinfo"
+       content = []
+       CPU = False
+       FAM = False
+       MOD = False
+       CONFIRM_CPU = re.compile("^model name.*:.*Intel.*Xeon", re.IGNORECASE)
+       CONFIRM_FAM = re.compile("^cpu family.*:.*6", re.IGNORECASE)
+       CONFIRM_MOD = re.compile("^model.*:.*106", re.IGNORECASE)
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if CONFIRM_CPU.search(line):
+                                       CPU = True
+                               if CONFIRM_FAM.search(line):
+                                       FAM = True
+                               if CONFIRM_MOD.search(line):
+                                       MOD = True
+       else:
+               Core.updateStatus(Core.ERROR, "ERROR: File not found - " + 
fileOpen)
+
+       if( CPU and FAM and MOD ):
+               return True
+       else:
+               return False
+
+def noWorkAround():
+       fileOpen = "hardware.txt"
+       section = "/proc/cmdline"
+       content = []
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if( 'intel_pstate=no_hwp' in line ):
+                                       return False
+       else:
+               Core.updateStatus(Core.ERROR, "ERROR: File not found - " + 
fileOpen)
+
+       return True
+
+def errorMsgFound():
+       fileOpen = "boot.txt"
+       section = "dmesg -T"
+       content = []
+       CONFIRMED = re.compile("intel_pstate: CPU model not supported", 
re.IGNORECASE)
+       if Core.isFileActive(fileOpen):
+               if Core.getRegExSection(fileOpen, section, content):
+                       for line in content:
+                               if CONFIRMED.search(line):
+                                       return True
+       else:
+               Core.updateStatus(Core.ERROR, "ERROR: File not found - " + 
fileOpen)
+
+       return False
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+KERNEL_VERSION = '5.3.18-59.5'
+INSTALLED_VERSION = SUSE.compareKernel(KERNEL_VERSION)
+if( INSTALLED_VERSION >= 0 ):
+       Core.updateStatus(Core.IGNORE, "Bug fixes applied in kernel version " + 
KERNEL_VERSION + " or higher")
+else:
+       if( cpuModelAffected() ):
+               if( noWorkAround() ):
+                       if( errorMsgFound() ):
+                               Core.updateStatus(Core.CRIT, "Frequency scaling 
driver intel_pstate not loading")
+                       else:
+                               Core.updateStatus(Core.WARN, "Possible for 
frequency scaling driver intel_pstate to not load")
+               else:
+                       Core.updateStatus(Core.IGNORE, "Workaround 
intel_pstate=no_hwp detected")
+       else:
+               Core.updateStatus(Core.ERROR, "ERROR: Invalid CPU Model")
+
+Core.printPatternResults()
+

Reply via email to