Issue #7316 has been updated by Daniel Pittman. Status changed from Unreviewed to Needs Decision Assignee set to Nigel Kersten Affected Puppet version set to 2.7.0rc1
Nigel, I don't know if we want to support this or not, but it is a genuine issue. The Faces code doesn't make substantial effort to massage the module path into the Ruby load path, and uses only the later to try and locate code. Given we extensively use `require` for loading, *not* having those library directories on the Ruby load path will require substantial extra work, as well as reimplementing the `require` mechanism ourselves. On the other hand, obviously we *don't* already put the `lib` directories on the module path into the Ruby load path, so I don't know what side-effects that change might have on the system; that makes me nervous about putting this into the RC series for 2.7, and about putting it in post-2.7.0, since both of those might be the worst choice depending on what assumptions this tripped up. ---------------------------------------- Feature #7316: faces should support loading faces from modulepath https://projects.puppetlabs.com/issues/7316 Author: Dan Bode Status: Needs Decision Priority: Normal Assignee: Nigel Kersten Category: Faces Target version: Affected Puppet version: 2.7.0rc1 Keywords: Branch: In the below example, I have added a module to the modulepath that contains faces code. This issue can be resolved by adding the modules lib dir to RUBYLIB. <pre> # puppet interface list Error: Unknown Puppet subcommand interface. /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:21:in `faces': Could not load puppet/face/catalog from /usr/local/dev/puppet//lib//puppet/face/catalog: no such file to load -- puppet/face/catalog/diffstore (RuntimeError) from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:15:in `each' from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:15:in `faces' from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:14:in `chdir' from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:14:in `faces' from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:12:in `each' from /usr/local/dev/puppet//lib/puppet/interface/face_collection.rb:12:in `faces' from /usr/local/dev/puppet//lib/puppet/interface.rb:26:in `faces' from /usr/local/dev/puppet//lib/puppet/face/help/global.erb:4:in `help implementation, required on Ruby 1.8' from /usr/local/dev/puppet//lib/puppet/face/help.rb:91:in `help implementation, required on Ruby 1.8' from /usr/local/dev/puppet//lib/puppet/interface/action.rb+eval[wrapper]:189:in `__send__' from /usr/local/dev/puppet//lib/puppet/interface/action.rb+eval[wrapper]:189:in `help' from /usr/local/dev/puppet//lib/puppet/util/command_line.rb:75:in `execute' from /usr/local/dev/puppet//bin/puppet:4 <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.
