Thanks John, I did this get to work.
On Saturday, 5 December 2015 01:25:23 UTC+11, jcbollinger wrote:
>
>
>
> On Thursday, December 3, 2015 at 11:09:47 PM UTC-6, Haani Niyaz wrote:
>>
>> Thanks for the clarification. I did forget to mention that I tried the
>> ordering of my classes as well:
>>
>> class { 'server_packages':
>> # list of packages
>> server_packages => hiera('server_packages'),
>> enable_repo => 'my-rpms,base',
>> } ->
>>
>> class { 'some_class':
>> # params here
>> }
>>
>>
>
> I see no reason to change my earlier remarks, but looking more closely, it
> does appear that you have a containment problem
> <https://docs.puppetlabs.com/puppet/latest/reference/lang_containment.html>.
> Although the evidence is in your log, it would have been more apparent if
> you had given a more complete representation of your Class[some_class].
>
> Note in particular that your log excerpt does not show any resource
> belonging to Class[some_class] applied before Package[mysql-devel.x86_64]
> or any other resource declared by Class[server_packages]. What it shows
> is resources declared by *other* classes (e.g. Class[some_class::Service])
> being applied in that window. When one end of a relationship is a class,
> C, the relationship is transitive to the resources declared directly by C,
> but it is *not* automatically transitive to other *classes* declared by
> C. That is, although classes serve as containers for the resources they
> declare, they do not automatically contain the other classes they declare.
>
> That (lack of) class containment behavior is intentional and desirable as
> a default, but often enough you do want classes to contain other classes.
> For that, there is the `contain` function, which provides include-like
> class declarations with containment semantics, and which therefore can be
> used also in addition to another declaration of the same class to add
> containment semantics. Although the details of your Class[some_class]
> are unclear, you probably want something more or less along these lines:
>
> class some_class (
> # params here
> ) {
> contain some_class::install
> contain some_class::config
> contain some_class::gem_Install
> contain some_class::service
>
> Class[some_class::install]
> -> Class[some_class::config]
> -> Class[some_class::gem_install]
> -> Class[some_class::service]
> }
>
>
> John
>
>
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/4e4a7333-a4c8-4d68-bf50-76e0dcb6a0e0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.