Issue #4220 has been updated by Todd Zullinger.
Status changed from Rejected to Re-opened
This ought to be called out loudly in the release notes then, as it breaks
currently working manifests. I have had trouble in the past when trying to
place all sub-classes in separate files, which is why I often have something
like ssh::client in modules/ssh/manifests/init.pp. I'm glad if many of those
issues are fixed now, but going from "causes fun issues that lead folks to put
classes in init.pp" to "breaks badly if subclasses are in init.pp" in one leap
is going to leave a bad taste in a lot of users mouths.
Please take a poke through the modules on forge.puppetlabs.com and notice a
fair number of them will be broken with this change in behaviour.
I'd surely hesitate to push this to Fedora and EPEL updates with a change like
this. I understand the desire to keep improving, but I would have to wager
that most puppet users are running large, enterprise style deployments and are
not so happy to have to manually change working manifests from one version to
the next just to have them keep working. :(
I don't have time to test this right now, but does this also affect usage like:
class foo {
# do something
class client inherits foo {
# blah
}
}
?
----------------------------------------
Bug #4220: Could not find class ssh::client in namespaces baseclass
http://projects.puppetlabs.com/issues/4220
Author: Todd Zullinger
Status: Re-opened
Priority: High
Assigned to: Markus Roberts
Category: parser
Target version: 2.6.0
Affected version: 2.6.0rc2
Keywords:
Branch:
Testing some basic manifests on CentOS 5 and Fedora 10, I'm running into
problems finding classes. These manifests worked with previous puppet versions.
<pre>
# cat manifests/site.pp modules/ssh/manifests/init.pp
# manifests/site.pp
class baseclass {
include ssh::client
}
node default {
include baseclass
}
# modules/ssh/manifests/init.pp
class ssh {
notify { 'ssh': message => "class = ssh" }
}
class ssh::client inherits ssh {
notify { 'ssh::client': message => "class = ssh::client" }
}
# puppet agent -tv --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could
not find class ssh::client in namespaces baseclass at
/etc/puppet/manifests/site.pp:3 on node c54-64-test.example.net
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
</pre>
--
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.