Hello,

We have serverA as central cfengine policy server/application binary 
repository(200MB) and 100 clients(mixture of unix and window) to pull 
policy/binary from this central server. So far, this model is working fine.

Now, we want to separate policy update from binary update. All clients should 
still follow defined schedule to pull policy change from central server, but 
binary update should be controlled by central cfengine server. Here is what I 
am planning to do:

1. On central CFEngine server, when we decided to proceed client binary update, 
 touch a marker file under client's directory(each client has its own directory)
2. Once central CFEngine server detect the marker file under particular 
client's directory, it will modify that client's update policy, adding an 
update class.
3. Client cfengine will pull the new policy and run binary update policy next 
time.
4. Once client update finished, I will remove the marker file and CFEngine will 
switch back to previous update policy, which will be pulled by client.

Above steps look cumbersome. I am testing another idea using 
cf-runagent.(haven't got it working, need figure out how to conditionally run a 
promise,not a command, with ifvarclass) 

1. From central CFEngine server, I issue "cf-runagent -H <hostname> -D 
BinaryUpdateClass"
2. On client, BinaryUpdateClass is passed to "ifvarclass" to determine whether 
it should run the binary update promise or not. 

Your thought is welcome!

Cheers,

enhong
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to