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.

Reply via email to