Chris Blumentritt wrote:
> I receive the following error when trying to do the puppet below:
> Failed to parse template s_apache_site/site.conf.erb: Could not find 
> value for 'ipaddress_eth0_0'
> 
> As far as I can tell the ipaddress_eth0_0 fact has to exist on the 
> client before it will parse.  I was hoping that I could get the new ip 
> address in place thus creating the fact so that when the apache site is 
> created the information would be available.  Maybe all facts are 
> compiled at the when puppetd is run and there is no way to add facts 
> during the run of puppetd?

puppet sends all facts to the server at the beginning of each run to 
receive an updated configuration. The configuration is compiled 
(functions run, templates expanded) on the server before passing it on 
to the client. The latter only receives a list of resources which it 
dutifully applies.

Therefore it is impossible to "create" facts on the fly: the client 
doesn't have enough information to re-compile its manifests.

This is one of the few cases (enabling providers is another major one) 
where you have to defer some resources until the next run, where you 
have the facts available.

> The way I see around this is to first add the ip address with out 
> calling the apache::site definition and once the ip address gets on 
> there run puppet with apache::site definition.  There has got to be 
> better way, any suggestions

If you really want to avoid the second run, you can refactor your 
manifest so you are not using a fact in you template, but directly the 
configuration information:


node web1{
        $secondary_ip = xxx

        network::ip { $secondary_ip: }
        apache::site { blah: ip => $secondary_ip }
}


Regards, DavidS

--~--~---------~--~----~------------~-------~--~----~
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+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to