Puppet server fails to start on Red Hat Satellite 6.x with 'NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary' due to Puppet being disabled

Solution Verified - Updated

Environment

  • Red Hat Satellite 6

Issue

  • The Puppet server fails to start after restarting the Satellite services.

    Mar 06 15:50:48 gtnrc-sat01v.cms.colt systemd[1]: Failed to start puppetserver Service.
    Mar 06 15:50:48 gtnrc-sat01v.cms.colt systemd[1]: puppetserver.service: Service RestartSec=100ms expired, scheduling restart.
    Mar 06 15:50:48 gtnrc-sat01v.cms.colt systemd[1]: puppetserver.service: Scheduled restart job, restart counter is at 12727.
    Mar 06 15:50:48 gtnrc-sat01v.cms.colt systemd[1]: Stopped puppetserver Service.
    Mar 06 15:50:48 gtnrc-sat01v.cms.colt systemd[1]: Starting puppetserver Service...
    Mar 06 15:50:56 gtnrc-sat01v.cms.colt puppetserver[1761305]: NameError: cannot load Java class org.jruby.ext.psych.PsychLibrary
    

Resolution

  • Enable puppetserver service by satellite-installer.
# satellite-installer --enable-foreman-cli-puppet --enable-foreman-plugin-puppet --enable-puppet --foreman-proxy- 
puppet true --foreman-proxy-puppetca true --puppet-server true

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

  • Puppet was disabled by satellite-installer

Diagnostic Steps

  • Puppet was disabled by satellite-installer, which can be verified from the /etc/foreman-installer/scenarios.d/satellite-answers.yaml file, where the puppet parameter is set to false.
 # grep -i "puppet: false" /etc/foreman-installer/scenarios.d/satellite-answers.yaml

 puppet: false
  • Additionally, the same can be verified by executing the following command on the Satellite server.
# satellite-maintain service status -b
Running Status Services
================================================================================
Get status of applicable services:
Displaying the following service(s):
redis, postgresql, pulpcore-api, pulpcore-content, pulpcore-worker@1.service, pulpcore-worker@2.service, 
pulpcore-worker@3.service, pulpcore-worker@4.service, pulpcore-worker@5.service, pulpcore-worker@6.service, 
pulpcore-worker@7.service, pulpcore-worker@8.service, tomcat, dynflow-sidekiq@orchestrator, foreman, httpd, 
puppetserver, dynflow-sidekiq@worker-1, dynflow-sidekiq@worker-hosts-queue-1, foreman-proxy
\ displaying redis                                 [OK]
\ displaying postgresql                            [OK]
| displaying pulpcore-api                          [OK]
| displaying pulpcore-content                      [OK]
| displaying pulpcore-worker@1.service             [OK]
| displaying pulpcore-worker@2.service             [OK]
| displaying pulpcore-worker@3.service             [OK]
| displaying pulpcore-worker@4.service             [OK]
| displaying pulpcore-worker@5.service             [OK]
| displaying pulpcore-worker@6.service             [OK]
| displaying pulpcore-worker@7.service             [OK]
| displaying pulpcore-worker@8.service             [OK]
| displaying tomcat                                [OK]
| displaying dynflow-sidekiq@orchestrator          [OK]
| displaying foreman                               [OK]
| displaying httpd                                 [OK]
| displaying puppetserver                          [FAIL]
| displaying dynflow-sidekiq@worker-1              [OK]
| displaying dynflow-sidekiq@worker-hosts-queue-1  [OK]
| displaying foreman-proxy                         [OK]
| All services displayed                                              [FAIL]
 Some services are not running (puppetserver)
SBR
Product(s)
Components
Category

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.