why-run mode is a way to see what the chef-client would have configured, had an actual chef-client run occurred. This approach is similar to the concept of “no-operation” (or “no-op”): decide what should be done, but then don’t actually do anything until it’s done right. Run the executable in why-run mode, which is a type of chef-client run that does everything except modify the system.
When why-run mode is enabled, a chef-client run will occur that does everything up to the point at which configuration would normally occur. This includes
- Getting the configuration data,
- Authenticating to the Chef server,
- Rebuilding the node object,
- Expanding the run-list,
- Getting the necessary cookbook files,
- Resetting node attributes,
- Identifying the resources, and
- Building the resource collection and
- Does not include mapping each resource to a provider or configuring any part of the system.
How to run chef-client?
$ sudo chef-client -o 'recipe[ntp]' --why-run $ sudo chef-client -o 'recipe[ntp]' -W