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-05-20 19:24:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sca-patterns-sle15 (Old) and /work/SRC/openSUSE:Factory/.sca-patterns-sle15.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sca-patterns-sle15" Thu May 20 19:24:59 2021 rev:10 rq:894411 version:1.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/sca-patterns-sle15/sca-patterns-sle15.changes 2021-05-05 20:41:07.990619194 +0200 +++ /work/SRC/openSUSE:Factory/.sca-patterns-sle15.new.2988/sca-patterns-sle15.changes 2021-05-20 19:25:22.449865269 +0200 @@ -1,0 +2,21 @@ +Wed May 19 15:52:54 UTC 2021 - Jason Record <jason.rec...@suse.com> + +- Updated regular patterns (1) + + sle15all/lvm-00003.pl: Physical volumes can be removed or damaged and appear missing. This pattern looks for missing physical volumes. + +------------------------------------------------------------------- +Tue May 18 21:41:12 UTC 2021 - Jason Record <jason.rec...@suse.com> + +- Changes in version 1.0.3 + - New regular patterns (9) + + sle15all/lvm-00003.pl: Physical volumes can be removed or damaged and appear missing. This pattern looks for missing physical volumes. + + sle15all/lvm-00004.pl: LMV Check sum errors may indicate corrupted LVM metadata + + sle15all/lvm-00005.pl: Duplicate volume groups are usually a configuration issue + + sle15all/proxy-00003.pl: Checks for proxy environment variables + + sle15sp1/namespace-000019571.py: Activation of multiple namespaces simultaneously may lead to an activation failure (bsc#1157778) + + sle15sp1/nfit-000019688.py: dmesg shows NFIT related messages after updating the kernel (bsc#1159356) + + sle15sp1/nfsipv6_151-000019618.py: Timeout when attempting NFS mount over IPv6 (bsc#1144162) + + sle15sp1/nfsperf-151-000019615.py: Performance loss when writing large files over NFS (bsc#1163403) + + sle15sp2/ipmitool-000020250.py: hanging on getting cipher suites (bsc#1185684) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sca-patterns-sle15.spec ++++++ --- /var/tmp/diff_new_pack.gPlXQz/_old 2021-05-20 19:25:23.249861988 +0200 +++ /var/tmp/diff_new_pack.gPlXQz/_new 2021-05-20 19:25:23.253861972 +0200 @@ -33,7 +33,7 @@ URL: https://github.com/g23guy/sca-patterns-sle15 Source: %{name}-%{version}.tar.gz BuildRequires: fdupes -Requires: sca-patterns-base +Requires: sca-patterns-base >= 1.3.2 BuildArch: noarch %description ++++++ sca-patterns-sle15-1.0.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00003.pl new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00003.pl --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00003.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00003.pl 2021-05-19 17:49:49.594705613 +0200 @@ -0,0 +1,100 @@ +#!/usr/bin/perl -w + +# Title: Check for missing LVM UUIDs +# Description: Physical volumes can be removed or damaged and appear missing. This pattern looks for missing physical volumes. +# Modified: 2021 May 19 + +############################################################################## +# Copyright (C) 2013,2012-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> +# +############################################################################## + +############################################################################## +# Module Definition +############################################################################## + +use strict; +use warnings; +use SDP::Core; +use SDP::SUSE; + +############################################################################## +# Overriden (eventually or in part) from SDP::Core Module +############################################################################## + +@PATTERN_RESULTS = ( + PROPERTY_NAME_CLASS."=SLE", + PROPERTY_NAME_CATEGORY."=LVM", + PROPERTY_NAME_COMPONENT."=Disk", + PROPERTY_NAME_PATTERN_ID."=$PATTERN_ID", + PROPERTY_NAME_PRIMARY_LINK."=META_LINK_TID", + PROPERTY_NAME_OVERALL."=$GSTATUS", + PROPERTY_NAME_OVERALL_INFO."=None", + "META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000016470", + "META_LINK_SUSEBlog=https://www.suse.com/c/recovering-lost-lvm-volume-disk/" +); + +############################################################################## +# Local Function Definitions +############################################################################## + +sub check_missing_uuids { + SDP::Core::printDebug('> check_missing_uuids', 'BEGIN'); + use constant HEADER_LINES => 0; + my $RCODE = 0; + my $FILE_OPEN = 'lvm.txt'; + my $SECTION = 'pvscan'; + my @CONTENT = (); + my @LINE_CONTENT = (); + my $LINE = 0; + + if ( SDP::Core::getSection($FILE_OPEN, $SECTION, \@CONTENT) ) { + foreach $_ (@CONTENT) { + next if ( $LINE++ < HEADER_LINES ); # Skip header lines + next if ( /^\s*$/ ); # Skip blank lines + if ( /Couldn\'t find device with uuid/i ) { + s/[\',\.]|^\s+//g; + SDP::Core::printDebug("LINE $LINE", $_); + @LINE_CONTENT = split(/\s+/, $_); + $RCODE++; + last; + } + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "Cannot find \"$SECTION\" section in $FILE_OPEN"); + } + if ( $RCODE ) { + SDP::Core::updateStatus(STATUS_CRITICAL, "Missing LVM disk with UUID $LINE_CONTENT[5]"); + } else { + SDP::Core::updateStatus(STATUS_ERROR, "All LVM disk UUIDs found"); + } + SDP::Core::printDebug("< check_missing_uuids", "Returns: $RCODE"); + return $RCODE; +} + +############################################################################## +# Main Program Execution +############################################################################## + +SDP::Core::processOptions(); + check_missing_uuids(); +SDP::Core::printPatternResults(); + +exit; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00004.pl new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00004.pl --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00004.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00004.pl 2021-05-18 18:22:53.139414976 +0200 @@ -0,0 +1,94 @@ +#!/usr/bin/perl + +# Title: Check for LVM Metadata Check Sum Errors +# Description: LMV Check sum errors may indicate corrupted LVM metadata +# Modified: 2021 May 18 + +############################################################################## +# Copyright (C) 2013-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> + +############################################################################## + +############################################################################## +# Module Definition +############################################################################## +use strict; +use warnings; +use SDP::Core; +use SDP::SUSE; + +############################################################################## +# Overriden (eventually or in part) from SDP::Core Module +############################################################################## + +@PATTERN_RESULTS = ( + PROPERTY_NAME_CLASS."=SLE", + PROPERTY_NAME_CATEGORY."=Disk", + PROPERTY_NAME_COMPONENT."=LVM", + PROPERTY_NAME_PATTERN_ID."=$PATTERN_ID", + PROPERTY_NAME_PRIMARY_LINK."=META_LINK_Blog", + PROPERTY_NAME_OVERALL."=$GSTATUS", + PROPERTY_NAME_OVERALL_INFO."=None", + "META_LINK_Blog=https://www.suse.com/c/recovering-lost-lvm-volume-disk/" +); + +############################################################################## +# Local Function Definitions +############################################################################## + +sub check_lvm_errors { + SDP::Core::printDebug('> check_lvm_errors', 'BEGIN'); + my $RCODE = 0; + my $FILE_OPEN = 'lvm.txt'; + my $SECTION = 'pvscan'; + my @CONTENT = (); + my $LINE = 0; + + if ( SDP::Core::getSection($FILE_OPEN, $SECTION, \@CONTENT) ) { + foreach $_ (@CONTENT) { + next if ( /^\s*$/ ); # Skip blank lines + if ( /Checksum error/i ) { + SDP::Core::printDebug("LINE $LINE", $_); + $RCODE++; + last; + } + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "Cannot find \"$SECTION\" section in $FILE_OPEN"); + } + if ( $RCODE ) { + SDP::Core::updateStatus(STATUS_CRITICAL, "pvscan: Detected LVM check sum errors, consider vgcfsrestore"); + } else { + SDP::Core::updateStatus(STATUS_ERROR, "pvscan: Reported no check sum errors"); + } + SDP::Core::printDebug("< check_lvm_errors", "Returns: $RCODE"); + return $RCODE; +} + +############################################################################## +# Main Program Execution +############################################################################## + +SDP::Core::processOptions(); + check_lvm_errors(); +SDP::Core::printPatternResults(); + +exit; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00005.pl new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00005.pl --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00005.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/lvm-00005.pl 2021-05-18 18:24:40.392711104 +0200 @@ -0,0 +1,101 @@ +#!/usr/bin/perl + +# Title: Check for Duplicate LVM Volume Groups +# Description: Duplicate volume groups are usually a configuration issue +# Modified: 2021 May 18 + +############################################################################## +# Copyright (C) 2012-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> + +############################################################################## + +############################################################################## +# Module Definition +############################################################################## +use strict; +use warnings; +use SDP::Core; +use SDP::SUSE; + +############################################################################## +# Overriden (eventually or in part) from SDP::Core Module +############################################################################## + +@PATTERN_RESULTS = ( + PROPERTY_NAME_CLASS."=SLE", + PROPERTY_NAME_CATEGORY."=Disk", + PROPERTY_NAME_COMPONENT."=LVM", + PROPERTY_NAME_PATTERN_ID."=$PATTERN_ID", + PROPERTY_NAME_PRIMARY_LINK."=META_LINK_TID", + PROPERTY_NAME_OVERALL."=$GSTATUS", + PROPERTY_NAME_OVERALL_INFO."=None", + "META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000017046" +); + +############################################################################## +# Local Function Definitions +############################################################################## + +sub check_dupvg { + SDP::Core::printDebug('> check_dupvg', 'BEGIN'); + my $RCODE = 0; + my $FILE_OPEN = 'lvm.txt'; + my $SECTION = 'pvscan'; + my @CONTENT = (); + my @LINE_CONTENT = (); + my $LINE = 0; + + if ( SDP::Core::getSection($FILE_OPEN, $SECTION, \@CONTENT) ) { + foreach $_ (@CONTENT) { + next if ( /^\s*$/ ); # Skip blank lines + if ( /duplicate vg name/i ) { + SDP::Core::printDebug("LINE $LINE", $_); + @LINE_CONTENT = split(/:\s+/, $_); + $RCODE++; + last; + } + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "Cannot find \"$SECTION\" section in $FILE_OPEN"); + } + if ( $RCODE ) { + if ( $LINE_CONTENT[1] =~ /duplicate vg name/i ) { + SDP::Core::updateStatus(STATUS_WARNING, "$LINE_CONTENT[1]"); + } else { + SDP::Core::updateStatus(STATUS_WARNING, 'Duplicate LVM Volume Group(s) Found'); + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "No Duplicate LVM Volume Groups Found"); + } + SDP::Core::printDebug("< check_dupvg", "Returns: $RCODE"); + return $RCODE; +} + +############################################################################## +# Main Program Execution +############################################################################## + +SDP::Core::processOptions(); + check_dupvg(); +SDP::Core::printPatternResults(); + +exit; + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/proxy-00003.pl new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/proxy-00003.pl --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/proxy-00003.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15all/proxy-00003.pl 2021-05-13 14:12:13.013400718 +0200 @@ -0,0 +1,169 @@ +#!/usr/bin/perl + +# Title: Proxy configured but not active +# Description: Checks for proxy environment variables +# Modified: 2013 Jun 24 + +############################################################################## +# Copyright (C) 2013 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 (jrec...@suse.com) + +############################################################################## + +############################################################################## +# Module Definition +############################################################################## + +use strict; +use warnings; +use SDP::Core; +use SDP::SUSE; + +############################################################################## +# Overriden (eventually or in part) from SDP::Core Module +############################################################################## + +@PATTERN_RESULTS = ( + PROPERTY_NAME_CLASS."=SLE", + PROPERTY_NAME_CATEGORY."=Proxy", + PROPERTY_NAME_COMPONENT."=Config", + PROPERTY_NAME_PATTERN_ID."=$PATTERN_ID", + PROPERTY_NAME_PRIMARY_LINK."=META_LINK_TID", + PROPERTY_NAME_OVERALL."=$GSTATUS", + PROPERTY_NAME_OVERALL_INFO."=None", + "META_LINK_TID=http://www.suse.com/support/kb/doc.php?id=7006745" +); + +my %PROXY_ACTIVE = (); +my %PROXY_CONFIG = (); + +############################################################################## +# Local Function Definitions +############################################################################## + +sub getProxyActive { + SDP::Core::printDebug('> getProxyActive', 'BEGIN'); + my $RCODE = 0; + my $FILE_OPEN = 'env.txt'; + my $SECTION = 'env'; + my @CONTENT = (); + + if ( SDP::Core::getSection($FILE_OPEN, $SECTION, \@CONTENT) ) { + foreach $_ (@CONTENT) { + next if ( m/^\s*$/ ); # Skip blank lines + if ( /(\D+_proxy)=(.*)/ ) { + SDP::Core::printDebug("PROCESSING", $_); + $PROXY_ACTIVE{"$1"} = $2; + } + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "ERROR: getProxyActive(): Cannot find \"$SECTION\" section in $FILE_OPEN"); + } + $RCODE = scalar keys %PROXY_ACTIVE; + if ( $RCODE ) { + if ( $OPT_LOGLEVEL >= LOGLEVEL_DEBUG ) { + my $KEY; + my $VALUE; + print(' %PROXY_ACTIVE = '); + while ( ($KEY, $VALUE) = each(%PROXY_ACTIVE) ) { + print("$KEY => \"$VALUE\" "); + } + print("\n"); + } + } + SDP::Core::printDebug("< getProxyActive", "Returns: $RCODE"); + return $RCODE; +} + +sub getProxyConfigured { + SDP::Core::printDebug('> getProxyConfigured', 'BEGIN'); + my $RCODE = 0; + my $FILE_OPEN = 'sysconfig.txt'; + my $SECTION = '/etc/sysconfig/proxy'; + my @CONTENT = (); + + if ( SDP::Core::getSection($FILE_OPEN, $SECTION, \@CONTENT) ) { + foreach $_ (@CONTENT) { + next if ( m/^\s*$|^#|^;/ ); # Skip blank lines + if ( /PROXY_ENABLED.*NO/i ) { + SDP::Core::printDebug("PUNT", $_); + %PROXY_CONFIG = (); + last; + } elsif ( /(\D+_PROXY)=(.*)/ ) { + my $KEY = lc($1); + my $VALUE = $2; + $VALUE =~ s/'|"//g; + my $VALUE_LEN = length($VALUE); + SDP::Core::printDebug("PROCESSED {$KEY}", "String: $VALUE, Length: $VALUE_LEN"); + if ( $VALUE_LEN > 0 ) { + $PROXY_CONFIG{$KEY} = $VALUE; + } + } + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "ERROR: getProxyConfigured(): Cannot find \"$SECTION\" section in $FILE_OPEN"); + } + $RCODE = scalar keys %PROXY_CONFIG; + if ( $RCODE ) { + if ( $OPT_LOGLEVEL >= LOGLEVEL_DEBUG ) { + my $KEY; + my $VALUE; + print(' %PROXY_CONFIG = '); + while ( ($KEY, $VALUE) = each(%PROXY_CONFIG) ) { + print("$KEY => \"$VALUE\" "); + } + print("\n"); + } + } + SDP::Core::printDebug("< getProxyConfigured", "Returns: $RCODE"); + return $RCODE; +} + +############################################################################## +# Main Program Execution +############################################################################## + +SDP::Core::processOptions(); + if ( getProxyConfigured() ) { + my @PROXY_FAILED = (); + if ( getProxyActive() ) { + my $KEY; + while ( ($KEY) = each(%PROXY_CONFIG) ) { + if ( ! defined $PROXY_ACTIVE{$KEY} ) { + SDP::Core::printDebug(" PUSH FAILED", "$KEY"); + push(@PROXY_FAILED, $KEY); + } + } + if ( $#PROXY_FAILED >= 0 ) { + SDP::Core::updateStatus(STATUS_CRITICAL, "Configured Proxies that are Inactive: @PROXY_FAILED"); + } else { + my @PROXIES = keys (%PROXY_ACTIVE); + SDP::Core::updateStatus(STATUS_ERROR, "All Configured Proxies are Active: @PROXIES"); + } + } else { + @PROXY_FAILED = keys (%PROXY_CONFIG); + SDP::Core::updateStatus(STATUS_CRITICAL, "All Configured Proxies are Inactive: @PROXY_FAILED"); + } + } else { + SDP::Core::updateStatus(STATUS_ERROR, "ERROR: No Configured proxies to check"); + } +SDP::Core::printPatternResults(); + +exit; + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/namespace-000019571.py new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/namespace-000019571.py --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/namespace-000019571.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/namespace-000019571.py 2021-05-13 17:40:18.539925904 +0200 @@ -0,0 +1,68 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000019571 +# Description: Activation of multiple namespaces simultaneously may lead to an activation failure +# Source: Basic Python Pattern Template v0.3.4 +# Options: SLE,Kernel,Namespace,namespace,000019571,1157778,1,1,0 +# Distro: SLES15 SP1 +# Modified: 2021 May 13 +# +############################################################################## +# 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 = "Namespace" +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=000019571|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1157778" +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Main Program Execution +############################################################################## + +PACKAGE = "ndctl" +AFFECTED_ARCH = 'ppc' + +SERVER = SUSE.getHostInfo() +if( AFFECTED_ARCH in SERVER['Architecture'].lower() ): + if( SUSE.packageInstalled(PACKAGE) ): + KERNEL_VERSION = '4.12.14-197.29' + INSTALLED_VERSION = SUSE.compareKernel(KERNEL_VERSION) + if( INSTALLED_VERSION < 0 ): + Core.updateStatus(Core.WARN, "Activating multiple namespaces may fail, update to apply fixes") + else: + Core.updateStatus(Core.IGNORE, "Bug fixes applied in kernel version " + KERNEL_VERSION + " or higher") + else: + Core.updateStatus(Core.ERROR, "ERROR: RPM package " + PACKAGE + " not installed") +else: + Core.updateStatus(Core.ERROR, "ERROR: Invalid architecture, only " + AFFECTED_ARCH + " affected") + +Core.printPatternResults() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfit-000019688.py new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfit-000019688.py --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfit-000019688.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfit-000019688.py 2021-05-13 01:20:24.093149772 +0200 @@ -0,0 +1,78 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000019688 +# Description: dmesg shows NFIT related messages after updating the kernel +# Source: Basic Python Pattern Template v0.3.4 +# Options: SLE,Kernel,nfit,nfit,000019688,1159356,1,0,0 +# Distro: SLES15 SP1 +# Modified: 2021 May 12 +# +############################################################################## +# 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 = "nfit" +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=000019688|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1159356" +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Local Function Definitions +############################################################################## + +def symbolErrors(): + fileOpen = "boot.txt" + section = "/dmesg" + content = [] + CONFIRMED = re.compile("nfit:.*Unknown symbol nvdimm_blk_region_create|nfit:.*Unknown symbol nvdimm_region_notify|nfit:.*Unknown symbol to_nvdimm_bus", 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 +############################################################################## + +DRIVER_NAME = 'nfit' +DRIVER_INFO = SUSE.getDriverInfo(DRIVER_NAME) +if( DRIVER_INFO['loaded'] ): + if( symbolErrors() ): + Core.updateStatus(Core.WARN, "Detected nfit symbol errors nvdimm_blk_region, nvdimm_region_notify or to_nvdimm_buss, review work around or upgrade") + else: + Core.updateStatus(Core.IGNORE, "No nfit symbol errors found") +else: + Core.updateStatus(Core.ERROR, "ERROR: Driver not loaded - " + DRIVER_NAME) + + +Core.printPatternResults() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsipv6_151-000019618.py new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsipv6_151-000019618.py --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsipv6_151-000019618.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsipv6_151-000019618.py 2021-05-12 16:29:12.781512118 +0200 @@ -0,0 +1,78 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000019618 +# Description: Timeout when attempting NFS mount over IPv6 +# Source: Basic Python Pattern Template v0.3.4 +# Options: SLE,NFS,Timeout,nfsipv6,000019618,1144162,0,1,0 +# Distro: SLES15 SP1 +# Modified: 2021 May 12 +# +############################################################################## +# 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 os +import Core +import SUSE + +META_CLASS = "SLE" +META_CATEGORY = "NFS" +META_COMPONENT = "Timeout" +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=000019618|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1144162" +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Main Program Execution +############################################################################## + +PACKAGE = "nfs-client" +KERNEL_VERSION = '4.12.14-197.34' +FEATURE = 'scatter-gather' +IPV6_DEVICES = [] +FEATURELESS_IPV6_DEVICES = [] + +if( SUSE.packageInstalled(PACKAGE) ): # nfs package for mounting installed + INSTALLED_VERSION = SUSE.compareKernel(KERNEL_VERSION) + if( INSTALLED_VERSION < 0 ): # Running the affected kernel version + NETWORKS = SUSE.getNetworkInterfaces() + for DEVICE in NETWORKS.keys(): + if( len(NETWORKS[DEVICE]['addr6']) > 0 ): # Find IPv6 enabled interfaces + IPV6_DEVICES.append(DEVICE) + if( FEATURE in NETWORKS[DEVICE] ): + if( not NETWORKS[DEVICE][FEATURE] ): # With scatter-gather disabled + FEATURELESS_IPV6_DEVICES.append(DEVICE) + if( len(IPV6_DEVICES) > 0 ): + if( len(FEATURELESS_IPV6_DEVICES) > 0 ): + Core.updateStatus(Core.WARN, "Timeouts may occur attempting NFS mounts over IPv6 on: " + ' '.join(FEATURELESS_IPV6_DEVICES)) + else: + Core.updateStatus(Core.IGNORE, "All IPv6 network devices have " + str(FEATURE) + " enabled") + else: + Core.updateStatus(Core.ERROR, "ERROR: No IPv6 network devices found") + else: + Core.updateStatus(Core.IGNORE, "Bug fixes applied in kernel version " + KERNEL_VERSION + " or higher") +else: + Core.updateStatus(Core.ERROR, "ERROR: RPM package " + PACKAGE + " not installed") + +Core.printPatternResults() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsperf-151-000019615.py new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsperf-151-000019615.py --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsperf-151-000019615.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp1/nfsperf-151-000019615.py 2021-05-10 18:07:17.303983192 +0200 @@ -0,0 +1,69 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000019615 +# Description: Performance loss when writing large files over NFS +# Source: Kernel Package Version Pattern Template v0.1.2 +# Options: SLE,NFS,Performance,nfsperf-125,000019615,1163403,4.12.14-122.20,0,1 +# Distro: SLES15 SP1 +# Modified: 2021 May 10 +# +############################################################################## +# 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 = "NFS" +META_COMPONENT = "Performance" +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=000019615|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1163403" + +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Main Program Execution +############################################################################## + +KERNEL_VERSION_FIXED = '4.12.14-197.40' +NFSMOUNTS = False + +INSTALLED_VERSION = SUSE.compareKernel(KERNEL_VERSION_FIXED) +if( INSTALLED_VERSION >= 0 ): + Core.updateStatus(Core.IGNORE, "Bug fixes applied in kernel version " + KERNEL_VERSION_FIXED + " or higher") +else: + FSLIST = SUSE.getFileSystems() + for FS in FSLIST: + if( FS['Type'].lower() == 'nfs' or FS['Type'].lower() == 'nfs4' ): + if( FS['Mounted'] ): + NFSMOUNTS = True + if( NFSMOUNTS ): + Core.updateStatus(Core.WARN, "Writing large files to NFS mounts may be susceptible to performance degradation") + else: + Core.updateStatus(Core.ERROR, "ERROR: NFS mounts not found") + +Core.printPatternResults() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp2/ipmitool-000020250.py new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp2/ipmitool-000020250.py --- old/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp2/ipmitool-000020250.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle15-1.0.3/patterns/SLE/sle15sp2/ipmitool-000020250.py 2021-05-18 23:14:35.746295044 +0200 @@ -0,0 +1,68 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000020250 +# Description: ipmitool: lanplus: hanging on getting cipher suites +# Source: Package Version Pattern Template v0.3.8 +# Options: SLE,Monitoring,IPMI,ipmitool,000020250,1185684,ipmitool,0,ipmitool-1.8.18+git20200204.7ccea28-1.22,0 +# Distro: SLES15 SP2 +# Modified: 2021 May 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 os +import Core +import SUSE + +META_CLASS = "SLE" +META_CATEGORY = "Monitoring" +META_COMPONENT = "IPMI" +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=000020250|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1185684" + +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Main Program Execution +############################################################################## + +RPM_NAME = 'ipmitool' +RPM_VERSION_BROKE = '1.8.18+git20200204.7ccea28-1.22' +RPM_VERSION_FIXED = RPM_VERSION_BROKE +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: +# INSTALLED_VERSION = SUSE.compareRPM(RPM_NAME, RPM_VERSION_BROKE) + if( INSTALLED_VERSION == 0 ): + Core.updateStatus(Core.WARN, "The ipmitool may hang on ipmi devices without using the ciphersuite option") + else: + Core.updateStatus(Core.IGNORE, "Previously unaffected version of " + RPM_NAME + " installed") +else: + Core.updateStatus(Core.ERROR, "ERROR: " + RPM_NAME + " not installed") + + +Core.printPatternResults() +