Hi, I've a fairly odd network setup and I keep running into a minor but irritating issue. We have various subnets and depending on which subnet you are on you have to contact puppet by different IPs. I have various workarounds for this and I build a /etc/hosts on each box with an entry for 'puppet' with the correct IP. This is currently done via a fact as follows:
Facter.add("puppetip") do
setcode do
result = case Facter["ipaddress"].value
when /10.241.209/: "10.241.209.118"
else "140.247.200.118"
end
result
end
end
Then I have an entry in hosts.pp that reads:
host { "puppet":
ensure => "present",
ip => "$puppetip",
}
This works great except in cases where I have to re-ip a machine to a
different subnet (which happens constantly for reasons too depressing to
describe). In this case when my defines that update the network run they
are unable to update the /etc/hosts entry because the facter stuff is
evaluated at the start of the run. My host then changes IP and cannot
recontact puppet to continue. I have to ssh in and manually change
/etc/hosts and then run puppet again.
This irritates the hell out of me, but I can't think of another puppet
solution for this. I can't rely on split dns (or any dns, it's broken and
not ran by me) so that's not an option. Anyone have any ideas how I could
work around this?
-- You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
