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() +