1
0
mirror of https://github.com/Napsty/check_esxi_hardware.git synced 2026-02-06 15:15:20 +01:00

7 Commits

Author SHA1 Message Date
Napsty
8aecf4e7d1 Change version number for public release 2015-01-19 16:48:38 +01:00
Claudio Kuenzler
60b03332f9 Fix NoneType element bug
Andreas Gottwald sent a patch which fixes an issue, when the CIM element was a "NoneType" element but the plugin wanted to read a string from it. 

    Traceback (most recent call last):
     File "./check_esxi_hardware.py", line 629, in <module>
    verboseoutput("  Element Name = "+elementName)
    TypeError: cannot concatenate 'str' and 'NoneType' objects
2015-01-15 15:13:47 +01:00
Claudio Kuenzler
16b07977ae Adapt date
The change for the chassis serial number was already prepared a few months ago but I only found time today to do the merge and the release. Therefore adapting the date in history and version variable to today (20150109)
2015-01-09 11:56:17 +01:00
Claudio Kuenzler
16e85dcc0c Merge pull request #10 from Napsty/chassissn
Added Serial Number for Chassis
2015-01-09 11:54:31 +01:00
Napsty
d67db0b2ff Fixed uninitialized variable isblade 2014-09-16 13:27:48 +02:00
Napsty
6abc24f522 Removed autoindent, added spaced instead 2014-09-09 17:30:55 +02:00
Napsty
629911c8de Output serial number of chassis if a blade server is checked 2014-09-09 17:28:53 +02:00

View File

@@ -24,7 +24,7 @@
# Copyright (c) 2008 David Ligeret
# Copyright (c) 2009 Joshua Daniel Franklin
# Copyright (c) 2010 Branden Schneider
# Copyright (c) 2010-2014 Claudio Kuenzler
# Copyright (c) 2010-2015 Claudio Kuenzler
# Copyright (c) 2010 Samir Ibradzic
# Copyright (c) 2010 Aaron Rogers
# Copyright (c) 2011 Ludovic Hutin
@@ -35,6 +35,7 @@
# Copyright (c) 2011 Ian Chard
# Copyright (c) 2012 Craig Hart
# Copyright (c) 2013 Carl R. Friend
# Copyright (c) 2015 Andreas Gottwald
#
# The VMware 4.1 CIM API is documented here:
# http://www.vmware.com/support/developer/cim-sdk/4.1/smash/cim_smash_410_prog.pdf
@@ -207,6 +208,14 @@
#@ Author : Claudio Kuenzler (www.claudiokuenzler.com)
#@ Reason : Another two workarounds for Dell systems (VGA Cable Pres 0, Add-in Card 4 PEM Presence 0)
#@---------------------------------------------------
#@ Date : 20150109
#@ Author : Claudio Kuenzler (www.claudiokuenzler.com)
#@ Reason : Output serial number of chassis if a blade server is checked
#@---------------------------------------------------
#@ Date : 20150119
#@ Author : Andreas Gottwald
#@ Reason : Fix NoneType element bug
#@---------------------------------------------------
import sys
import time
@@ -215,7 +224,7 @@ import re
import string
from optparse import OptionParser,OptionGroup
version = '20140319'
version = '20150119'
NS = 'root/cimv2'
@@ -315,6 +324,9 @@ ExitWarning = 1
ExitCritical = 2
ExitUnknown = 3
# Special handling for blade servers
isblade = "no"
def dell_country(country):
if country == 'at': # Austria
return 'at/de/'
@@ -621,6 +633,8 @@ for classe in ClassesToCheck :
for instance in instance_list :
sensor_value = ""
elementName = instance['ElementName']
if elementName is None :
elementName = 'Unknown'
elementNameValue = elementName
verboseoutput(" Element Name = "+elementName)
@@ -642,6 +656,7 @@ for classe in ClassesToCheck :
man = 'Unknown Manufacturer'
verboseoutput(" Manufacturer = "+man)
SerialNumber = instance[u'SerialNumber']
SerialChassis = instance[u'SerialNumber']
if SerialNumber:
verboseoutput(" SerialNumber = "+SerialNumber)
server_info = man + ' '
@@ -655,6 +670,7 @@ for classe in ClassesToCheck :
SerialNumber = instance[u'SerialNumber']
if SerialNumber:
verboseoutput(" SerialNumber = "+SerialNumber)
isblade = "yes"
# Report detail of Numeric Sensors and generate nagios perfdata
@@ -813,6 +829,10 @@ if (urlise_country != '') :
SerialNumber = urlised_serialnumber(vendor,urlise_country,SerialNumber)
server_info = urlised_server_info(vendor,urlise_country,server_info)
# If this is a blade server, also output chassis serial number as additional info
if (isblade == "yes") :
SerialNumber += " Chassis S/N: %s " % (SerialChassis)
# Output performance data
perf = '|'
if perfdata: