I have posted the first snapshot of the StateEngine code on its website:
This is still very much in the prototyping stage but I hope it shows off some of the concepts that I’d like to work with. At this point there is a directory of configuration files, one per host, that contain the defined state for that host. Each state is defined by a State Object and the arguments or keyword arguments to instantiate it. These files are read into the StateEngine database on startup and the server attempts to spool the resulting Actions to each client. The client code also has a poll option instead of running its own XMLRPC server.
If folks are interested or have feedback for how StateEngine works to deploy and manage configuration please feel free to send me an email or comment.