Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Incomplete
-
SERVER 1.1.1, SERVER 2.1.1
-
None
-
None
-
EL6
-
Froyo
-
5
-
SE 2016-09-21
Description
puppetserver appears to be unable to load (require) ruby code that resides in paths other than `lib/puppet` inside of a module. This breaks any module that follows the recommended convention of putting module specific logic into the PuppetX::<vendor> name space (./lib/puppet_x/<vendor>/...).
There is a known work around: https://github.com/nanliu/puppet-archive/blob/766062a3465053ca8a326ea0b3c31648a49474a4/lib/puppet/provider/archive/default.rb#L1-L10 but it is both hackish and needs to be applied to all files that require code from outside ./lib/puppet/. I'm facing having to insert this boiler plate into ~20 files for my module to be compatible with puppetserver, which is undesirable. It's also undesirable to require users to have to change their puppetserver configuration to support this idiom.
2015-10-12 13:16:39,202 INFO [puppet-server] Puppet Caching node for agent.lsst.org |
2015-10-12 13:16:39,283 ERROR [puppet-server] Puppet Could not autoload puppet/type/jenkins_user: no such file to load -- puppet_x/jenkins/type/cli |
org/jruby/RubyKernel.java:1072:in `require' |
/usr/share/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54:in `require' |
/etc/puppet/modules/jenkins/lib/puppet/type/jenkins_user.rb:1:in `(root)' |
org/jruby/RubyKernel.java:1091:in `load' |
/usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:1:in `(root)' |
/usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:62:in `load_file' |
Attachments
Issue Links
- relates to
-
SERVER-571 Hiera backends as plugins aren't loaded.
-
- Closed
-
-
PUP-4885 Master and Agent should not share libdir
-
- Closed
-
-
PUP-4450 Cannot load 'provider/network_route/routes.rb'
-
- Needs Information
-
-
SERVER-1014 Puppetserver ignores custom reports
-
- Closed
-
-
SERVER-2236 puppetserver doesnt load report handlers from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/
-
- Closed
-