Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
Night's Watch
-
NW - 2022-01-27
-
Needs Assessment
-
Bug Fix
-
-
Needs Assessment
Description
As a result of changes made in the environment convergence epic, the agent no longer calls the Puppet::Node terminus to resolve the environment during the run (before doing pluginsync and the catalog request). If the agent is configured to use a *local* enc, then it will no longer be called.
See gabriel.nagy comment in https://tickets.puppetlabs.com/browse/PUP-11328?focusedCommentId=839470&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-839470 for more information.
We should re-add this capability with the following notes:
1. The terminus should only be called when the following is true:
unless (cached_catalog || options[:catalog] || Puppet[:strict_environment_mode]) |
2. The terminus should only be called if it's overridden from the default.
3. If the terminus should be called with the same parameters as last time, e.g. transaction_uuid.
4. If the terminus returns a node, then the agent should use its environment as the "last known environment" ignoring what is stored in the last run summary.
5. If the terminus returns a node whose environment is nil, then I'm not sure. We should check what happened previously.