Looks like my plans for installing cfengine are hitting problems before I’ve even started getting very far.
By default cfengine will not copy files from the master host to the client nodes if their clocks are “too far” out of sync.
Unfortunately I cannot sync the clocks on all my nodes, much as I would like to, since UML doesn’t play nice with clocks going backwards ..
On the plus side I’ve got a nifty script which will push updates to remote systems via a combination of rsync + dpkg – that allowed me to update 50ish machines and cause them all to start logging remotely with syslog-ng in the space of around an hour.
If I could generalise this system it might be sufficient to copy files, do minor edits, and essentially do the tasks I wanted to automate with cfengine in the first place!
In related news the more I learn of ruby the more I’m coming to dislike it…. It is just so .. un-perl!
Still ruby is nicer than daemontools ;)