Mark Burgess wrote:

> Undo is rather ambiguous unless you snapshot the entire system (as Ed
> alluded to), since there can be unseen consequences of changes.

And even then, the problem can't be solved generally because the state
of the network is important as well.

However, I think there is plenty of space for innovation in limited
rollback functionality. I could see closer integration with version
control systems providing some of this functionality. As it stands, most
tools can manipulate a very limited set of OS objects, mostly limited
to files. It would not be hard to support rollback for files. With more
nebulous objects like users, supporting rollback (for example, undoing
the partial creation of a user account) would require lots of supporting
machinery that would need to be written by hand (and thus prone to
bugs). As more of these sort of things become "first-order" objects to
configuration management systems, it will be easier to support undo-type
operations. As it stands now, the admin would need to write essentially
imperative back-out code for much of this type of work.

Particularly, I could see undo actions being useful for atomic groupings
of actions. For example, to deploy a functioning httpd, one might
need to create a user, install a package, edit a configuration file,
and start a service. If that block of policy does not result in a
working web server (based on some sort of monitoring feedback) it seems
reasonable to roll back the above changes, which should be technically
possible with the systems we have now.

Best,
Brendan

--
Senior System Administrator
The University of Chicago
Department of Computer Science

http://www.cs.uchicago.edu/people/brendan
http://praksys.blogspot.com/
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
http://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to