This happens especially if what I have created/updated is in a subdirectory under ./masterfiles.I have checked with tcpdump that each client is in fact communicating with the master server via the cfengine port (5308) every 5 minutes.My problem: cfengine3 policies are manually created/updated on the server (policy hub), and the clients regularly (every ~ 5 minutes) pull those from the server:/var/cfengine/masterfiles to their respective someclient:/var/cfengine/inputs (as they should). An updated file in the server may not be reflected in the clients until a good while later.It can be 30 minutes or more until it suddenly "sees" the update.Thanks The answer of maciejmrowiec is good, but incomplete; there is no obligation in CFEngine to have the same promises on ALL your nodes; but that's the default behaviour There are two ways to achieve what you want to do : As I understand correctly you want to control which policy should go to particular node to get executed?
This allows having a single point of distribution, so that changes made there can be distributed to a large number of clients.
In CFEngine Enterprise, the hub has a more complex role, acting also as an aggregator of data from the clients, for the purposes of reporting and analysis.
All CFEngine clients will copy to their local in the policy hub, so that is where you should make any changes that you want distributed to all the machines.
The first machine you install will be the policy hub itself, and it should bootstrap to itself.
In this case, you have to use its own external IP address, and not “localhost” or 127.0.0.1.
As stated in part 1 of this tutorial series, normal client-side operations of CFEngine is for cf-agent to: 1.