Jira (PUP-9754) Log resident configuration upon daemon launch

0 views
Skip to first unread message

Garrett Guillotte (JIRA)

unread,
Jun 14, 2019, 4:25:04 PM6/14/19
to puppe...@googlegroups.com
Garrett Guillotte created an issue
 
Puppet / Improvement PUP-9754
Log resident configuration upon daemon launch
Issue Type: Improvement Improvement
Assignee: Unassigned
Created: 2019/06/14 1:24 PM
Priority: Normal Normal
Reporter: Garrett Guillotte

Problem Statement

When attempting to diagnose issues with configuration drift within Puppet agent itself (such as changes to `puppet.conf` not picked up by the agent), there is no way to confirm that the resident configuration is the same as the current state of the configuration files.

Suggested Improvement

Either at info or debug logging levels, dump the configuration used by the daemon on launch and also when the daemon reloads the configuration.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Garrett Guillotte (JIRA)

unread,
Jun 14, 2019, 4:33:03 PM6/14/19
to puppe...@googlegroups.com
Garrett Guillotte updated an issue
Change By: Garrett Guillotte
*Problem Statement*


When attempting to diagnose issues with configuration drift within Puppet agent itself (such as changes to `puppet.conf` not picked up by the agent), there is no way to confirm that the resident configuration is the same as the current state of the configuration files.

For example, we can confirm configuration file settings with {{puppet config print}} and lookup PE keys with {{puppet lookup}}, but these only reflect what's currently written to the filesystem—if the daemon launched with different settings, there's no equivalent command to confirm its resident configuration.

*Suggested Improvement*


Either at info or debug logging levels, dump the configuration used by the daemon on launch and also when the daemon reloads the configuration.

Jarret Lavallee (JIRA)

unread,
Jun 14, 2019, 4:34:03 PM6/14/19
to puppe...@googlegroups.com
Jarret Lavallee updated an issue
Change By: Jarret Lavallee
CS Priority: Needs Priority

Mihai Buzgau (JIRA)

unread,
Jun 18, 2019, 9:35:03 AM6/18/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - Triage

Josh Cooper (JIRA)

unread,
Jun 19, 2019, 1:54:04 PM6/19/19
to puppe...@googlegroups.com
Josh Cooper commented on Improvement PUP-9754
 
Re: Log resident configuration upon daemon launch

Logging every setting value could get spammy. We may want to limit this to only log settings whose values are different than the default and/or add a signal handler (maybe USR2?) to dump the configuration in response to the signal. Not sure about Windows.

This is another reason to run puppet from cron instead of running our homegrown daemonization code.

Jarret Lavallee (JIRA)

unread,
Jun 20, 2019, 7:35:03 PM6/20/19
to puppe...@googlegroups.com
Jarret Lavallee updated an issue
 
Change By: Jarret Lavallee
CS Priority: Needs Priority Reviewed

Mihai Buzgau (JIRA)

unread,
Jul 10, 2019, 5:28:03 AM7/10/19
to puppe...@googlegroups.com

Mihai Buzgau (JIRA)

unread,
Jul 10, 2019, 5:28:03 AM7/10/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - Triage 2019-07-23

Garrett Guillotte (JIRA)

unread,
Jul 11, 2019, 6:23:03 PM7/11/19
to puppe...@googlegroups.com
Garrett Guillotte updated an issue
Change By: Garrett Guillotte
*Problem Statement*

When attempting to diagnose issues with configuration drift within Puppet agent itself (such as changes to `puppet.conf` not picked up by the agent), there is no way to confirm that the resident configuration is the same as the current state of the configuration files.

For example, we can confirm configuration file settings with {{puppet config print}} and lookup PE keys with {{puppet lookup}}, but these only reflect what's currently written to the filesystem—if the daemon launched with different settings, there's no equivalent command to confirm its resident configuration.

*Suggested Improvement*

Either at info or debug logging levels, dump the configuration used by the daemon on launch and also when the daemon reloads the configuration.


*Use cases*

* User Dougie wants to change a setting on disk (for instance, in {{puppet.conf}} or in PE Hiera keys) that doesn't have an obvious measurable impact, but he still wants to confirm that the change is picked up by the daemon after it is restarted. (For instance, Dougie might want to confirm that changing a setting in {{puppet.conf}} takes effect if the setting also exists in Hiera or the classifier.) If the daemon dumps its settings on launch with debug-level logging enabled, Dougie could confirm that the daemon's new settings match the settings on disk.

* User Dougie launches the agent daemon, then user Bob changes the agent settings on disk. The agent daemon then runs uninterrupted for a length of time. Dougie is concerned that the setting on disk might have been changed, and if so wants to revert the change. However, he cannot remember the altered setting's original value. If the daemon dumped its settings on launch at info log level, Dougie could confirm that the settings on disk were changed and revert them to their original value.

* User Dougie launches the agent daemon, then user Bob changes the agent settings on disk. The agent daemon then runs uninterrupted for a length of time. The agent eventually exhibits signs of a potential issue related to an agent setting, and Dougie calls Support. Using the settings that Bob set on disk, Support cannot reproduce the problem. It also does not appear that the daemon reloaded the settings from disk. Dougie does not remember how the settings Bob changed were configured when the running daemon was launched. If the daemon dumped its settings on launch at info log level, Support could confirm the settings in use by the daemon and attempt to reproduce the issue.

Mihai Buzgau (JIRA)

unread,
Jul 24, 2019, 4:31:09 AM7/24/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - 2019-07-23 , NW - 2019-08-07

Ciprian Badescu (JIRA)

unread,
Jul 26, 2019, 10:16:03 AM7/26/19
to puppe...@googlegroups.com

Ciprian Badescu (JIRA)

unread,
Jul 26, 2019, 11:27:20 AM7/26/19
to puppe...@googlegroups.com
Ciprian Badescu commented on Improvement PUP-9754
 
Re: Log resident configuration upon daemon launch

My understanding is that the config should be logged with debug only at puppet agent startup, daemon or not. Garrett Guillotte, pls confirm.

 

On floaty centos-7-x86_64, this will add extra ~200 lines to already existing ~5000 in debug mode. Josh Cooper, does it sounds reasonable?

Mihai Buzgau (JIRA)

unread,
Aug 7, 2019, 4:38:07 AM8/7/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - 2019-07-23, NW - 2019-08-07 , NW - 2019-08-21

Garrett Guillotte (JIRA)

unread,
Aug 9, 2019, 4:34:03 AM8/9/19
to puppe...@googlegroups.com

Mihai Buzgau (JIRA)

unread,
Aug 21, 2019, 5:17:07 AM8/21/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - 2019-07-23, NW - 2019-08-07, NW - 2019-08-21 , NW - 2019-09-03

Josh Cooper (JIRA)

unread,
Aug 28, 2019, 3:46:04 PM8/28/19
to puppe...@googlegroups.com

Mihai Buzgau (JIRA)

unread,
Sep 4, 2019, 5:17:06 AM9/4/19
to puppe...@googlegroups.com
Mihai Buzgau updated an issue
Change By: Mihai Buzgau
Sprint: PR - 2019-07-23, NW - 2019-08-07, NW - 2019-08-21, NW - 2019-09-03 , NW - 2019-09-18

Dorin Pleava (JIRA)

unread,
Sep 11, 2019, 9:50:03 AM9/11/19
to puppe...@googlegroups.com
Dorin Pleava updated an issue
Change By: Dorin Pleava
Fix Version/s: PUP 6.9.0

Jean Bond (JIRA)

unread,
Sep 16, 2019, 3:32:03 PM9/16/19
to puppe...@googlegroups.com
Jean Bond commented on Improvement PUP-9754
 
Re: Log resident configuration upon daemon launch

Josh Cooper or Ciprian Badescu, I'm looking for a bit of clarification on the release note. It says:

(by default daemon mode can be enabled on POSIX systems and is disabled on Windows)

Does the mean daemon mode is enabled by default on POSIX, or it is disabled by default on POSIX and the user can enable it?
And for Windows, this says it is disabled by default. Can the user enable it?

Josh Cooper (JIRA)

unread,
Sep 16, 2019, 6:29:03 PM9/16/19
to puppe...@googlegroups.com
Josh Cooper commented on Improvement PUP-9754

Jean Bond The puppet agent process will daemonize by default on POSIX systems, though it can be prevented a few different ways, such as setting Puppet[:daemonize]=false, specifying puppet agent ---onetime, or more commonly puppet agent --test. The new behavior in this ticket only occurs when the agent daemonizes and the log level is set to debug.

Also Windows handles daemonizing differently, so this ticket doesn't apply to puppet on Windows.

George Mrejea (JIRA)

unread,
Oct 3, 2019, 7:24:03 AM10/3/19
to puppe...@googlegroups.com
George Mrejea updated an issue
 
Change By: George Mrejea
Fix Version/s: PUP 6.4.4
Fix Version/s: PUP 5.5.17

Jean Bond (JIRA)

unread,
Oct 9, 2019, 7:46:03 PM10/9/19
to puppe...@googlegroups.com
Jean Bond updated an issue
Change By: Jean Bond
Labels: resolved-issue-added
Reply all
Reply to author
Forward
0 new messages