Issue #3757 has been updated by Chris Price.
Assignee set to Chris Price
This still needs to get merged back in to Telly. I've discussed with Nigel and
Daniel, and the summary of current affairs is:
1. There seems to be general consensus (at least from the dev side) that
minimizing file-based API is probably wise
2. These two cases ("is an agent running?", and "is an agent administratively
disabled, and why?") seem to qualify as cases where a file-based API is useful
enough to accept the negative consequences
3. These cases need to be documented very clearly, explicitly, publicly... both
in the code and wherever we are documenting public API on the web site.
4. Even though we should attempt to minimize the amount of data that these
files contain (so that we can minimize backward-compatibility concerns in the
future), if we're going to put data in these files at all, it would be smart to
add a minimal amount of structure to it (key-value pairs in this case) to give
us more flexibility down the road.
----------------------------------------
Feature #3757: --enable and --disable should be improved
https://projects.puppetlabs.com/issues/3757#change-58060
Author: R.I. Pienaar
Status: Re-opened
Priority: Normal
Assignee: Chris Price
Category: executables
Target version: Telly
Affected Puppet version: 0.25.4
Keywords: mcollective enabledisable
Branch: https://github.com/puppetlabs/puppet/pull/216
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.