Module: check_mk
Branch: master
Commit: 5f429a090a9cdbee3eaa98e057b0cdd1c4a0a9c5
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5f429a090a9cdb…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Mon Mar 4 15:26:36 2019 +0100
aix_hacmp_{services,resources}: Do not discovery if there's no cluster definition and
fixed parsing unexpected lines
Change-Id: I3cdf6bf76caaaae05475419db39855df8ce2e315
---
.werks/7110 | 10 ++++++++++
.werks/7111 | 10 ++++++++++
checks/aix_hacmp_resources | 2 ++
checks/aix_hacmp_services | 21 ++++++++++++---------
4 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/.werks/7110 b/.werks/7110
new file mode 100644
index 0000000..f1f09ad
--- /dev/null
+++ b/.werks/7110
@@ -0,0 +1,10 @@
+Title: aix_hacmp_resources: If there's no cluster definition we do not discover
services
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.6.0i1
+Date: 1551709507
+Class: fix
+
+
diff --git a/.werks/7111 b/.werks/7111
new file mode 100644
index 0000000..c40b5e8
--- /dev/null
+++ b/.werks/7111
@@ -0,0 +1,10 @@
+Title: aix_hacmp_services: Fixed parsing of unexpected line 'The cthags Subsystem is
not on file'
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.6.0i1
+Date: 1551709598
+Class: fix
+
+
diff --git a/checks/aix_hacmp_resources b/checks/aix_hacmp_resources
index 61aa38b..cfdd38d 100644
--- a/checks/aix_hacmp_resources
+++ b/checks/aix_hacmp_resources
@@ -42,6 +42,8 @@ factory_settings["aix_hacmp_resources"] = {
def parse_aix_hacmp_resources(info):
parsed = {}
for line in info:
+ if 'There is no cluster definition.' in " ".join(line):
+ continue
if line[0] not in parsed:
parsed[line[0]] = [(line[2], line[1].lower())]
else:
diff --git a/checks/aix_hacmp_services b/checks/aix_hacmp_services
index b8b9348..cce977a 100644
--- a/checks/aix_hacmp_services
+++ b/checks/aix_hacmp_services
@@ -88,23 +88,26 @@
def parse_aix_hacmp_services(info):
parsed = {}
- check_block = False # are we in the check relevant info block?
+ inst = None
for line in info:
-
if line[0] == 'Details':
- check_block = False
+ inst = None
elif line[0] == 'Status':
- check_block = True
subsystem_ty_name = line[3]
if subsystem_ty_name == 'PowerHA':
subsystem_ty_name += " %s" % line[4]
+ inst = parsed.setdefault(subsystem_ty_name, [])
- elif check_block:
- if line[0] == 'Subsystem':
- parsed.setdefault(subsystem_ty_name, [])
- else:
- parsed[subsystem_ty_name].append((line[0], line[-1]))
+ elif line[0] == 'Subsystem':
+ # header line
+ continue
+
+ elif inst is not None and len(line) in [3, 4]:
+ # Not all lines contain PID:
+ # clcomd caa 7537142 active
+ # clconfd caa inoperative
+ inst.append((line[0], line[-1]))
return parsed