Issue #3757 has been updated by Jeff McCune. Assignee changed from eric sorenson to Jeff McCune
After more investigation, there are now two different ways catalog are prevented from happening: 1: A catalog run is already in progress. (The file agent_pidfile exists, created by a Puppet agent performing a catalog run) 2: The user has explicitly disabled catalog runs.(The file `agent_disabled_lockfile` exists, created by an user running puppet agent --enable) In 2.7.x these two different ways to prevent a catalog run are overloaded into the same file, `puppetdlockfile`. In 3.x `puppet agent --enable` operates against `agent_disabled_lockfile` but not `agent_pidfile`. The reason I saw no change while running `puppet agent --enable` in Telly is because the `agent_pidfile` exists. I'm going to leave this open because `agent_pidfile` is still very confusing. The term "puppet agent running" is also very confusing because it is ambiguous whether the term refers to the running agent daemon process or the catalog configuration run. Before the 3.0.0 release I'm going to rename `agent_pidfile` to `agent_catalog_run_lockfile` and improve the description to make it clear the setting refers to catalog runs and not running agent processes. -Jeff ---------------------------------------- Feature #3757: --enable and --disable should be improved https://projects.puppetlabs.com/issues/3757#change-71294 Author: R.I. Pienaar Status: Re-opened Priority: Normal Assignee: Jeff McCune Category: executables Target version: 3.0.0 Affected Puppet version: 0.25.4 Keywords: mcollective enabledisable Branch: https://github.com/puppetlabs/puppet/pull/680 At present the --enable/--disable and associated checks on the puppetd is all done via a lock file /var/lib/puppet/state/puppetdlock. My investigations reveal the behavior of this file to be: * if exist and it's empty, someone ran --disable * if exist and it's got a PID in it puppetd is doing a manifest run at present * if it's absent its enabled and not running The problem comes when you want to disable the daemon while it's running a manifest. The lock file with PID in it will remain in place and once puppetd is done doing its run it will remove the lock file, leaving your client enabled when infact it was asked to disable the client and not run in future. So I want to be able to disable future runs even while a current run is happening. The easiest might be to have 2 lock files - one to indicate enabled/disabled and one to indicate running dont start another concurrent run. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
