You can't require Class['test2::foo'] unless it's already available where
you're requiring it. You need to include test2::foo in test2::bar.

On Thu, May 17, 2012 at 10:53 AM, LTH <lthar...@vcu.edu> wrote:

> Hello,
>
> I'm having some trouble with subclasses accessing other subclasses within
> the same main class.
>
> I have boiled it down a general case.  I have the following files:
>
> ## /etc/puppet/modules/test1
> class test1 {
>
>   class {'test2::bar':}
>
> }
>
> ## /etc/puppet/modules/test2/init.pp
> class test2 {
>   class {test2::foo}
>   class {test2::bar}
>   class {test2::baz}
> }
>
> ## /etc/puppet/modules/test2/foo.pp
> class test2::foo {
>      # do something here in foo
>
> }
>
> ## /etc/puppet/modules/test2/bar.pp
> class test2::bar {
>      # do something here that requires test2::foo
>   exec { 'bar_in_tmp':
>     path    => '/usr/bin:/usr/sbin:/bin',
>     command => "touch /tmp/bar",
>     creates => '/tmp/bar',
>     require => [
>     Class['test2::foo'],
>                 ],
>   }
>
> }
>
> ## /etc/puppet/modules/test2/baz.pp
>
> class test2::baz {
>   # do something unwanted here
>
>
> }
>
> When the agent runs it dies saying "Could not find dependence
> Class['Test2::Foo']  for Exec['bar_in_tmp']"
>
> Now if I change that line in test1 to just class {'test2':} it runs
> without error.  However since the main class call test2::baz, it does more
> than I wanted.  Am I not understanding something?  How do I just do bar and
> foo?
>
> Thanks in advance,
>
> -LTH
>
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/puppet-users/-/QJOSn1NqhEsJ.
> 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.
>



-- 

James Sweeny
Professional Services
http://puppetlabs.com/

-- 
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