3 ms·
But the problem that all of the configuration managers have and also why they all suck is that the state you specify has no guarantee of being the end state. A
by nwmcsween 13y ago
But the problem that all of the configuration managers have and also why they all suck is that the state you specify has no guarantee of being the end state. A much better alternative would be to manage state in chunks and test those chunks, e.g an http-server transaction would require responding on port 80 if not fail or roll it back. Rolling back could be using namespaces, jails, etc.
- johtso 13y agoYou might be interested in Salt's requisite statements: http://docs.saltstack.com/ref/states/ordering.html#requisite-statements http://docs.saltstack.com/ref/states/ordering.html#requisite... In combination with service.running you can require that, for example, package x is installed, and its service is running, before service y is started.
- showerst 13y agoAnsible allows you to do this, it has failure modes that let you take actions, including rolling back.
- Goladus 13y agoI would not say that is a reason why all configuration managers suck. The feature you'd like to see would represent a significant increase in overhead, complexity, and potential drawbacks that not everyone needs yet. Meanwhile, a disciplined system of designing and documenting tests and rollback procedures before committing changes will accomplish this without the need for additional software. My guess is that if you are not disciplined enough to design tests and rollback procedures on your own, then you are probably going to just switch off or work around those features if they are built into the software.