Hey, Paul. I re-posted your question to the Cfengine mailing list.
Here are two answers:
a) There is a component in Cfengine 3 that's like a "do it now" button,
it tells the cfengine clients to pull down the latest policy from the policy
server and execute it: cf-runagent. You run that on the policy server
and it pings all the policy clients that there is a new policy available.
b) If you want to use ssh and sudo, you can run cfengine using
"cf-execd -FD doitnow" to define the "doitnow" class -- see more
below.
----- start quote from Neil Watson -----
Hi Aleksey,
If I understand correctly the question is how can the agent run in dry-run
only mode unless specifically told otherwise. I think you could do this
using classes in the control bodies. For example.
body executor control {
splaytime => "3"; # CHANGEME for development
schedule => { "Min05", "Min25" }; # CHANGEME for development
!doitnow::
exec_command => "/var/cfengine/bin/cf-agent --dry-run";
doitnow::
exec_command => "/var/cfengine/bin/cf-agent";
}
To 'do it now' run the executor with the above class set: cf-execd -FD doitnow
The above is completely untested.
Sincerely,
--
Neil Watson
416-673-3465
----- end quote from Neil -----
c) There's likely a way to tie (a) and (b) together so you can do the
whole thing within Cfengine and without the ssh/sudo loop - in other
words define "doitnow" true or false within the policy itself.
If you want to follow up on the details of this Cfengine 3
implementation, or your
success with it, please come to the help-cfengine mailing list.
HTH,
Aleksey
_______________________________________________
Discuss mailing list
[email protected]
http://lopsa.org/cgi-bin/mailman/listinfo/discuss
This list provided by the League of Professional System Administrators
http://lopsa.org/