Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sca-patterns-sle12 for openSUSE:Factory checked in at 2021-06-11 00:19:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sca-patterns-sle12 (Old) and /work/SRC/openSUSE:Factory/.sca-patterns-sle12.new.32437 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sca-patterns-sle12" Fri Jun 11 00:19:17 2021 rev:19 rq:899350 version:1.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/sca-patterns-sle12/sca-patterns-sle12.changes 2021-06-04 00:33:35.484892370 +0200 +++ /work/SRC/openSUSE:Factory/.sca-patterns-sle12.new.32437/sca-patterns-sle12.changes 2021-06-11 00:19:46.877432380 +0200 @@ -1,0 +2,9 @@ +Thu Jun 10 20:12:24 UTC 2021 - Jason Record <jason.rec...@suse.com> + +- Changes in version 1.0.5 + - New regular patterns (2) + + sle12all/zypproxy-000020275.py: zypper commands return Error code HTTP response 0 (TID000020275) + + sle12sp5/intelpstate_125-000020273.py: Frequency scaling driver intel_pstate not loading on some Intel Xeon Scalable processors (bsc#1185758) + - Requires Core library 1.3.3 which contains Core.logFullFile function + +------------------------------------------------------------------- Old: ---- sca-patterns-sle12-1.0.4.tar.gz New: ---- sca-patterns-sle12-1.0.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sca-patterns-sle12.spec ++++++ --- /var/tmp/diff_new_pack.6UL7Bo/_old 2021-06-11 00:19:47.245433019 +0200 +++ /var/tmp/diff_new_pack.6UL7Bo/_new 2021-06-11 00:19:47.245433019 +0200 @@ -25,7 +25,7 @@ %define category SLE Name: sca-patterns-sle12 -Version: 1.0.4 +Version: 1.0.5 Release: 0 Summary: Supportconfig Analysis Patterns for SLE12 License: GPL-2.0-only @@ -33,7 +33,7 @@ URL: https://github.com/g23guy/sca-patterns-sle12 Source: %{name}-%{version}.tar.gz BuildRequires: fdupes -Requires: sca-patterns-base >= 1.3.2 +Requires: sca-patterns-base >= 1.3.3 BuildArch: noarch %description ++++++ sca-patterns-sle12-1.0.4.tar.gz -> sca-patterns-sle12-1.0.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle12-1.0.4/patterns/SLE/sle12all/zypproxy-000020275.py new/sca-patterns-sle12-1.0.5/patterns/SLE/sle12all/zypproxy-000020275.py --- old/sca-patterns-sle12-1.0.4/patterns/SLE/sle12all/zypproxy-000020275.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle12-1.0.5/patterns/SLE/sle12all/zypproxy-000020275.py 2021-06-10 22:10:56.307151043 +0200 @@ -0,0 +1,115 @@ +#!/usr/bin/python +# +# Title: Pattern for TID000020275 +# Description: zypper commands return Error code HTTP response 0 +# Source: Basic Python Pattern Template v0.3.4 +# Options: SLE,Zypper,Proxy,zypproxy,000020275,0,2,0,0 +# Modified: 2021 Jun 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 + +META_CLASS = "SLE" +META_CATEGORY = "Zypper" +META_COMPONENT = "Proxy" +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=000020275" +Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, OVERALL, OVERALL_INFO, OTHER_LINKS) + +############################################################################## +# Local Function Definitions +############################################################################## + +def proxyActive(): + FILE_OPEN = "updates.txt" + SECTION = "bin/env" + CONTENT = [] + if Core.isFileActive(FILE_OPEN): + if Core.getRegExSection(FILE_OPEN, SECTION, CONTENT): + CONFIRMED = re.compile("^http_proxy=|^https_proxy=", re.IGNORECASE) + for LINE in CONTENT: + if CONFIRMED.search(LINE): + return True + else: + Core.updateStatus(Core.ERROR, "ERROR: File not found - " + FILE_OPEN) + + return False + +def proxyAuthFailed(): + FILE_OPEN = "updates.txt" + IDX_FILEPATH = 4 + IDX_SERVER_ID = 4 + IDX_FILENAME = -1 + CURL_TESTS = [] + PROXY_FAILURES = [] + PROXY_AUTH_REQUIRED = False + PROXY_AUTH_FAILED = False + + SECTION_DICT = {} + if Core.listSections(FILE_OPEN, SECTION_DICT): + for LINE in SECTION_DICT: + if "bin/curl --connect-timeout" in SECTION_DICT[LINE]: +# print(CONTENT[LINE]) + CURL_TESTS.append(SECTION_DICT[LINE].split()[IDX_FILEPATH].split("/")[IDX_FILENAME]) + + if( len(CURL_TESTS) > 0 ): +# print(CURL_TESTS) + PROXY_AUTH_FAILED_MSG = re.compile("HTTP/1.1 403 Forbidden|== Info: Authentication problem. Ignoring this", re.IGNORECASE) + for FILE_OPEN in CURL_TESTS: +# print(FILE_OPEN) + CONTENT = [] + if Core.loadFullFile(FILE_OPEN, CONTENT): + PROXY_SERVER = "Unknown" + for LINE in CONTENT: + if "Info: Connected to" in LINE: + PROXY_SERVER = LINE.split()[IDX_SERVER_ID] + if "Proxy-Authorization:" in LINE: + PROXY_AUTH_REQUIRED = True + if PROXY_AUTH_FAILED_MSG.search(LINE): + PROXY_AUTH_FAILED = True + + if( PROXY_AUTH_REQUIRED and PROXY_AUTH_FAILED ): + PROXY_FAILURES.append(PROXY_SERVER) + + return PROXY_FAILURES + +############################################################################## +# Main Program Execution +############################################################################## + +if( proxyActive() ): + FAILED_PROXY_LIST = proxyAuthFailed() + if( len(FAILED_PROXY_LIST) > 0 ): + Core.updateStatus(Core.CRIT, "Zypper proxy authorization failed, check proxy credentials for: " + ' '.join(FAILED_PROXY_LIST)) + else: + Core.updateStatus(Core.IGNORE, "Proxy authorization failure not found") +else: + Core.updateStatus(Core.ERROR, "ERROR: Proxy servers not in use") + +Core.printPatternResults() + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sca-patterns-sle12-1.0.4/patterns/SLE/sle12sp5/intelpstate_125-000020273.py new/sca-patterns-sle12-1.0.5/patterns/SLE/sle12sp5/intelpstate_125-000020273.py --- old/sca-patterns-sle12-1.0.4/patterns/SLE/sle12sp5/intelpstate_125-000020273.py 1970-01-01 01:00:00.000000000 +0100 +++ new/sca-patterns-sle12-1.0.5/patterns/SLE/sle12sp5/intelpstate_125-000020273.py 2021-06-09 21:46:58.534105775 +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: SLES12 SP5 +# Modified: 2021 Jun 09 +# +############################################################################## +# 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 = '4.12.14-122.74' +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() +