Module: check_mk
Branch: master
Commit: b92cdf8ae7b68ab089d3226977e6111aa3dfc687
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=b92cdf8ae7b68a…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Sep 3 10:34:26 2015 +0200
#2553 FIX solaris_prtdiag: Can now handle Supermicro servers using Solaris 10
---
.werks/2553 | 10 ++++++++++
ChangeLog | 1 +
inventory/solaris_prtdiag | 25 +++++++++++++++++--------
3 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/.werks/2553 b/.werks/2553
new file mode 100644
index 0000000..45df2b9
--- /dev/null
+++ b/.werks/2553
@@ -0,0 +1,10 @@
+Title: solaris_prtdiag: Can now handle Supermicro servers using Solaris 10
+Level: 1
+Component: inv
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i3
+Date: 1441269224
+
+
diff --git a/ChangeLog b/ChangeLog
index 0274ff5..daaacef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -252,6 +252,7 @@
* 2483 FIX: win_exefiles: more gracefully handle incomplete lines, avoid execption
* 2454 FIX: lnx_distro: Fixed inventory for SuSE installations with patchlevel 0
* 2541 FIX: Round last state change of network interfaces to one day, avoid history
spam...
+ * 2553 FIX: solaris_prtdiag: Can now handle Supermicro servers using Solaris 10
1.2.7i2:
diff --git a/inventory/solaris_prtdiag b/inventory/solaris_prtdiag
index b15f435..2fd8716 100644
--- a/inventory/solaris_prtdiag
+++ b/inventory/solaris_prtdiag
@@ -99,18 +99,27 @@ def inv_solaris_prtdiag(info):
elif line[0].startswith("SerialNumber:"):
node = inv_tree("hardware.system.")
node["serial"] = line[0].split(':')[1]
+
elif line[0].startswith("System Configuration:"):
- # 'System Configuration: Oracle Corporation sun4v SPARC T4-1'
- # 'System Configuration: Sun Microsystems sun4u SPARC Enterprise M4000
Server'
+ # 'System Configuration: Oracle Corporation sun4v SPARC T4-1'
+ # 'System Configuration: Sun Microsystems sun4u SPARC Enterprise M4000
Server'
+ # 'System Configuration: Supermicro H8DG6/H8DGi'
node = inv_tree("hardware.system.")
- system_info = "%s" %(line[0].split(':')[1])
- system_info_list = system_info.split()
- node["vendor"] = "%s"
%(system_info.split(system_info_list[2])[0])
- node["product"] = "%s"
%(system_info.split(system_info_list[2])[1])
+ system_info = line[0].split(':', 1)[1].rstrip('\'')
+
+ # Fields are separated by double spaces for some outputs
+ if " " in system_info:
+ system_info_list = system_info.split(" ")
+ else:
+ system_info_list = system_info.split()
+
+ node["vendor"] = system_info_list[0]
+ node["product"] = system_info_list[1]
- if system_info_list[-1].startswith('T'):
+ product_list = node["product"].split()
+ if product_list[-1].startswith('T'):
node["family"] = "T-series"
- elif system_info_list[-2].startswith('M'):
+ elif product_list[-2].startswith('M'):
node["family"] = "M-series"
inv_info['solaris_prtdiag'] = {