News for hackers. Stuff that matters.
Re:Salt: Like Puppet, Except It Doesn’t Suck by nwmcsween on Monday June 24, 2013 @12:56PM (#5934150)
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.
Re:Salt: Like Puppet, Except It Doesn’t Suck by johtso on Monday June 24, 2013 @02:53PM (#5934888)
You might be interested in Salt's 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.

Re:Salt: Like Puppet, Except It Doesn’t Suck by Goladus on Monday June 24, 2013 @09:14PM (#5936874)
I 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.

Re:Salt: Like Puppet, Except It Doesn’t Suck by showerst on Monday June 24, 2013 @03:00PM (#5934928)
Ansible allows you to do this, it has failure modes that let you take actions, including rolling back.