From f88d5d44d7b9493dee9da570fefe1babc5983871 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Thu, 26 Mar 2009 13:55:21 +0000 Subject: Merge host contacts with service contacts git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@382 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- build-nagios | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'build-nagios') diff --git a/build-nagios b/build-nagios index 415eabd..2ace17c 100755 --- a/build-nagios +++ b/build-nagios @@ -136,6 +136,15 @@ def print_block(fd, kind, hash, exclude_keys) fd.puts end +def merge_contacts(host, service) + %w{contacts contact_groups}.each{ |k| + contacts = [] + [host, service].each{ |source| + contacts.push source[k] if source.has_key?(k) + } + service[k] = contacts.join(",") unless contacts.empty? + } +end # Add the service definition service to hosts # f is the file for service definitions, deps the file for dependencies @@ -160,9 +169,7 @@ def addService(hosts, service, files, servers) hosts.each{ |host| s = service.clone set_complain_if_set s, 'host_name', host, 'Service', s['service_description'] - %w{contacts contact_groups}.each{ |k| - set_if_unset(s, k, servers[host][k]) if servers[host].has_key? k - } + merge_contacts(servers[host], s) print_block files['services'], 'service', s, %w(nrpe runfrom remotecheck depends -- cgit v1.2.3