summaryrefslogtreecommitdiff
path: root/lib/facter
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facter')
-rw-r--r--lib/facter/dns_zone_serial.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/facter/dns_zone_serial.rb b/lib/facter/dns_zone_serial.rb
index 6f25148..6575757 100644
--- a/lib/facter/dns_zone_serial.rb
+++ b/lib/facter/dns_zone_serial.rb
@@ -1,5 +1,13 @@
require 'resolv'
+def ensure_period(s)
+ if s[-1] == '.'
+ s
+ else
+ "#{s}."
+ end
+end
+
Facter.add(:dns_zone_serial) do
confine do
Facter::Util::Resolution.which('named-checkconf')
@@ -13,7 +21,8 @@ Facter.add(:dns_zone_serial) do
.filter { |zone| zone.last == 'master' }
zone_map = {}
zones.map do |zone|
- zone_map["#{zone[0]}."] = dns.getresource(zone[0], Resolv::DNS::Resource::IN::SOA).serial
+ z = ensure_period(zone[0])
+ zone_map[z] = dns.getresource(z, Resolv::DNS::Resource::IN::SOA).serial
end
zone_map
end