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 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.
Getting ready
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.
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...