-
Type:
Improvement
-
Status: Resolved
-
Priority:
Normal
-
Resolution: Fixed
-
Affects Version/s: PUP 5.5.20, PUP 6.17.0
-
Fix Version/s: PUP 6.19.0
-
Component/s: Types and Providers
-
Labels:
-
Template:customfield_10700 367865
-
Team:Night's Watch
-
Story Points:3
-
Sprint:NW - 2020-09-01, NW - 2020-09-16
-
CS Priority:Reviewed
-
Zendesk Ticket IDs:39595,40456
-
Zendesk Ticket Count:2
-
Release Notes:Enhancement
-
Release Notes Summary: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.
-
QA Risk Assessment:Needs Assessment
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.