Module: check_mk
Branch: master
Commit: 0f218818139e6e1deeb8a0cc9fed4955105c4be9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0f218818139e6e…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Nov 13 15:18:48 2014 +0100
#1511 FIX oracle_jobs: avoid broken checks, make compatible with old version
After the introduction of the necessary job owner, previous checks would fail
until reinventorized. This has been fixed. The check is now compatible with
old checks where the job owner is not yet contained in the item.
---
.werks/1511 | 13 +++++++++++++
ChangeLog | 1 +
checks/oracle_jobs | 14 +++++++-------
3 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/.werks/1511 b/.werks/1511
new file mode 100644
index 0000000..b225d21
--- /dev/null
+++ b/.werks/1511
@@ -0,0 +1,13 @@
+Title: oracle_jobs: avoid broken checks, make compatible with old version
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.5i7
+Date: 1415888257
+
+After the introduction of the necessary job owner, previous checks would fail
+until reinventorized. This has been fixed. The check is now compatible with
+old checks where the job owner is not yet contained in the item.
+
diff --git a/ChangeLog b/ChangeLog
index 9e22544..2165c9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -29,6 +29,7 @@
* 1446 FIX: cisco_temp_perf: Check now finds missing sensors in case where also
cisco_temp_sensor is being used....
* 1203 FIX: veeam_client: Now supports multiple Backups for one host...
NOTE: Please refer to the migration notes!
+ * 1511 FIX: oracle_jobs: avoid broken checks, make compatible with old version...
Multisite:
* 1508 Allow input of plugin output and perfdata when faking check results...
diff --git a/checks/oracle_jobs b/checks/oracle_jobs
index cf5eb0d..c285bfb 100644
--- a/checks/oracle_jobs
+++ b/checks/oracle_jobs
@@ -45,21 +45,21 @@ def inventory_oracle_jobs(info):
return [ ( ("%s.%s.%s" % (line[0], line[1], line[2])), {} ) for line in
info ]
def check_oracle_jobs(item, params, info):
- try:
- if item.count('.') == 2:
- sid, job_owner, job_name = item.split('.')
- except ValueError:
- return (3, 'Invalid check item given
(<SID>.<job_owner>.<job_name> expected)')
+ if item.count('.') == 2:
+ sid, job_owner, job_name = item.split('.')
+ else:
+ # old format without job owner. Simply ignore owner.
+ sid, job_name = item.split('.')
+ job_owner = None
data_found = False
for line in info:
-
service_found = False
if line[0] == sid:
data_found = True
- if (line[0] == sid and line[1] == job_owner and line[2] == job_name):
+ if line[0] == sid and (line[1] == job_owner or job_owner == None) and line[2] ==
job_name:
service_found = True
param_disabled = params["disabled"]