svn commit: r493266 - in head/net-mgmt/nagios-check_smartmon: . files

Pierre Guinoiseau pierre at guinoiseau.nz
Thu Feb 21 21:33:51 UTC 2019


Hi,

I’m getting this error now after this change:

Info:    Traceback (most recent call last):
 File "/usr/local/libexec/nagios/check_smartmon", line 309, in <module>
   (healthStatus, temperature) = parseOutput(healthStatusOutput, temperatureOutput, devtype)
 File "/usr/local/libexec/nagios/check_smartmon", line 220, in parseOutput
   vprint(3, "Temperature: %d" %temperature)
UnboundLocalError: local variable 'temperature' referenced before assignment

Cheers,
Pierre

> On 19/02/2019, at 04:08, Dan Langille <dvl at FreeBSD.org> wrote:
> 
> Author: dvl
> Date: Mon Feb 18 15:08:46 2019
> New Revision: 493266
> URL: https://svnweb.freebsd.org/changeset/ports/493266
> 
> Log:
>  Patch check_smartmon to cater for changed smartctl output
> 
>  We previously patched the code to look for:
> 
>  SMART STATUS RETURN: incomplete response, ATA output registers missing
> 
>  That line is now:
> 
>  SMART Status not supported: Incomplete response, ATA output registers missing
> 
>  It also seems like the temperature has moved from part 190 to 194.
> 
>  PR:		235475
>  Approved by:	Krzysztof (maintainer)
>  MFH:		2019Q1
> 
> Modified:
>  head/net-mgmt/nagios-check_smartmon/Makefile
>  head/net-mgmt/nagios-check_smartmon/files/patch-check_smartmon
> 
> Modified: head/net-mgmt/nagios-check_smartmon/Makefile
> ==============================================================================
> --- head/net-mgmt/nagios-check_smartmon/Makefile	Mon Feb 18 15:01:50 2019	(r493265)
> +++ head/net-mgmt/nagios-check_smartmon/Makefile	Mon Feb 18 15:08:46 2019	(r493266)
> @@ -3,7 +3,7 @@
> 
> PORTNAME=	check_smartmon
> PORTVERSION=	20100318
> -PORTREVISION=	2
> +PORTREVISION=	3
> CATEGORIES=	net-mgmt
> MASTER_SITES=	http://ftp.bsdserwis.com/pub/FreeBSD/ports/distfiles/
> PKGNAMEPREFIX=	nagios-
> 
> Modified: head/net-mgmt/nagios-check_smartmon/files/patch-check_smartmon
> ==============================================================================
> --- head/net-mgmt/nagios-check_smartmon/files/patch-check_smartmon	Mon Feb 18 15:01:50 2019	(r493265)
> +++ head/net-mgmt/nagios-check_smartmon/files/patch-check_smartmon	Mon Feb 18 15:08:46 2019	(r493266)
> @@ -1,26 +1,42 @@
> ---- check_smartmon.orig	2015-07-22 17:32:58 UTC
> -+++ check_smartmon
> -@@ -59,7 +59,7 @@ def parseCmdLine(args):
> -                         metavar="LEVEL", help="set verbosity level to LEVEL; defaults to 0 (quiet), \
> -                                         possible values go up to 3")
> -         parser.add_option("-t", "--type", action="store", dest="devtype", default="ata", metavar="DEVTYPE",
> --                        help="type of device (ATA|SCSI)")
> -+                        help="type of device (ata|scsi)")
> -         parser.add_option("-w", "--warning-threshold", metavar="TEMP", action="store",
> -                         type="int", dest="warningThreshold", default=55,
> -                         help="set temperature warning threshold to given temperature (defaults to 55)")
> -@@ -291,10 +291,10 @@ if __name__ == "__main__":
> +--- check_smartmon.orig	2019-02-01 04:28:13.000000000 +0000
> ++++ check_smartmon	2019-02-04 22:27:35.297345000 +0000
> +@@ -161,9 +161,12 @@ 
> +                 lines = healthMessage.split("\n")
> +                 getNext = 0
> +                 for line in lines:
> ++                        vprint(3, "parseOutput: line is: '%s'" % line)
> +                         if getNext:
> +-                                statusLine = line
> +-                                break
> ++                                if line <> "SMART STATUS RETURN: incomplete response, ATA output registers missing" and \
> ++                                   line <> "SMART Status not supported: Incomplete response, ATA output registers missing" :
> ++                                        statusLine = line
> ++                                        break
> +                         elif line == "=== START OF READ SMART DATA SECTION ===":
> +                                 getNext = 1
> +                         # fi
> +@@ -181,7 +184,7 @@ 
> +                         parts = line.split()
> +                         if len(parts):
> +                                 # 194 is the temperature value id
> +-                                if parts[0] == "194":
> ++                                if parts[0] == "194" or parts[0] == "190":
> +                                         temperature = int(parts[9])
> +                                         break
> +                                 # fi
> +@@ -225,6 +228,7 @@ 
> + 
> +         # this is absolutely critical!
> +         if healthStatus not in [ "PASSED", "OK" ]:
> ++                vprint(2, "Health status: %s" % healthStatus)
> +                 return (2, "CRITICAL: device does not pass health status")
> +         # fi
> + 
> +@@ -287,6 +291,7 @@ 
> +         # check device type, ATA is default
>          vprint(2, "Get device type")
>          devtype = options.devtype
> ++        vprint(2, "command line supplied device type is: %s" % devtype)
>          if not devtype:
> --                devtype = "ATA"
> --
> --        if device_re.search( device ):
> --                devtype = "scsi"
> -+                if device_re.search( device ):
> -+                        devtype = "scsi"
> -+                else:
> -+                        devtype = "ata"
> - 
> -         vprint(1, "Device type: %s" % devtype)
> - 
> +                 if device_re.search( device ):
> +                         devtype = "scsi"
> _______________________________________________
> svn-ports-all at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-ports-all
> To unsubscribe, send any mail to "svn-ports-all-unsubscribe at freebsd.org"

—
Pierre Guinoiseau <pierre at guinoiseau.nz>



More information about the svn-ports-all mailing list