]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
OK, it's a bit of a grotesque hack - we see if DNS matches for a service
authorStephen Gran <steve@lobefin.net>
Tue, 10 Mar 2009 01:01:23 +0000 (01:01 +0000)
committerStephen Gran <steve@lobefin.net>
Tue, 10 Mar 2009 01:01:23 +0000 (01:01 +0000)
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 <steve@lobefin.net>
facts/services.rb [new file with mode: 0644]
modules/debian-org/manifests/init.pp

diff --git a/facts/services.rb b/facts/services.rb
new file mode 100644 (file)
index 0000000..6c40cf0
--- /dev/null
@@ -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
index b8a8f8da14b6877a5ea2e6d94ac0e6f95292946c..e182139f09d00bbb7b81ad317deb02d117552ff8 100644 (file)
@@ -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;
    }