On Mon, Apr 26, 2010 at 9:31 AM, R.I.Pienaar <r...@devco.net> wrote:
>
> ----- "Douglas Garstang" <doug.garst...@gmail.com> wrote:
>
>> On Mon, Apr 26, 2010 at 9:17 AM, R.I.Pienaar <r...@devco.net> wrote:
>> >
>> > ----- "Douglas Garstang" <doug.garst...@gmail.com> wrote:
>> >
>> >> I wasn't able to get this to run for only CentOS. I tried a few
>> >> different things in the site.pp. I wish I could put a case
>> statement
>> >
>> > site.pp is a special file, it doesn't get evaluated on every run the
>> same way that classes would get.
>> >
>> > So variables like $operatingsystem can have an unpredictable value
>> in some cases.  Best to move this logic to a class.
>>
>> It's been fine so far, but...
>>
>> I really don't see how this would work. Let's say I created a class
>> called os::centos, and included this class anywhere I wanted to have
>> the package clean functionality for CentOS. Firstly, how do you
>> guarantee that the package refresh is performed before any of the
>> packages in this module are installed? By using the site.pp file I am
>
> first thing that jumps to mind is..
>
> class os::setup {
>  include "os::setup::$operatingsystem"
> }
>
> package{"foo":
>  require => Class["os::setup"]
>  .
> }
>
> you could also use a define to wrap the package command ensuring it gets done.

Do defines get excuted before everything else in a module? That's
really not clear, and I'm not sure if it's documented. It also seems
that putting facter variables in include statements is not supported
in puppet 0.24.8. :(

Doug

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@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