Puppet server fails to start on Satellite/Capsule 6.x with `NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary` due to `fapolicyd` service being enabled
Environment
- Satellite 6
Issue
-
Not able to start puppet server in capsule server.
-
Start
puppetserverfails with:Mar 06 15:50:48 satellite.example.com systemd[1]: Starting puppetserver Service... Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: load_ext at org/jruby/ext/jruby/JRubyUtilLibrary.java:201 Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: <main> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/psych.rb:7 Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: require at org/jruby/RubyKernel.java:974 Mar 06 15:50:56 satellite.example.com puppetserver[1761305]: require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:83
Resolution
-
Disable
fapolicydservice.systemctl disable --now fapolicyd systemctl start puppetserver
For more KB articles/solutions related to Red Hat Satellite 6.x Puppet Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Puppet Issues
Root Cause
fapolicydis enabled and it is denying access to some required files.- Refer to How to configure fapolicyd in satellite 6?
Diagnostic Steps
-
fapolicydservice is enabled and/var/log/puppetlabs/puppetserver/puppetserver.logshows next error message.2025-03-13T11:05:31.382Z ERROR [async-dispatch-2] [p.t.internal] Error during service init!!! java.lang.IllegalStateException: Unable to borrow JRubyInstance from pool at puppetlabs.services.jruby_pool_manager.impl.jruby_internal$fn__34208$borrow_from_pool_BANG__STAR___34213$fn__34214.invoke(jruby_internal.clj:323) ... ... Caused by: org.jruby.embed.EvalFailedException: (NameError) Java class org.jruby.ext.psych.PsychLibrary not found at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:135) ... ...
SBR
Product(s)
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.