Re: [Puppet Users] Prompting fact refresh from Puppet Event

Felix Frank
Wed, 15 Dec 2010 15:12:23 -0000

On 12/15/2010 03:46 PM, Trevor Vaughan wrote:
> Is is possible to spawn a puppet fact refresh from the completion of an
event?
>
> Here''s the scenario:
>
> 64-bit system, either a 64 or 32 bit application ''foo''
could be installed.
>
> If the 64 bit version is installed, foo.conf needs to be configured
> with a prepended lib64 path. If not, then the 32bit default is fine.
>
> The only thing that I could come up with is a custom fact that returns
> the architecture of the installed package and then adjust the path
> based on that.
>
> However, this takes *two* puppet runs to complete and I would like to
> get this down to one run by prompting a fact refresh after the package
> is installed.
>
> Does anyone have any suggestions/techniques?

Hrm, your manifest should be able to handle this one on its own.

Assuming your foo.conf file is part of the foo::config class, add this
subclass:
foo::config::arch64bit {
  File["/etc/foo.conf"] { source => "..." }
}

Then, at the place in the manifest where you pick the 64bit version of
the foo application, add an "include foo::config::arch64bit".

Will this work for your manifest?

Cheers,
Felix