Details
-
Type:
Improvement
-
Status:
Confirmed
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: 0.9.12
-
Fix Version/s: None
-
Component/s: Chef Client
-
Labels:None
Description
Often when we create a node initially, we pass '-j' to chef-client specifying a first-boot.json. However, chef-client already knows when it is being run for the first time, because it gets a 404 and then registers itself using the validation client. If Chef 404s finding its node object on the server, it should check to see if there is a /etc/chef/first_boot.json and use it. This should also be a configuration value; first_boot_json would probably make historical sense.
(I asked for this in IRC.)
I notice that all the knife bootstrap scripts have to manually add -j on the first call; I would also like this ability for my automated preseeded installed without having to deal with a first-boot script to call chef-client with -j option.
With some pointers I'd be willing to try a patch for this.
My thoughts on how this would work:
1) client.rb config value of "first_boot_json" being path to a json file.
2) if -j is on the command line this takes priority.
3) Anything else I'm missing