Module: check_mk
Branch: master
Commit: 03582d6d36bd7fc669f463905cf9e8b5500b935c
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=03582d6d36bd7f…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Tue Aug 29 18:28:04 2017 +0200
df.include: Split up df_inventory a bit
We extract the logic sorting a mountpoint list into ungrouped mountpoints
and groups.
Change-Id: I51805782abe9ca590d8d2f91a274200c2769698e
---
checks/df.include | 32 +++++++++++++++++---------------
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/checks/df.include b/checks/df.include
index a024689..f62d8ae 100644
--- a/checks/df.include
+++ b/checks/df.include
@@ -66,32 +66,34 @@ factory_settings["filesystem_default_levels"] = {
"show_reserved" : False,
}
-def df_inventory(mplist):
- group_patterns = {}
- for line in host_extra_conf(host_name(), filesystem_groups):
- for group_name, pattern in line:
- group_patterns.setdefault(group_name, []).append(pattern)
- # Create one service for each mount point that is not contained
- # in a filesystem group. And create one service for each non-empty
- # filesystem group.
- inventory = []
- have_groups = set([])
+def ungrouped_mountpoints_and_groups(mplist, group_patterns):
+ ungrouped_mountpoints = []
+ groups = set([])
+
for mp in mplist:
in_group = False
for group_name, patterns in group_patterns.items():
for pattern in patterns:
if fnmatch.fnmatch(mp, pattern):
- have_groups.add(group_name)
+ groups.add(group_name)
in_group = True
break
if not in_group:
- inventory.append((mp, {}))
+ ungrouped_mountpoints.append((mp, {}))
+
+ return ungrouped_mountpoints, groups
+
+
+def df_inventory(mplist):
+ group_patterns = {}
+ for line in host_extra_conf(host_name(), filesystem_groups):
+ for group_name, pattern in line:
+ group_patterns.setdefault(group_name, []).append(pattern)
- for group_name in have_groups:
- inventory.append((group_name, { "patterns" : group_patterns[group_name]
}))
+ ungrouped_mountpoints, groups = ungrouped_mountpoints_and_groups(mplist,
group_patterns)
- return inventory
+ return ungrouped_mountpoints + list(groups)
# Users might have set filesystem_default_levels to old format like (80, 90)