Module: check_mk
Branch: master
Commit: a706dadaf54b575b816665998c11c73fa69ebc92
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a706dadaf54b57…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Feb 16 13:51:54 2012 +0100
WATO: preserve/honors users only in htpasswd
---
ChangeLog | 2 ++
web/htdocs/wato.py | 12 ++++++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 1b3a6c2..d01304e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,8 @@
* FIX: allow UTF-8 encoded permission translations
* FIX: Fixed several problems in OMD apache shared mode
* FIX: Do not use None$ as item when creating new rules
+ * FIX: Do load *all* users from htpasswd, so passwords from
+ users not created via WATO will not be lost.
Checks & Agents:
* hpux_if: fix missing default parameter errors
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index d574fc3..9f30be0 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -7005,7 +7005,11 @@ def load_users():
# Passwords are read directly from the apache htpasswd-file.
# That way heroes of the command line will still be able to
- # change passwords with htpasswd.
+ # change passwords with htpasswd. Users *only* appearing
+ # in htpasswd will also be loaded and assigned to the role
+ # they are getting according to the multisite old-style
+ # configuration variables.
+
filename = defaults.htpasswd_file
if os.path.exists(filename):
for line in file(filename):
@@ -7018,12 +7022,12 @@ def load_users():
if id in result:
result[id]["password"] = password
result[id]["locked"] = locked
- elif id in config.admin_users:
+ else:
# Create entry if this is an admin user
new_user = {
- "roles" : [ "admin" ],
+ "roles" : config.roles_of_user(id),
"password" : password,
- "locked" : False
+ "locked" : False
}
result[id] = new_user
# Other unknown entries will silently be dropped. Sorry...
Module: check_mk
Branch: master
Commit: d860b2df886d56bc62eca641f3e415fc02bc0e61
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=d860b2df886d56…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Feb 16 13:21:12 2012 +0100
Fixed problem with snmp_scan_functions of subchecks
---
modules/check_mk.py | 12 ++++++++----
modules/check_mk_base.py | 27 +++++++++++++++++++++++++--
2 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/modules/check_mk.py b/modules/check_mk.py
index b34e3af..e283474 100755
--- a/modules/check_mk.py
+++ b/modules/check_mk.py
@@ -630,9 +630,7 @@ def get_snmp_character_encoding(hostname):
return entries[0]
def check_uses_snmp(check_type):
- base_check_name = check_type.split(".")[0]
- return base_check_name in check_info and \
- check_info[base_check_name].get("snmp_info") != None
+ return snmp_info.get(check_type.split(".")[0]) != None
def is_snmp_host(hostname):
return in_binary_hostlist(hostname, snmp_hosts)
@@ -741,7 +739,13 @@ def snmp_scan(hostname, ipaddress):
continue
elif not check_uses_snmp(check_type):
continue
- scan_function = check["snmp_scan_function"]
+ basename = check_type.split(".")[0]
+ # The scan function should be assigned to the basename, because
+ # subchecks sharing the same SNMP info of course should have
+ # an identical scan function. But some checks do not do this
+ # correctly
+ scan_function = snmp_scan_functions.get(check_type,
+ snmp_scan_functions.get(basename))
if scan_function:
try:
if scan_function(lambda oid: get_single_oid(hostname, ipaddress, oid)):
diff --git a/modules/check_mk_base.py b/modules/check_mk_base.py
index 54e9374..e617656 100755
--- a/modules/check_mk_base.py
+++ b/modules/check_mk_base.py
@@ -305,7 +305,7 @@ def get_realhost_info(hostname, ipaddress, check_type, max_cache_age):
# Is this an SNMP table check? Then snmp_info specifies the OID to fetch
# Please note, that if the check_type is foo.bar then we lookup the
# snmp info for "foo", not for "foo.bar".
- oid_info = check_info.get(check_type, {}).get("snmp_info")
+ oid_info = snmp_info.get(check_type.split(".")[0])
if oid_info:
content = read_cache_file(cache_relpath, max_cache_age)
if content:
@@ -735,6 +735,7 @@ def convert_check_info():
check_function, service_description, has_perfdata, inventory_function = info
if inventory_function == no_inventory_possible:
inventory_function = None
+ basename = check_type.split(".")[0]
check_info[check_type] = {
"check_function" : check_function,
@@ -743,10 +744,32 @@ def convert_check_info():
"inventory_function" : inventory_function,
"group" : checkgroup_of.get(check_type),
"snmp_info" : snmp_info.get(check_type),
- "snmp_scan_function" : snmp_scan_functions.get(check_type),
+ # Sometimes the scan function is assigned to the check_type
+ # rather than to the base name.
+ "snmp_scan_function" :
+ snmp_scan_functions.get(check_type,
+ snmp_scan_functions.get(basename)),
"includes" : check_includes.get(check_type, []),
"default_levels_variable" : check_default_levels.get(check_type),
}
+ else:
+ # Make sure that all keys are present
+ info.setdefault("inventory_function", None)
+ info.setdefault("group", None)
+ info.setdefault("snmp_info", None)
+ info.setdefault("snmp_scan_function", None)
+ info.setdefault("includes", [])
+ info.setdefault("default_levels_variable", None)
+
+ # Now gather snmp_info and snmp_scan_function back to the
+ # original arrays. Note: these information is tied to a "agent section",
+ # not to a check. Several checks may use the same SNMP info and scan function.
+ for info in check_info.values():
+ basename = check_type.split(".")[0]
+ if info["snmp_info"] and basename not in snmp_info:
+ snmp_info[basename] = info["snmp_info"]
+ if info["snmp_scan_function"] and basename not in snmp_scan_functions:
+ snmp_scan_functions[basename] = info["snmp_scan_function"]
# Loops over all checks for a host, gets the data, calls the check
# function that examines that data and sends the result to Nagios
Module: check_mk
Branch: master
Commit: 5ad5aa97aefc1a6156d73f21849f2f08b28bbca8
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=5ad5aa97aefc1a…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Feb 16 10:55:38 2012 +0100
Updated bug entries #0654, #0655
---
.bugs/654 | 10 ++++++++++
.bugs/655 | 8 ++++++++
2 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/.bugs/654 b/.bugs/654
new file mode 100644
index 0000000..770b51a
--- /dev/null
+++ b/.bugs/654
@@ -0,0 +1,10 @@
+Title: View editor mixes up views on editing
+Component: multisite
+State: open
+Date: 2012-02-15 08:48:38
+Targetversion: future
+Class: bug
+
+We had a strange problem. We had a view named "offline_locations" using the "All services"
+table. Then we added a "offline_locations1" view which used the "All hosts" table.
+BUt after saving the second view had the same options as the first view.
diff --git a/.bugs/655 b/.bugs/655
new file mode 100644
index 0000000..de0fa8b
--- /dev/null
+++ b/.bugs/655
@@ -0,0 +1,8 @@
+Title: "Table" preview styles broken in view editor preview
+Component: multisite
+State: open
+Date: 2012-02-15 08:51:28
+Targetversion: future
+Class: bug
+
+The background colors are broken in the view editor.
Module: check_mk
Branch: master
Commit: 8807f248f9370486be9942d7a3afa9388cfd262f
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8807f248f93704…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Tue Feb 14 15:56:20 2012 +0100
Updated bug entries #0652
---
.bugs/652 | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/.bugs/652 b/.bugs/652
new file mode 100644
index 0000000..fc74f09
--- /dev/null
+++ b/.bugs/652
@@ -0,0 +1,9 @@
+Title: Rulesets: not configurable with "secondary tags"
+Component: wato
+State: open
+Date: 2012-02-14 15:54:52
+Targetversion: future
+Class: feature
+
+When e.g. the "snmp" tag is added to the hosts as implicit tag it can not
+be used in rulesets.