Module: check_mk
Branch: master
Commit: ba3a92fc4f4c892024b45b0b5f2f725206fe5019
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ba3a92fc4f4c89…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sun Mar 6 12:51:10 2011 +0100
cmk --flush now also deletes autochecks
---
ChangeLog | 6 ++++++
modules/check_mk.py | 25 +++++++++++++++++++------
2 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d977052..e831128 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
1.1.10b2:
Core, Setup, etc.:
+ * --flush now also deletes all autochecks
+
+
+1.1.10b2:
+ Core, Setup, etc.:
* FIX: setup.sh on OMD: fix paths for cache and counters
* FIX: check_mk -D did bail out if host had no ip address
* cleanup: all OIDs in checks now begin with ".1.3.6", not
"1.3.6"
@@ -12,6 +17,7 @@
ad_replication, fsc_fans, fsc_temp, fsc_subsystems
* Added SNMP uptime check which behaves identical to the agent uptime check
+
1.1.10b1:
Core, Setup, etc.:
* FIX: do not assume 127.0.0.1 as IP address for usewalk_hosts if
diff --git a/modules/check_mk.py b/modules/check_mk.py
index 0a7a2cb..bd5f730 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -1869,7 +1869,8 @@ def in_boolean_serviceconf_list(hostname, service_description,
conflist):
# Remove all autochecks of certain types of a certain host
-def remove_autochecks_of(hostname, checktypes):
+def remove_autochecks_of(hostname, checktypes = None): # None = all
+ removed = 0
for fn in glob.glob(autochecksdir + "/*.mk"):
if opt_debug:
sys.stdout.write("Scanning %s...\n" % fn)
@@ -1881,11 +1882,13 @@ def remove_autochecks_of(hostname, checktypes):
if double_quoted.startswith('("'):
count += 1
splitted = double_quoted.split('"')
- if splitted[1] != hostname or splitted[3] not in checktypes:
+ if splitted[1] != hostname or (checktypes != None and splitted[3] not in
checktypes):
if splitted[3] not in check_info:
sys.stderr.write('Removing unimplemented check %s\n' %
splitted[3])
continue
lines.append(line)
+ else:
+ removed += 1
if len(lines) == 0:
if opt_verbose:
sys.stdout.write("Deleting %s.\n" % fn)
@@ -1899,6 +1902,8 @@ def remove_autochecks_of(hostname, checktypes):
f.write(line)
f.write("]\n")
+ return removed
+
def remove_all_autochecks():
for f in glob.glob(autochecksdir + '/*.mk'):
if opt_verbose:
@@ -2609,7 +2614,7 @@ def do_flush(hosts):
# counters
try:
os.remove(counters_directory + "/" + host)
- sys.stdout.write(tty_blue + " counters")
+ sys.stdout.write(tty_bold + tty_blue + " counters")
sys.stdout.flush()
flushed = True
except:
@@ -2627,9 +2632,9 @@ def do_flush(hosts):
except:
pass
if d == 1:
- sys.stdout.write(tty_green + " cache")
+ sys.stdout.write(tty_bold + tty_green + " cache")
elif d > 1:
- sys.stdout.write(tty_green + " cache(%d)" % d)
+ sys.stdout.write(tty_bold + tty_green + " cache(%d)" % d)
sys.stdout.flush()
# logfiles
@@ -2645,10 +2650,18 @@ def do_flush(hosts):
except:
pass
if d > 0:
- sys.stdout.write(tty_magenta + " logfiles(%d)" % d)
+ sys.stdout.write(tty_bold + tty_magenta + " logfiles(%d)" % d)
+
+ # autochecks
+ d = remove_autochecks_of(host)
+ if d > 0:
+ flushed = True
+ sys.stdout.write(tty_bold + tty_cyan + " autochecks(%d)" % d)
+
if not flushed:
sys.stdout.write("(nothing)")
+
sys.stdout.write(tty_normal + "\n")