Using why-run mode to find out what a recipe might do
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 of 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.
Getting ready
To try out why-run
mode, you need a node where you can execute the Chef client and at least one cookbook available on that node.
How to do it…
Let's try to run the ntp
cookbook in why-run
mode:
Override the current run list to run the
ntp
recipe inwhy-run
mode on a brand new box:user@server:~$ sudo chef-client -o 'recipe[ntp]' --why-run ...TRUNCATED OUTPUT......