Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
PUP 5.5.20, PUP 6.17.0
-
Night's Watch
-
3
-
NW - 2020-09-01, NW - 2020-09-16
-
Reviewed
-
39595,40456
-
2
-
Enhancement
-
Move the puppetserver_gem provider in core puppet. Previously, the provider was part of the puppetlabs-puppetserver_gem module which will no longer receive updates.
-
Needs Assessment
Description
The core puppet types and providers include a puppet_gem provider for the package resource that knows how to interact with the Ruby interpreter bundled with the puppet-agent package.
The puppetserver service also bundles its own JRuby interpreter and requires the used of the puppetserver gem command to install packages. There is an unsupported module, puppetlabs/puppetserver_gem, that adds a puppetserver_gem provider for package resources that fills an analogous role.
However, having this provider de-coupled from the Puppet core means it can be broken by changes in the core in a way that interferes with upgrades. PUP-6488 was one such instance where the parent Gem provider was altered in a way that was incompatible with puppet_gem and puppetserver_gem. Both providers were patched, but the breakage in puppet_gem was automatically resolved by an upgrade while the breakage in puppetserver_gem requires users to discover, understand, and then upgrade the module.
To prevent these sorts of issues, puppetserver_gem provider should be bundled along with puppet_gem by puppet-agent.