Module: check_mk
Branch: master
Commit: 0fd537a93974c23dab09b0c8e0c1a0571b49eeca
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0fd537a93974c2…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Apr 20 11:07:35 2016 +0200
3417 FIX wmi_cpuload: fix exception in case of missing NumberOfLogicalProcessors on some
OS versions
---
.werks/3417 | 10 ++++++++++
ChangeLog | 1 +
checks/wmi.include | 6 ++++++
checks/wmi_cpuload | 2 +-
4 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/.werks/3417 b/.werks/3417
new file mode 100644
index 0000000..5e7423e
--- /dev/null
+++ b/.werks/3417
@@ -0,0 +1,10 @@
+Title: wmi_cpuload: fix exception in case of missing NumberOfLogicalProcessors on some OS
versions
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.9i1
+Date: 1461143230
+
+
diff --git a/ChangeLog b/ChangeLog
index f64f98e..8463214 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -165,6 +165,7 @@
* 3386 FIX: AIX agent: Cached local scripts / plugins need to be configured in
seconds...
NOTE: Please refer to the migration notes!
* 3387 FIX: ps: Fixed crash during service discovery on AIX hosts having defunct
processes
+ * 3417 FIX: wmi_cpuload: fix exception in case of missing NumberOfLogicalProcessors
on some OS versions
Multisite:
* 3187 notification view: new filter for log command via regex
diff --git a/checks/wmi.include b/checks/wmi.include
index f34c234..7795213 100644
--- a/checks/wmi.include
+++ b/checks/wmi.include
@@ -70,12 +70,18 @@ def parse_wmi_table(info, key="Name"):
self.__row_lookup = {}
self.__rows = []
+
+ def __repr__(self):
+ return repr((self.__headers, self.__rows))
+
+
def add_row(self, row):
self.__rows.append(row)
if self.__key_index is not None:
key = row[self.__key_index]
self.__row_lookup[key] = len(self.__rows) - 1
+
def get(self, row, column):
if isinstance(row, int):
row_index = row
diff --git a/checks/wmi_cpuload b/checks/wmi_cpuload
index c8735fe..543b60d 100644
--- a/checks/wmi_cpuload
+++ b/checks/wmi_cpuload
@@ -38,7 +38,7 @@ def check_wmi_cpuload(item, params, parsed):
try:
cores = int(parsed["computer_system"].get(0,
"NumberOfLogicalProcessors"))
- except ValueError:
+ except (ValueError, KeyError), e:
# NumberOfLogicalProcessors can be an empty string, not sure why
cores = int(parsed["computer_system"].get(0,
"NumberOfProcessors"))