Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Chef Client, Chef Solo
-
Labels:None
-
Triage Status:Triaged
Description
Right now, Chef always does whatever the recipe tells it. There should be a --noop mode, that just shows what it would do, with all the crazy warts that implies.
I want to bump this as I think it's pretty much essential for a production cluster to be able to test run config's first.
An un-named hosting company I used to work for used to have an excellent no-op mode on the cli tools for manipulating cluster members. It would print lots of debug text and list exactly what was being written to templates.
I think that rather than a noop option it should be a standalone chef-test script that takes the following options:
-j a json representation such as that would be obtained from ohai, which is fed into chef as the fake chef-client
-r a run list representing everything to run against this fake client
I would then to be able to maintain a local copy of various json files describing each of my different types of cluster members that I could then run cookbooks against. It would also be a great way to verify cookbooks before deploying to the cluster, a must for production machines.