Issue #8433 has been updated by Edward Simmonds.

I don't know what the status of this is, but this completely breaks our Puppet 
configuration.  We have just spent six months building and deploying Puppet 2.6 
on thousands of nodes, and it looks like we're looking at a massive refactor 
effort if we expect to migrate to 2.7.  I'm not even sure it is even possible 
to use this new structure with the complexity of our environment.

When was the decision made to eliminate "import"?  Was this documented 
anywhere?  It may be that we just don't understand how modules are supposed to 
be used, but I don't get the idea behind this at all.  It seems to me what you 
are saying here is that if I want to create a module, let's say for "foo", and 
have some classes inside of that, I have to include them all on each node that 
uses anything in module "foo".

For example:

foo::server  (server setup of service foo)
foo::client  (client setup of service foo)

init.pp:

class foo {

include  foo::server
include  foo::client

}

And in the node.pp:

node node.pp {

include foo

}

If we do this, we have to install both foo::server and foo::client on each 
node.  So obviously I am missing something here, but we use our modules to 
configure various forms of functionality around a particular service (e.g., 
apache, nis, afs).  

We need to be able to install foo::server on one node, and foo::client on 
another node.  

Thus:

node client {

include foo::client

}

node server {

include foo::server

}

The way I read this is that I'll need a separate module for each one, this:

modules/foo_server
modules/foo_client

So what am I missing?  


----------------------------------------
Bug #8433: Seemingly random failures after 2.7.1 
https://projects.puppetlabs.com/issues/8433

Author: Gustavo Soares
Status: Needs More Information
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