From f19274f1bad4b16ca137c7c06f5572e249cdb2a9 Mon Sep 17 00:00:00 2001 From: Stephen Gran Date: Tue, 10 Mar 2009 01:01:23 +0000 Subject: [PATCH] OK, it's a bit of a grotesque hack - we see if DNS matches for a service matches one of our IP addresses, and if so, we set a fact to true. I'm sure there's a better way to do this. Signed-off-by: Stephen Gran --- facts/services.rb | 20 ++++++++++++++++++++ modules/debian-org/manifests/init.pp | 1 + 2 files changed, 21 insertions(+) create mode 100644 facts/services.rb diff --git a/facts/services.rb b/facts/services.rb new file mode 100644 index 00000000..6c40cf09 --- /dev/null +++ b/facts/services.rb @@ -0,0 +1,20 @@ +["bugs","qa"].each do |service| + Facter.add(service + "_host") do + service_name = "#{service}." + Facter.domain + active = false + + setcode do + if FileTest.exist?("/usr/bin/dig") + %x{/usr/bin/dig +short -t a #{service_name}}.chomp.each do |service_ip| + Facter.interfaces.split(',').each do |my_interface| + my_ip = Facter.value("ipaddress_" + my_interface) + if my_ip == service_ip + active = "true" + end + end + end + end + active + end + end +end diff --git a/modules/debian-org/manifests/init.pp b/modules/debian-org/manifests/init.pp index b8a8f8da..e182139f 100644 --- a/modules/debian-org/manifests/init.pp +++ b/modules/debian-org/manifests/init.pp @@ -18,6 +18,7 @@ class debian-org { "mtr-tiny": ensure => latest; "nload": ensure => latest; "pciutils": ensure => latest; + "dnsutils:": ensure => latest; "bash-completion": ensure => latest; "dsa-nagios-nrpe-config": ensure => latest; } -- 2.39.2