Module: check_mk
Branch: master
Commit: c21c6f30ac8d30b34c874a691d29fc3932de6f4c
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c21c6f30ac8d30…
Author: Bernd Stroessenreuther <bs(a)mathias-kettner.de>
Date: Mon Aug 26 09:44:39 2013 +0200
Reserved 10 bug IDS
---
.bugs/972 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
.bugs/973 | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
.bugs/first_free | 2 +-
3 files changed, 98 insertions(+), 1 deletion(-)
diff --git a/.bugs/972 b/.bugs/972
new file mode 100644
index 0000000..c6ea266
--- /dev/null
+++ b/.bugs/972
@@ -0,0 +1,48 @@
+Title: parent scan fails after renaming a wato folder
+Component: wato
+State: open
+Date: 2013-08-09 16:33:23
+Targetversion: 1.2.3
+Class: bug
+
+came in via feedback@ // original mail still available at folder feedback/gitbug
+
+
+To: feedback(a)check-mk.org
+MIME-Version: 1.0
+Subject: =?ISO-8859-1?Q?[BUG]=3A_2013=2E06=2E17=2E_-_Parent_Scan_schl=E4gt_fehl?=
+ =?ISO-8859-1?Q?_nach_Ordner_Namensanpassung?=
+X-KeepSent: 8EC789A2:22AB56CB-C1257B91:0039EA95;
+ type=4; name=$KeepSent
+X-Mailer: Lotus Notes Release 8.5.3FP1 March 08, 2012
+Message-ID: <OF8EC789A2.22AB56CB-ONC1257B91.0039EA95-C1257B91.003ADE67(a)bechtle.de>
+From: tim.kreutzer(a)bechtle.com
+Date: Fri, 21 Jun 2013 12:43:00 +0200
+
+
+Hallo Feedback,
+
+mir ist folgendes in der Entwickler Version 2013.06.17 aufgefallen.
+Kurzes Beispiel:
+
+Folgende Ordner in WATO:
+Main Directory\Kunde\Hosts
+
+Nach Änderung des Namens des Ordners in z.B:
+Main Directory\KundeXYZ\Hosts
+
+Versucht der Parent Scan in WATO die Hosts unter dem alten Ordner Namen (Main Directory\Kunde\Hosts )zu finden und schlägt fehl. Alle bestehenden Regeln wurden, einwandfrei auf den neuen Ordner angepasst.
+Hoffe das war euch noch nicht bekannt, habe in der Bug Liste nichts dazu gefunden.
+
+Mit freundlichen Grüßen
+
+Tim Kreutzer
+System Engineer
+
+Bechtle GmbH
+IT-Systemhaus Bremen
+Otto-Lilienthal Straße 20, D - 28199 Bremen
+Tel: +49 421 59680-804
+Fax: +49 421 59680-596
+E-Mail: tim.kreutzer(a)bechtle.com
+Internet: http://www.bechtle.com
diff --git a/.bugs/973 b/.bugs/973
new file mode 100644
index 0000000..7aa850a
--- /dev/null
+++ b/.bugs/973
@@ -0,0 +1,49 @@
+Title: problem in check options for check_dns
+Component: checks
+State: open
+Date: 2013-08-09 16:39:44
+Targetversion: 1.2.3
+Class: bug
+
+came in via checkmk-de@ // original mail is still available at folder feedback/gitbug
+
+
+Date: Fri, 21 Jun 2013 16:00:56 +0200
+From: Martin Schwarz <ms(a)ilk.net>
+To: checkmk-de(a)lists.mathias-kettner.de
+Message-ID: <20130621140055.GJ11388(a)ilk.net>
+MIME-Version: 1.0
+Content-Disposition: inline
+User-Agent: Mutt/1.5.18 (2008-05-17)
+Subject: [Check_mk (deutsch)] =?iso-8859-1?q?Fehler_in_Optionen_f=FCr_Chec?=
+ =?iso-8859-1?q?k_DNS_service=3F?=
+
+Hallo,
+
+bin gerade in WATO auf einen Punkt gestoßen, den ich für einen Fehler
+halte, und zwar beim Konfigurieren eines aktiven DNS-Checks unter
+
+ WATO > Host & Service Parameters > Active checks (HTTP, TCP, etc.) > Check DNS service
+
+Wenn ich das richtig verstehe, ist das ja "nur" die Check_MK-Integration
+für das Standard-Nagios-Plugin "check_dns". Die WATO-Eingabemaske für
+den Check erwartet nun bei angekreuztem "Expected Authority" auch
+zwingend eine Eingabe in diesem Feld. Im Nagios-Plugin ist das Argument
+aber:
+
+ -A, --expect-authority
+ Optionally expect the DNS server to be authoritative for the lookup
+
+Also einfach die Option Ja/Nein, ob die erwartete DNS-Antwort
+autoritativ sein soll, nicht "-A %s" wie im Check-MK-Script.
+
+Ich hab mir in WATO erstmal durch Eingabe von '' (also leerem String)
+geholfen. Ich bin noch nicht so vertraut mit Check_MK, daher wollte ich
+lieber erstmal hier nachfragen - als Alternative zu einem Bug-Report.
+
+Gruß
+Martin
+
+(Check_MK 1.2.2p2 aus OMD 1.00)
+
+-- Martin Schwarz, Systems Engineer, mailto:ms@ilk.net ILK Internet GmbH, Am Sandfeld 15, D-76149 Karlsruhe Tel: +49 (0) 721 9100-0, Fax: -191, http://www.ilk.net/ Geschaeftsfuehrer Matthias Felger, AG Mannheim, HRB 107037 _______________________________________________ checkmk-de mailing list checkmk-de(a)lists.mathias-kettner.de http://lists.mathias-kettner.de/mailman/listinfo/checkmk-de
diff --git a/.bugs/first_free b/.bugs/first_free
index 327f63b..4fba33e 100644
--- a/.bugs/first_free
+++ b/.bugs/first_free
@@ -1 +1 @@
-1027
+1037
Module: check_mk
Branch: master
Commit: 04b574f621a0069d95d3cdce61e36343c1a1a6d6
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=04b574f621a006…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Aug 23 13:36:51 2013 +0200
Added another missing help text
---
web/plugins/userdb/ldap.py | 2 ++
web/plugins/wato/check_mk_configuration.py | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/web/plugins/userdb/ldap.py b/web/plugins/userdb/ldap.py
index d58d873..488fccb 100644
--- a/web/plugins/userdb/ldap.py
+++ b/web/plugins/userdb/ldap.py
@@ -338,6 +338,7 @@ def ldap_search(base, filt = '(objectclass=*)', columns = [], scope = None):
except ldap.SERVER_DOWN:
if tries_left:
ldap_log(' Received SERVER_DOWN. Retrying...')
+ ldap_connection.reconnect(ldap_connection._uri)
time.sleep(0.5)
else:
break
@@ -345,6 +346,7 @@ def ldap_search(base, filt = '(objectclass=*)', columns = [], scope = None):
duration = time.time() - start_time
if not success:
+ ldap_log(' FAILED')
raise MKLDAPException(_('Unable to successfully perform the LDAP search. '
'Maybe there is a connection problem with the LDAP server.'))
diff --git a/web/plugins/wato/check_mk_configuration.py b/web/plugins/wato/check_mk_configuration.py
index 8d1b649..54b7cf6 100644
--- a/web/plugins/wato/check_mk_configuration.py
+++ b/web/plugins/wato/check_mk_configuration.py
@@ -1202,7 +1202,10 @@ register_rule(group,
"host_groups",
GroupSelection(
"host",
- title = _("Assignment of hosts to host groups")),
+ title = _("Assignment of hosts to host groups"),
+ help = _("Hosts can be grouped together into host groups. The most common use case "
+ "is to put hosts which belong together in a host group to make it possible "
+ "to get them listed together in the status GUI.")),
match = "all")
register_rule(group,
Module: check_mk
Branch: master
Commit: 851acca2b3f1aa4cbb4f5d7cd7fd81dc005b85f3
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=851acca2b3f1aa…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Aug 23 12:46:20 2013 +0200
Added missing help string
---
web/plugins/wato/check_mk_configuration.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/web/plugins/wato/check_mk_configuration.py b/web/plugins/wato/check_mk_configuration.py
index 85d5344..8d1b649 100644
--- a/web/plugins/wato/check_mk_configuration.py
+++ b/web/plugins/wato/check_mk_configuration.py
@@ -1822,7 +1822,9 @@ register_rule(group,
title = _("Privacy protocol")),
TextAscii(title = _("Privacy pass phrase")),
])],
- title = _("SNMP communities of monitored hosts")))
+ title = _("SNMP communities of monitored hosts"),
+ help = _("By default Check_MK uses the community \"public\" to contact hosts via SNMP. This rule "
+ "can be used to customize the the credentials to be used when contacting hosts via SNMP.")))
register_rule(group,
"snmp_character_encodings",
Module: check_mk
Branch: master
Commit: 396ee8524aa590c426ba5e9615ec8f44b6cbb657
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=396ee8524aa590…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Aug 23 09:39:54 2013 +0200
ldap: Trying to handle unstable ldap connections a bit better
---
web/plugins/userdb/ldap.py | 69 +++++++++++++++++++++++++++-----------------
1 file changed, 42 insertions(+), 27 deletions(-)
diff --git a/web/plugins/userdb/ldap.py b/web/plugins/userdb/ldap.py
index 1e8d2c4..d58d873 100644
--- a/web/plugins/userdb/ldap.py
+++ b/web/plugins/userdb/ldap.py
@@ -304,37 +304,52 @@ def ldap_search(base, filt = '(objectclass=*)', columns = [], scope = None):
ldap_log('LDAP_SEARCH "%s" "%s" "%s" "%r"' % (base, scope, filt, columns))
start_time = time.time()
- result = []
- try:
-
- search_func = config.ldap_connection.get('page_size') \
- and ldap_paged_async_search or ldap_async_search
- for dn, obj in search_func(base, scope, filt, columns):
- if dn is None:
- continue # skip unwanted answers
- new_obj = {}
- for key, val in obj.iteritems():
- # Convert all keys to lower case!
- new_obj[key.lower().decode('utf-8')] = [ i.decode('utf-8') for i in val ]
- result.append((dn, new_obj))
- except ldap.NO_SUCH_OBJECT, e:
- raise MKLDAPException(_('The given base object "%s" does not exist in LDAP (%s))') % (base, e))
-
- except ldap.FILTER_ERROR, e:
- raise MKLDAPException(_('The given ldap filter "%s" is invalid (%s)') % (filt, e))
-
- except ldap.SIZELIMIT_EXCEEDED:
- raise MKLDAPException(_('The response reached a size limit. This could be due to '
- 'a sizelimit configuration on the LDAP server.<br />Throwing away the '
- 'incomplete results. You should change the scope of operation '
- 'within the ldap or adapt the limit settings of the LDAP server.'))
+ # In some environments, the connection to the LDAP server does not seem to
+ # be as stable as it is needed. So we try to repeat the query for three times.
+ tries_left = 3
+ success = False
+ while not success:
+ tries_left -= 1
+ try:
+ result = []
+ try:
+ search_func = config.ldap_connection.get('page_size') \
+ and ldap_paged_async_search or ldap_async_search
+ for dn, obj in search_func(base, scope, filt, columns):
+ if dn is None:
+ continue # skip unwanted answers
+ new_obj = {}
+ for key, val in obj.iteritems():
+ # Convert all keys to lower case!
+ new_obj[key.lower().decode('utf-8')] = [ i.decode('utf-8') for i in val ]
+ result.append((dn, new_obj))
+ success = True
+ except ldap.NO_SUCH_OBJECT, e:
+ raise MKLDAPException(_('The given base object "%s" does not exist in LDAP (%s))') % (base, e))
+
+ except ldap.FILTER_ERROR, e:
+ raise MKLDAPException(_('The given ldap filter "%s" is invalid (%s)') % (filt, e))
+
+ except ldap.SIZELIMIT_EXCEEDED:
+ raise MKLDAPException(_('The response reached a size limit. This could be due to '
+ 'a sizelimit configuration on the LDAP server.<br />Throwing away the '
+ 'incomplete results. You should change the scope of operation '
+ 'within the ldap or adapt the limit settings of the LDAP server.'))
+ except ldap.SERVER_DOWN:
+ if tries_left:
+ ldap_log(' Received SERVER_DOWN. Retrying...')
+ time.sleep(0.5)
+ else:
+ break
duration = time.time() - start_time
+
+ if not success:
+ raise MKLDAPException(_('Unable to successfully perform the LDAP search. '
+ 'Maybe there is a connection problem with the LDAP server.'))
+
ldap_log(' RESULT length: %d, duration: %0.3f' % (len(result), duration))
return result
- #return ldap_connection.search_s(base, scope, filter, columns)
- #for dn, obj in ldap_connection.search_s(base, scope, filter, columns):
- # html.log(repr(dn) + ' ' + repr(obj))
# Returns the ldap filter depending on the configured ldap directory type
def ldap_filter(key, handle_config = True):