Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
Froyo
-
3
-
Froyo - 10/6/2021
-
Needs Assessment
-
Needs Priority
-
44982
-
1
-
Enhancement
-
The v4 catalog endpoing (used by Impact Analysis) now supports retrieving facts from any facts terminus, if none are provided with the request.
-
Needs Assessment
Description
PE 2019.8.7 & CD4PE 4.6.1
Puppet Version: 6.23.0
Puppet Server Version: 6.16.0
OS Name/Version: RHEL 7
This issue has been raised from a customer support ticket where both CD4PE and the satellite PE tools are both in use in conjunction with Puppet Enterprise.
In the set-up for the satellite tools modules, the fact terminus is set to satellite and this ensures facts will be sent to both satellite and puppetdb.
However, when the customer tries to run Impact Analysis from CD4PE, they are met with the following error:
"Internal Server Error: org.jruby.exceptions.RuntimeError: (Error) PuppetDB not configured, please provide facts with your catalog request." |
This looks like the puppet/v4/catalog API is hard-wired such that it can only retrieve facts from the PuppetDB terminus:
https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb#L177-L182
Desired Behavior: Allow fact retrieval from the puppet/v4/catalog API when terminus is not set to puppetdb
Actual Behavior: WHen fact terminus is set to satellite, the puppet/v4/catalog API is hard coded to error out.
–
Outcomes
- Fix this issue for custom termini more generally by using the indirector. This file should have examples of using the indirector: https://github.com/puppetlabs/puppetserver/blob/6.16.0/src/ruby/puppetserver-lib/puppet/server/compiler.rb
- If it turns out that using the indirector is more complicated than we anticipated, we should stop and re-evaluate potential solutions in order to support the satellite terminus more quickly.
- Determine if any docs updates are needed (internal and external).