Module: check_mk
Branch: master
Commit: 272d1bcf0cc273e06a987428382faac6915c8b07
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=272d1bcf0cc273…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Jun 22 13:48:38 2015 +0200
#2342 FIX SNMP-Traps: Also deleting compiled files when removing a MIB file
---
.werks/2342 | 9 +++++++++
ChangeLog | 1 +
mkeventd/web/plugins/wato/mkeventd.py | 15 ++++++++++++++-
3 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/.werks/2342 b/.werks/2342
new file mode 100644
index 0000000..661f877
--- /dev/null
+++ b/.werks/2342
@@ -0,0 +1,9 @@
+Title: SNMP-Traps: Also deleting compiled files when removing a MIB file
+Level: 1
+Component: ec
+Compatible: compat
+Version: 1.2.7i2
+Date: 1434973693
+Class: fix
+
+
diff --git a/ChangeLog b/ChangeLog
index dc856e3..33828ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -65,6 +65,7 @@
* 2334 Logging details about loaded SNMP MIB modules during startup
* 2326 Allow relating Event Console hosts to monitoring hosts now also by alias...
* 2328 FIX: Fix sporadic error "Connection reset by peer" when reloading
Event Console...
+ * 2342 FIX: SNMP-Traps: Also deleting compiled files when removing a MIB file
1.2.7i1:
diff --git a/mkeventd/web/plugins/wato/mkeventd.py
b/mkeventd/web/plugins/wato/mkeventd.py
index 928691a..cf10417 100644
--- a/mkeventd/web/plugins/wato/mkeventd.py
+++ b/mkeventd/web/plugins/wato/mkeventd.py
@@ -1825,12 +1825,25 @@ def mode_mkeventd_mibs(phase):
elif phase == 'action':
if html.has_var("_delete"):
filename = html.var("_delete")
- if filename in load_snmp_mibs(mkeventd.mib_upload_dir):
+ mibs = load_snmp_mibs(mkeventd.mib_upload_dir)
+ if filename in mibs:
c = wato_confirm(_("Confirm MIB deletion"),
_("Do you really want to delete the MIB file
<b>%s</b>?" % filename))
if c:
log_mkeventd("delete-mib", _("Deleted MIB %s") %
filename)
+
+ # Delete the uploaded mib file
os.remove(mkeventd.mib_upload_dir + "/" + filename)
+
+ # Also delete the compiled files
+ mib_name = mibs[filename]["name"]
+ for f in [ mkeventd.compiled_mibs_dir + "/" + mib_name +
".py",
+ mkeventd.compiled_mibs_dir + "/" + mib_name +
".pyc",
+ mkeventd.compiled_mibs_dir + "/" +
filename.rsplit('.', 1)[0].upper() + ".py",
+ mkeventd.compiled_mibs_dir + "/" +
filename.rsplit('.', 1)[0].upper() + ".pyc"
+ ]:
+ if os.path.exists(f):
+ os.remove(f)
elif c == False:
return ""
else: