Issue #8433 has been updated by Nigel Kersten.
Thanks Peter for the awesome response. "import is imho a left over of puppet’s dark ages and should in my humble opinion really not be used, there is simply no reason to use it. It caused various problems in the past, like the ones we are seeing here now." That's exactly right. We have very few reasons to need import now, and they're all at site.pp level, where you want to define things like resource defaults and node definitions. Life is significantly easier if you use include with the autoloader. We haven't deliberately broken anything here, but it is in a de-emphasized area of the code base, and people have been using import in many many different ways, so it's been difficult to identify what actual fixes we need to make. If it comes down to prioritizing fixes against include/autoloader vs fixes against import, the former is definitely going to win in most cases right now. ---------------------------------------- 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.
