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 puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Hi Ashley, since you are re-ip-ing machines to a different subnet, then I assume that you are maintaining the IP address for every node on the puppet server? The problem with facts here is that you are determining the IPaddress of the puppet master based on what the IP is as opposed to what it should be (after the puppet run). I would recommend using a function instead. host { "puppet": ensure => "present", ip => get_puppet_master($ip), } and then move the fact logic to this function. hope this helps, Dan On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com> wrote:> 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 puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Ashley Penney
2010-Jan-06 17:55 UTC
Re: [Puppet Users] Weird /etc/hosts issue I''m working on
I''ll give this a try, I''ve never used or written a function so it''s a good learning exercise. My alternative plan was to make an awful exec{} that ran after the network define did that would do a ''sed'' on the /etc/hosts file to fix puppet''s ip, which is terrible. :) On Wed, Jan 6, 2010 at 12:42 PM, Dan Bode <dan@reductivelabs.com> wrote:> Hi Ashley, > > since you are re-ip-ing machines to a different subnet, then I assume that > you are maintaining the IP address for every node on the puppet server? > > The problem with facts here is that you are determining the IPaddress of > the puppet master based on what the IP is as opposed to what it should be > (after the puppet run). I would recommend using a function instead. > > > host { "puppet": > ensure => "present", > ip => get_puppet_master($ip), > } > > and then move the fact logic to this function. > > hope this helps, > > Dan > > On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com> wrote: > >> 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 puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Wed, Jan 6, 2010 at 9:55 AM, Ashley Penney <apenney@gmail.com> wrote:> I''ll give this a try, I''ve never used or written a function so it''s a good > learning exercise. >I am sure you have used at least 2 functions, template and include :)> > My alternative plan was to make an awful exec{} that ran after the network > define did that would do a ''sed'' on the /etc/hosts file to fix puppet''s ip, > which is terrible. :) > > > On Wed, Jan 6, 2010 at 12:42 PM, Dan Bode <dan@reductivelabs.com> wrote: > >> Hi Ashley, >> >> since you are re-ip-ing machines to a different subnet, then I assume that >> you are maintaining the IP address for every node on the puppet server? >> >> The problem with facts here is that you are determining the IPaddress of >> the puppet master based on what the IP is as opposed to what it should be >> (after the puppet run). I would recommend using a function instead. >> >> >> host { "puppet": >> ensure => "present", >> ip => get_puppet_master($ip), >> } >> >> and then move the fact logic to this function. >> >> hope this helps, >> >> Dan >> >> On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com> wrote: >> >>> 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 puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-users?hl=en. >>> >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Ashley Penney
2010-Jan-06 18:09 UTC
Re: [Puppet Users] Weird /etc/hosts issue I''m working on
My only concern about this is that functions evaluate on the server, right? The only place I change ip''s is in a variable ($ip) in nodes.pp for each node. I do export a host{} entry for each box to storeconfig but I don''t know if I can rely on that being updated in time for the function to look. On Wed, Jan 6, 2010 at 1:00 PM, Dan Bode <dan@reductivelabs.com> wrote:> > > On Wed, Jan 6, 2010 at 9:55 AM, Ashley Penney <apenney@gmail.com> wrote: > >> I''ll give this a try, I''ve never used or written a function so it''s a good >> learning exercise. >> > > I am sure you have used at least 2 functions, template and include :) > >> >> My alternative plan was to make an awful exec{} that ran after the network >> define did that would do a ''sed'' on the /etc/hosts file to fix puppet''s ip, >> which is terrible. :) >> >> >> On Wed, Jan 6, 2010 at 12:42 PM, Dan Bode <dan@reductivelabs.com> wrote: >> >>> Hi Ashley, >>> >>> since you are re-ip-ing machines to a different subnet, then I assume >>> that you are maintaining the IP address for every node on the puppet server? >>> >>> The problem with facts here is that you are determining the IPaddress of >>> the puppet master based on what the IP is as opposed to what it should be >>> (after the puppet run). I would recommend using a function instead. >>> >>> >>> host { "puppet": >>> ensure => "present", >>> ip => get_puppet_master($ip), >>> } >>> >>> and then move the fact logic to this function. >>> >>> hope this helps, >>> >>> Dan >>> >>> On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com> wrote: >>> >>>> 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 puppet-users@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/puppet-users?hl=en. >>>> >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Puppet Users" group. >>> To post to this group, send email to puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-users?hl=en. >>> >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Wed, Jan 6, 2010 at 10:09 AM, Ashley Penney <apenney@gmail.com> wrote:> My only concern about this is that functions evaluate on the server, > right?right> The only place I change ip''s is in a variable ($ip) in nodes.pp for each > node.yes, this variable should represent the desired state of ipaddress.> I do export a host{} entry for each box to storeconfig but I don''t know if > I can rely on that being updated in time for the function to look.I don''t follow what you mean here. The function wouldn''t use the exported resource, it would just use $ip. (unless there is something I am not understanding)> >> On Wed, Jan 6, 2010 at 1:00 PM, Dan Bode <dan@reductivelabs.com> wrote: > >> >> >> On Wed, Jan 6, 2010 at 9:55 AM, Ashley Penney <apenney@gmail.com> wrote: >> >>> I''ll give this a try, I''ve never used or written a function so it''s a >>> good learning exercise. >>> >> >> I am sure you have used at least 2 functions, template and include :) >> >>> >>> My alternative plan was to make an awful exec{} that ran after the >>> network define did that would do a ''sed'' on the /etc/hosts file to fix >>> puppet''s ip, which is terrible. :) >>> >>> >>> On Wed, Jan 6, 2010 at 12:42 PM, Dan Bode <dan@reductivelabs.com> wrote: >>> >>>> Hi Ashley, >>>> >>>> since you are re-ip-ing machines to a different subnet, then I assume >>>> that you are maintaining the IP address for every node on the puppet server? >>>> >>>> The problem with facts here is that you are determining the IPaddress of >>>> the puppet master based on what the IP is as opposed to what it should be >>>> (after the puppet run). I would recommend using a function instead. >>>> >>>> >>>> host { "puppet": >>>> ensure => "present", >>>> ip => get_puppet_master($ip), >>>> } >>>> >>>> and then move the fact logic to this function. >>>> >>>> hope this helps, >>>> >>>> Dan >>>> >>>> On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com>wrote: >>>> >>>>> 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 puppet-users@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/puppet-users?hl=en. >>>>> >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Puppet Users" group. >>>> To post to this group, send email to puppet-users@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/puppet-users?hl=en. >>>> >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Puppet Users" group. >>> To post to this group, send email to puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-users?hl=en. >>> >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Ashley Penney
2010-Jan-06 18:18 UTC
Re: [Puppet Users] Weird /etc/hosts issue I''m working on
That sounds about right, I just didn''t know if I could use that variable in a function. I''ll just go away and play rather than post more! On Wed, Jan 6, 2010 at 1:17 PM, Dan Bode <dan@reductivelabs.com> wrote:> > > On Wed, Jan 6, 2010 at 10:09 AM, Ashley Penney <apenney@gmail.com> wrote: > >> My only concern about this is that functions evaluate on the server, >> right? > > > right > > >> The only place I change ip''s is in a variable ($ip) in nodes.pp for each >> node. > > > yes, this variable should represent the desired state of ipaddress. > > >> I do export a host{} entry for each box to storeconfig but I don''t know if >> I can rely on that being updated in time for the function to look. > > > I don''t follow what you mean here. The function wouldn''t use the exported > resource, it would just use $ip. (unless there is something I am not > understanding) > > >> >> > >> On Wed, Jan 6, 2010 at 1:00 PM, Dan Bode <dan@reductivelabs.com> wrote: >> >>> >>> >>> On Wed, Jan 6, 2010 at 9:55 AM, Ashley Penney <apenney@gmail.com> wrote: >>> >>>> I''ll give this a try, I''ve never used or written a function so it''s a >>>> good learning exercise. >>>> >>> >>> I am sure you have used at least 2 functions, template and include :) >>> >>>> >>>> My alternative plan was to make an awful exec{} that ran after the >>>> network define did that would do a ''sed'' on the /etc/hosts file to fix >>>> puppet''s ip, which is terrible. :) >>>> >>>> >>>> On Wed, Jan 6, 2010 at 12:42 PM, Dan Bode <dan@reductivelabs.com>wrote: >>>> >>>>> Hi Ashley, >>>>> >>>>> since you are re-ip-ing machines to a different subnet, then I assume >>>>> that you are maintaining the IP address for every node on the puppet server? >>>>> >>>>> The problem with facts here is that you are determining the IPaddress >>>>> of the puppet master based on what the IP is as opposed to what it should be >>>>> (after the puppet run). I would recommend using a function instead. >>>>> >>>>> >>>>> host { "puppet": >>>>> ensure => "present", >>>>> ip => get_puppet_master($ip), >>>>> } >>>>> >>>>> and then move the fact logic to this function. >>>>> >>>>> hope this helps, >>>>> >>>>> Dan >>>>> >>>>> On Wed, Jan 6, 2010 at 8:04 AM, Ashley Penney <apenney@gmail.com>wrote: >>>>> >>>>>> 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 puppet-users@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>>>> . >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/puppet-users?hl=en. >>>>>> >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Puppet Users" group. >>>>> To post to this group, send email to puppet-users@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/puppet-users?hl=en. >>>>> >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Puppet Users" group. >>>> To post to this group, send email to puppet-users@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/puppet-users?hl=en. >>>> >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Puppet Users" group. >>> To post to this group, send email to puppet-users@googlegroups.com. >>> To unsubscribe from this group, send email to >>> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/puppet-users?hl=en. >>> >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Puppet Users" group. >> To post to this group, send email to puppet-users@googlegroups.com. >> To unsubscribe from this group, send email to >> puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/puppet-users?hl=en. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com<puppet-users%2Bunsubscribe@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.