why-run
mode lets each resource tell you what it would do during a Chef client run, assuming certain prerequisites. This is great because it gives you a glimpse about what might really happen on your node when you run your recipe for real.
However, because Chef converges a lot of resources to a desired state, why-run
will never be accurate for a complete run. Nevertheless, it might help you during development while you're adding resources step-by-step to build the final recipe.
In this section, we'll try out why-run
mode to see what it tells us about our Chef client runs.
To try out why-run
mode, you need a node where you can execute the Chef client and at least one cookbook that is available on that node.