Issue #8433 has been updated by Walter Heck.

I just had the issue in 2.7.6. I had previously worked with modules that 
require a server and a client part like this:

<pre>
modules/foo/manifests/init.pp:
import "*"
</pre>


<pre>
modules/foo/manifests/server.pp:
class foo::server {
}
</pre>

<pre>
modules/foo/manifests/client.pp:
class foo::client {
}
</pre>

So there was no class defined in init.pp, but I was under the impression that 
that was needed to load the other files and make autoloading foo work. After 
going through this issue, I realized I can now *simply delete the whole 
init.pp* and everything just works. Simple and easy, just cost me a bit of 
searching and reading to understand this issue :)
----------------------------------------
Bug #8433: Seemingly random failures after 2.7.1 
https://projects.puppetlabs.com/issues/8433

Author: Gustavo Soares
Status: Accepted
Priority: High
Assignee: Nigel Kersten
Category: modules
Target version: 
Affected Puppet version: 2.7.1
Keywords: 
Branch: 


I've noticed a weird behaviour after trying puppet (gem) 2.7.1. I am planning 
an (huge)
upgrade (from 0.25.x to 2.7.1) in all my puppet's boxes...

I've installed puppet's 2.7.1 gem and got a lot of "Could not find
class" problem... and everything worked just fine with 0.25.x.

So, I decided to uninstall the gem for version 2.7.1 and install
puppet version 2.6.9.

Everything worked just fine... no weird "Could not find class"
problem...

Here are some more info about my environment:

* I do not use parameterized classes and all my classes are "included" (I was 
still using 0.25.x...)
* In my $confdir/manifests/classes/roles I have a very generic class for all 
puppet hosts declared as follow:

<pre>
class role_puppet_common {
        $role = "puppet_common"
        include common
        include puppet::common
        include puppet::user
}
</pre>

in $confdir/manifests/site.pp I have the following line...

<pre>
[...]

import "classes/roles/*"

[...]
</pre>


the weird "Could not find class" problem occurs for class puppet::common

my directory structure is as follow:

<pre>
...
$confdir/modules/puppet/
$confdir/modules/puppet/manifests
$confdir/modules/puppet/manifests/init.pp
$confdir/modules/puppet/manifests/classes/
$confdir/modules/puppet/manifests/classes/common.pp
...
</pre>

in $confdir/modules/puppet/manifests/init.pp  I have:

<pre>
import "puppet/classes/*"
</pre>

and in $confdir/modules/puppet/manifests/classes/common.pp

<pre>
class puppet::common {

...

}
</pre>

* my modulepath declared in puppet.conf is as follow: 

<pre>
modulepath      = /mnt/puppet/conf/modules:/mnt/puppet/othermodules
</pre>

where /mnt/puppet/conf is set to $confdir.

That's it!

As I said before, when I downgraded to version 2.6.9 everything worked fine.




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to