On Wed, Dec 30, 2009 at 10:45 PM, Sukh Khehra <skhe...@proofpoint.com>wrote:
> Thanks Dan. Unfortunately, this did not work for me. > > > > err: Could not apply complete catalog: Could not retrieve dependency > 'Class[::http]' of Class[puppet::http] > > > > Does anyone know of another way to fully qualify the class name when > requiring it? I was hoping to not have to change the names of these > pre-existing classes. > I am in the process of filing a bug on this. The best way to get around this without changing the class names is to include, and then set the class require inside your resources. class test2::test{ include ::test file{'/tmp/test2test3': content => 'blah', require => Class['::test'], } } hope this helps, Dan > > > > ------------------------------ > > *From:* puppet-users@googlegroups.com [mailto: > puppet-us...@googlegroups.com] *On Behalf Of *Dan Bode > *Sent:* Wednesday, December 30, 2009 1:31 PM > *To:* puppet-users@googlegroups.com > *Subject:* Re: [Puppet Users] yet another class dependency question. > > > > Hi, > > On Wed, Dec 30, 2009 at 9:52 PM, Sukh Khehra <skhe...@proofpoint.com> > wrote: > > Hi, > > I am running puppet version 0.25.1 on both the server and client and am > getting the following error on a puppet run: > > err: Could not apply complete catalog: Could not retrieve dependency > 'Class[http]' of Class[puppet::http] > > Class http is defined in the "http" module like so: > > > class http { > package { httpd: ensure => installed } > file { > "httpd.conf": > ensure => present, > ... > > > Class puppet::http is defined in the puppet module like so: > > class puppet::http { > require http > file { > "http-puppet.conf": > ensure => present, > path => "/etc/httpd/conf.d/puppet.conf", > ... > > > I have a feeling that it maybe a scoping issue with a namespace collision > between puppet::http and http. you are calling require http from the > namespace of puppet::http, which is checking puppet before it checks root > (::)so it actually thinks that you are requiring puppet::http and not http. > I have seen this issue before with includes. To resolve it with include, you > can add the prefix ::http (which means from the root namespace) > > Feel free to try this > # this works for includes > require ::http > > but it unfortunately didnt work for me, so this might actually be a bug. > > the easiest fix is not to use puppet::http for the name of the class, try > puppet::apache or something. > > > > In this test setup both my client and server are the same node in the > same production environment and here's what my module organization looks > like. > > # egrep -i '^\[|module|environment' /etc/puppet/puppet.conf > [main] > environments = production,staging,development,testing > environment = production > [puppetd] > environment = production > [puppetmasterd] > # environments > [production] > modulepath = $confdir/modules/production > [staging] > modulepath = $confdir/modules/staging:$confdir/modules/production > [development] > modulepath = $confdir/modules/development > [testing] > modulepath = $confdir/modules/testing:$confdir/modules/production > > > # ls -1d /etc/puppet/modules/production/puppet > /etc/puppet/modules/production/http > /etc/puppet/modules/production/http > /etc/puppet/modules/production/puppet > > > Why wouldn't it be able to retrieve dependency class http? > > -- > > 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<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > > > -- > > 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<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > -- > 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<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > -- 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.