- From: Bryan McLellan <btm@loftninjas.org>
- To: pburkholder@pobox.com
- Cc: chef@lists.opscode.com
- Subject: [chef] Re: Fwd: Resource ordering in chef v. puppet
- Date: Tue, 21 Jul 2009 13:07:50 -0700
On Tue, Jul 21, 2009 at 12:49 PM, Peter Burkholder<pburkholder@gmail.com>
wrote:
>
> Near the end of it, Adam Jacob states that Puppet's resource dependency
>
> ordering is non-deterministic,
>
> and that manifests that work fine 19 times will fail the 20th time.
Adam told this funny story at a recent talk about when we hired his
old consulting company to build an automated infrastructure for us
with puppet. It goes like this:
Bryan: Sometimes it doesn't work
Adam: *click* *type* *click* Works for me
Bryan: Right, but _sometimes_ it doesn't work.
[laughter]
It may be unclear so I'll underscore that the problem I speak of isn't
that if you try to do twenty things, one of these things will fail.
The problem is that you'd run the exact same run twenty times in a
row, and one of the times it would fail.
I think my past overview [1] of this problem is pretty solid so
perhaps check that out and let me know if you have questions.
Adam's example at the panel was that you want your configuration
management utility to build a web server. You're not interested in
half a web server, or three quarters of a webserver. If some
particular resource fails, you're not getting a whole webserver. Who
cares if your CM tool can decide what other resources shouldn't be
run. Something failed. It's not going to be a complete webserver
anyway. You should go back and fix that.
When you build your server, you know what order everything should go
in so with top down parsing you are explicitly saying that if a
resource fails at this point, we're not going to get a complete web
server anyway so let's stop until we can fix that.
Which sort of makes the dependency graphs feel like unnecessary
complexity cost. Which is okay until they start getting in your way,
then you (I) get upset that they're even there.
Bryan
[1]
http://blog.loftninjas.org/2009/01/16/configuration-management-with-chef-announced/
Archive powered by MHonArc 2.6.16.