]> Frank Brehm's Git Trees - my-stuff/nagios.git/commitdiff
Bugfixing
authorFrank Brehm <frank@brehm-online.com>
Sat, 27 Nov 2010 07:56:59 +0000 (07:56 +0000)
committerFrank Brehm <frank@brehm-online.com>
Sat, 27 Nov 2010 07:56:59 +0000 (07:56 +0000)
git-svn-id: http://svn.brehm-online.com/svn/my-stuff/nagios/trunk@134 ec8d2aa5-1599-4edb-8739-2b3a1bc399aa

bin/nagios/object/host.py
bin/nagios/object/hostgroup.py
bin/nagios/object/service.py

index 6bdededf0251e58ec003c9b389e5680b3893853b..519c964600761bf973bbb4114c0a5c1e9d793be2 100644 (file)
@@ -11,7 +11,7 @@ from nagios.object.verify import NagiosVerifyError, NagiosObjectVerifier
 
 #-----------------------------------------------------------------------
 def verify( definition, logger ):
-    "Verifiziert einen übergebenen Definitionsblock als Nagios-Host."
+    "Verifying a given definition block as a Nagios host"
 
     res = {}
     identifier = None
@@ -84,9 +84,17 @@ define host{
 
     for key in definition:
         if key == '__object_definition__':
+            res['__object_definition__'] = definition['__object_definition__']
+            continue
+        if re.match( r'^_', key ):
+            key_upper = key.upper()
+            if key_upper in res:
+                logger.warn( "Double entry {0} for host definition in {1}({2}).".format( key_upper, definition[key][1], definition[key][2] ) )
+            else:
+                res[key_upper] = definition[key][0]
             continue
         if not key in valid_keys:
-            logger.warn( "Ungültige Eigenschaft {0!r} für Hostdefinition in {1}({2}).".format(
+            logger.warn( "Invalid property {0!r} for host definition in {1}({2}).".format(
                 key, definition[key][1], definition[key][2] ) )
 
     verifier = NagiosObjectVerifier( logger = logger )
@@ -173,6 +181,9 @@ define host{
             except NagiosVerifyError as e:
                 logger.warn( "Property error for host definition in {0}({1}): {2}".format( definition[key][1], definition[key][2], e )  )
 
+    if 'register' not in res:
+        res['register'] = True
+
     if 'host_name' in res:
         identifier = res['host_name']
     elif 'name' in res:
index 39a52ad7c5e4a322830aad21beb9716dcace1535..029c2cfed33203f8f0574286046fc28c3a777d89 100644 (file)
@@ -11,7 +11,7 @@ from nagios.object.verify import NagiosVerifyError, NagiosObjectVerifier
 
 #-----------------------------------------------------------------------
 def verify( definition, logger ):
-    "Verifying e given definition block as a Nagios host group"
+    "Verifying a given definition block as a Nagios host group"
 
     res = {}
     identifier = None
@@ -41,6 +41,14 @@ define hostgroup{
 
     for key in definition:
         if key == '__object_definition__':
+            res['__object_definition__'] = definition['__object_definition__']
+            continue
+        if re.match( r'^_', key ):
+            key_upper = key.upper()
+            if key_upper in res:
+                logger.warn( "Double entry {0} for hostgroup definition in {1}({2}).".format( key_upper, definition[key][1], definition[key][2] ) )
+            else:
+                res[key_upper] = definition[key][0]
             continue
         if not key in valid_keys:
             logger.warn( "Invalid property {0!r} for hostgroup definition in {1}({2}).".format(
@@ -83,6 +91,9 @@ define hostgroup{
             except NagiosVerifyError as e:
                 logger.warn( "Property error for host definition in {0}({1}): {2}".format( definition[key][1], definition[key][2], e )  )
 
+    if 'register' not in res:
+        res['register'] = True
+
     if 'hostgroup_name' in res:
         identifier = res['hostgroup_name']
     elif 'name' in res:
index 4ccf0e6b21a0b717be46142bac6dee5cb1bfe591..c7545f08aca0ac40b0f38ad6363f7fc03b3cf379 100755 (executable)
@@ -81,6 +81,14 @@ define service{
 
     for key in definition:
         if key == '__object_definition__':
+            res['__object_definition__'] = definition['__object_definition__']
+            continue
+        if re.match( r'^_', key ):
+            key_upper = key.upper()
+            if key_upper in res:
+                logger.warn( "Double entry {0} for host definition in {1}({2}).".format( key_upper, definition[key][1], definition[key][2] ) )
+            else:
+                res[key_upper] = definition[key][0]
             continue
         if not key in valid_keys:
             logger.warn( "Invalid Property {0!r} for service definition in {1}({2}).".format(
@@ -160,6 +168,9 @@ define service{
             except NagiosVerifyError as e:
                 logger.warn( "Property error for service definition in {0}({1}): {2}".format( definition[key][1], definition[key][2], e )  )
 
+    if 'register' not in res:
+        res['register'] = True
+
     if 'service_description' in res:
         identifier = res['service_description']
     elif 'name' in res: