On Wed, Dec 01, 2010 at 08:42:58AM -0500, [email protected] wrote:
>Forum: Cfengine Help
>Subject: Should it take two cf-agent runs before a change on policyhost is
>implemented on client?
>Author: sdodier
>Link to topic: https://cfengine.com/forum/read.php?3,19530,19530#msg-19530
>
>Implementing changes to a cfengine 3 (cf3) client takes two cf-agent runs.
>
>ISSUE:
>In my particular setup of cf3, I am running cf-serverd on my policyhost, and
>cf-agent in the crontab on the clients. When I run cf-agent on the client, it
>takes two runs before the change that I've made in my policyhost's repository
>to be implemented on the cf3 client. The first run completes all promises
>that are local to the computer running the cf-agent at the same time as it
>copies the changes from the policyhost's repository. The second run will do
>the same as the first, but during this second run the changes from my
>repository are now local to the client running cf-agent, and they are
>implemented as promised. The point being that if my crontab is set to run
>hourly, it will take two hours before a change is actually imposed on the
>client running the cf-agent.
>
>QUESTION:
>Is it normal that it takes two runs before a change is imposed on a cf3 client?
Yes. This is the whole 'convergence' thing, since the first run of the
policy to run will update the files in client:/var/cfengine/inputs/, and
the second run will actualy implement the changes in the newly updated
files.
>If not, how can I make the sync between the policyhost's repository and the
>client running the cf-agent happen first before the promises are imposed?
I've found this problem annoying enough that when not using cf-execd, I just
run cf-agent twice:
cf-agent -BK
cf-agent -KI
The first run updates only the failsafe.cf policy, while the 2nd run
does all of it. I've found it handy to make aliases for both.
If you do run cf-execd, you could also use this as your "exec_command"
string:
body executor control {
# Instead of a separate update script, now do this
exec_command => "$(sys.workdir)/bin/cf-agent -f failsafe.cf &&
$(sys.workdir)/bin/cf-agent";
}
--
Jesse Becker
NHGRI Linux support (Digicon Contractor)
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine