Got a good laugh out of me, seems a little hypocritical to depend on ruby (which chef et al. use)
So far I only have experience with puppet, and it seems really annoying to tie phases like "install postgres" -> "Reinitialize the database in UTF-8, but known to work on ubuntu" -> "Update the configs so non-localhost connections can actually connect" -> "Okay, now it can start."
The above problem is something I do not want to deal with when it comes to a provisioning system.