TEST Satellite: After migrating to v6.4 I see PUPPET 'stdlib' issues

Solution Unverified - Updated

Environment

  • Satellite 6.4
  • Puppet

Issue

  • I have just created by first systems (using PXE) in our TEST network since upgrading the satellite server to v6.4
  • When I attempt to run the 'puppet agent' I get the following message:-
# puppet agent -t
Info: Using configured environment 'KT_ACME_Development_CCV_RHEL7_11'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Resource type not found: Stdlib::Filemode (file: /etc/puppetlabs/code/environments/KT_ACME_Development_CCV_RHEL7_11/modules/logrotate/manifests/init.pp, line: 14, column: 3) on node satellite.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
# puppet agent -t --tags=motd
Info: Using configured environment 'KT_ACME_Development_CCV_RHEL7_11'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Resource type not found: Stdlib::Filemode (file: /etc/puppetlabs/code/environments/KT_ACME_Development_CCV_RHEL7_11/modules/logrotate/manifests/init.pp, line: 14, column: 3) on node satellite.example.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Resolution

There are two options:

  • Update stdlib in basemodulepath directory, which will provide required version to all environments as below
# puppet module install puppetlabs-stdlib --target-dir /usr/share/puppet/modules/
  • Use the appropriate version of stdlib for every CV.

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

  • According to documentation for Content from forge.puppet.com is not included.logrotate puppet module has stdlib as dependency.
  • Because of that stdlib always needed to be available.
  • Satellite provides stdlib in version 4.2.1 which is located in /usr/share/puppet/modules.
  • This directory is also set as basemodulepath, which means all modules from this directory is available to all evnironments.
  • The main issue here seems to be that logrotate in its latest version require stdlib in versions (>= 4.22.0 < 6.0.0).
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.