chef 11.2.0 → 11.4.0.rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/distro/common/html/chef-client.8.html +3 -3
  2. data/distro/common/html/chef-expander.8.html +3 -3
  3. data/distro/common/html/chef-expanderctl.8.html +3 -3
  4. data/distro/common/html/chef-server-webui.8.html +3 -3
  5. data/distro/common/html/chef-server.8.html +3 -3
  6. data/distro/common/html/chef-shell.1.html +7 -7
  7. data/distro/common/html/chef-solo.8.html +3 -3
  8. data/distro/common/html/chef-solr.8.html +3 -3
  9. data/distro/common/html/knife-bootstrap.1.html +4 -4
  10. data/distro/common/html/knife-client.1.html +3 -3
  11. data/distro/common/html/knife-configure.1.html +3 -3
  12. data/distro/common/html/knife-cookbook-site.1.html +3 -3
  13. data/distro/common/html/knife-cookbook.1.html +3 -3
  14. data/distro/common/html/knife-data-bag.1.html +3 -3
  15. data/distro/common/html/knife-environment.1.html +6 -6
  16. data/distro/common/html/knife-exec.1.html +4 -4
  17. data/distro/common/html/knife-index.1.html +4 -4
  18. data/distro/common/html/knife-node.1.html +3 -3
  19. data/distro/common/html/knife-role.1.html +6 -6
  20. data/distro/common/html/knife-search.1.html +3 -3
  21. data/distro/common/html/knife-ssh.1.html +4 -4
  22. data/distro/common/html/knife-status.1.html +4 -4
  23. data/distro/common/html/knife-tag.1.html +4 -4
  24. data/distro/common/html/knife.1.html +3 -3
  25. data/distro/common/man/man1/chef-shell.1 +1 -1
  26. data/distro/common/man/man1/knife-bootstrap.1 +1 -1
  27. data/distro/common/man/man1/knife-client.1 +1 -1
  28. data/distro/common/man/man1/knife-configure.1 +1 -1
  29. data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
  30. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  31. data/distro/common/man/man1/knife-data-bag.1 +1 -1
  32. data/distro/common/man/man1/knife-environment.1 +1 -1
  33. data/distro/common/man/man1/knife-exec.1 +1 -1
  34. data/distro/common/man/man1/knife-index.1 +1 -1
  35. data/distro/common/man/man1/knife-node.1 +1 -1
  36. data/distro/common/man/man1/knife-role.1 +1 -1
  37. data/distro/common/man/man1/knife-search.1 +1 -1
  38. data/distro/common/man/man1/knife-ssh.1 +1 -1
  39. data/distro/common/man/man1/knife-status.1 +1 -1
  40. data/distro/common/man/man1/knife-tag.1 +1 -1
  41. data/distro/common/man/man1/knife.1 +1 -1
  42. data/distro/common/man/man8/chef-client.8 +1 -1
  43. data/distro/common/man/man8/chef-expander.8 +1 -1
  44. data/distro/common/man/man8/chef-expanderctl.8 +1 -1
  45. data/distro/common/man/man8/chef-server-webui.8 +1 -1
  46. data/distro/common/man/man8/chef-server.8 +1 -1
  47. data/distro/common/man/man8/chef-solo.8 +1 -1
  48. data/distro/common/man/man8/chef-solr.8 +1 -1
  49. data/lib/chef/cookbook_version.rb +1 -1
  50. data/lib/chef/data_bag.rb +1 -1
  51. data/lib/chef/json_compat.rb +95 -1
  52. data/lib/chef/resource.rb +17 -0
  53. data/lib/chef/version.rb +1 -1
  54. data/lib/chef/win32/api/process.rb +1 -0
  55. data/lib/chef/win32/handle.rb +8 -1
  56. data/spec/functional/run_lock_spec.rb +145 -31
  57. data/spec/unit/knife/user_create_spec.rb +1 -1
  58. metadata +26 -36
@@ -265,11 +265,11 @@ www.example.com:</p>
265
265
 
266
266
  <h2 id="AUTHOR">AUTHOR</h2>
267
267
 
268
- <p> Chef was written by Adam Jacob <a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#46;&#99;&#111;&#x6d;" data-bare-link="true">&#97;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
268
+ <p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#97;&#100;&#97;&#109;&#x40;&#111;&#112;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
269
269
 
270
270
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
271
271
 
272
- <p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#x3a;&#106;&#x6f;&#115;&#x68;&#x75;&#97;&#x40;&#x6f;&#112;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#x6d;</a>.
272
+ <p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#108;&#x74;&#x6f;&#x3a;&#x6a;&#x6f;&#x73;&#104;&#117;&#x61;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#117;&#97;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#x64;&#101;&#46;&#99;&#111;&#109;</a>.
273
273
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
274
274
 
275
275
  <h2 id="CHEF">CHEF</h2>
@@ -278,7 +278,7 @@ www.example.com:</p>
278
278
 
279
279
 
280
280
  <ol class='man-decor man-foot man foot'>
281
- <li class='tl'>Chef 11.2.0</li>
281
+ <li class='tl'>Chef 11.4.0.rc.0</li>
282
282
  <li class='tc'>February 2013</li>
283
283
  <li class='tr'>knife-search(1)</li>
284
284
  </ol>
@@ -133,20 +133,20 @@ option.</dd>
133
133
 
134
134
  <h2 id="AUTHOR">AUTHOR</h2>
135
135
 
136
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#46;&#99;&#111;&#x6d;">&#97;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#99;&#x6f;&#x6d;</a> with many contributions from the community.</p>
136
+ <p> Chef was written by Adam Jacob <a href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#x61;&#109;&#x40;&#111;&#112;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#x61;&#100;&#97;&#109;&#x40;&#x6f;&#112;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
137
137
 
138
138
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
139
139
 
140
- <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#x3a;&#106;&#x6f;&#115;&#x68;&#x75;&#97;&#x40;&#x6f;&#112;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;">&#x6a;&#111;&#115;&#x68;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#x6d;</a>.
140
+ <p> This manual page was written by Joshua Timberman <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#106;&#111;&#115;&#104;&#x75;&#x61;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#100;&#101;&#46;&#99;&#x6f;&#x6d;" data-bare-link="true">&#106;&#x6f;&#115;&#x68;&#x75;&#x61;&#x40;&#x6f;&#112;&#115;&#99;&#x6f;&#x64;&#101;&#x2e;&#x63;&#x6f;&#x6d;</a>.
141
141
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
142
142
 
143
143
  <h2 id="CHEF">CHEF</h2>
144
144
 
145
- <p> Knife is distributed with Chef. <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home">http://wiki.opscode.com/display/chef/Home</a></p>
145
+ <p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
146
146
 
147
147
 
148
148
  <ol class='man-decor man-foot man foot'>
149
- <li class='tl'>Chef 11.2.0</li>
149
+ <li class='tl'>Chef 11.4.0.rc.0</li>
150
150
  <li class='tc'>February 2013</li>
151
151
  <li class='tr'>knife-ssh(1)</li>
152
152
  </ol>
@@ -105,20 +105,20 @@ may not be publicly reachable.</p>
105
105
 
106
106
  <h2 id="AUTHOR">AUTHOR</h2>
107
107
 
108
- <p> Chef was written by Adam Jacob <a href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#58;&#97;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x61;&#100;&#x61;&#109;&#x40;&#111;&#112;&#115;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
108
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#x61;&#100;&#x61;&#x6d;&#64;&#x6f;&#112;&#x73;&#99;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#x6d;">&#97;&#100;&#x61;&#109;&#x40;&#x6f;&#x70;&#x73;&#99;&#x6f;&#x64;&#x65;&#46;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
109
109
 
110
110
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
111
111
 
112
- <p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#x3a;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#x6f;&#112;&#x73;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#97;&#x40;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#x65;&#x2e;&#99;&#x6f;&#109;</a>.
112
+ <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#109;&#97;&#x69;&#108;&#x74;&#x6f;&#x3a;&#106;&#111;&#x73;&#x68;&#x75;&#97;&#64;&#111;&#112;&#115;&#99;&#x6f;&#100;&#x65;&#46;&#x63;&#x6f;&#x6d;">&#106;&#111;&#x73;&#x68;&#x75;&#x61;&#x40;&#111;&#112;&#115;&#x63;&#x6f;&#x64;&#x65;&#46;&#x63;&#x6f;&#x6d;</a>.
113
113
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
114
114
 
115
115
  <h2 id="CHEF">CHEF</h2>
116
116
 
117
- <p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
117
+ <p> Knife is distributed with Chef. <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home">http://wiki.opscode.com/display/chef/Home</a></p>
118
118
 
119
119
 
120
120
  <ol class='man-decor man-foot man foot'>
121
- <li class='tl'>Chef 11.2.0</li>
121
+ <li class='tl'>Chef 11.4.0.rc.0</li>
122
122
  <li class='tc'>February 2013</li>
123
123
  <li class='tr'>knife-status(1)</li>
124
124
  </ol>
@@ -114,20 +114,20 @@
114
114
 
115
115
  <h2 id="AUTHOR">AUTHOR</h2>
116
116
 
117
- <p> Chef was written by Adam Jacob <a href="&#x6d;&#x61;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#x61;&#x64;&#97;&#x6d;&#64;&#111;&#x70;&#x73;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x61;&#x64;&#x61;&#x6d;&#x40;&#111;&#112;&#115;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#111;&#109;</a> with many contributions from the community.</p>
117
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#x61;&#109;&#x40;&#111;&#112;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#x6f;&#x6d;">&#x61;&#100;&#97;&#109;&#x40;&#x6f;&#112;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
118
118
 
119
119
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
120
120
 
121
- <p> This manual page was written by Daniel DeLeo <a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#111;&#58;&#100;&#97;&#110;&#64;&#111;&#x70;&#x73;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x64;&#x61;&#x6e;&#64;&#111;&#112;&#115;&#99;&#x6f;&#x64;&#x65;&#46;&#99;&#x6f;&#x6d;</a>.
121
+ <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#100;&#97;&#110;&#64;&#x6f;&#x70;&#x73;&#99;&#x6f;&#x64;&#x65;&#x2e;&#99;&#111;&#109;">&#100;&#x61;&#x6e;&#64;&#x6f;&#112;&#x73;&#x63;&#x6f;&#x64;&#x65;&#46;&#99;&#111;&#x6d;</a>.
122
122
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
123
123
 
124
124
  <h2 id="CHEF">CHEF</h2>
125
125
 
126
- <p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
126
+ <p> Knife is distributed with Chef. <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home">http://wiki.opscode.com/display/chef/Home</a></p>
127
127
 
128
128
 
129
129
  <ol class='man-decor man-foot man foot'>
130
- <li class='tl'>Chef 11.2.0</li>
130
+ <li class='tl'>Chef 11.4.0.rc.0</li>
131
131
  <li class='tc'>February 2013</li>
132
132
  <li class='tr'>knife-tag(1)</li>
133
133
  </ol>
@@ -286,12 +286,12 @@ data editing entirely.</dd>
286
286
 
287
287
  <h2 id="AUTHOR">AUTHOR</h2>
288
288
 
289
- <p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#x3a;&#x61;&#x64;&#x61;&#109;&#x40;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#46;&#x63;&#x6f;&#109;" data-bare-link="true">&#97;&#x64;&#x61;&#109;&#x40;&#x6f;&#x70;&#x73;&#x63;&#111;&#x64;&#101;&#46;&#99;&#x6f;&#x6d;</a> of Opscode
289
+ <p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#x6c;&#116;&#111;&#x3a;&#97;&#100;&#97;&#109;&#x40;&#111;&#112;&#x73;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#100;&#97;&#109;&#64;&#x6f;&#x70;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#111;&#x6d;</a> of Opscode
290
290
  (<a href="http://www.opscode.com" data-bare-link="true">http://www.opscode.com</a>), with contributions from the community.</p>
291
291
 
292
292
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
293
293
 
294
- <p> This manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#x69;&#108;&#x74;&#111;&#x3a;&#x6a;&#x6f;&#x73;&#104;&#x75;&#x61;&#x40;&#x6f;&#x70;&#115;&#99;&#x6f;&#x64;&#101;&#46;&#99;&#x6f;&#x6d;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#117;&#97;&#64;&#x6f;&#112;&#x73;&#99;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#x6d;</a>.</p>
294
+ <p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#x3a;&#x6a;&#x6f;&#115;&#x68;&#117;&#97;&#64;&#111;&#112;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#104;&#x75;&#97;&#64;&#x6f;&#112;&#115;&#99;&#x6f;&#100;&#x65;&#46;&#99;&#111;&#109;</a>.</p>
295
295
 
296
296
  <h2 id="LICENSE">LICENSE</h2>
297
297
 
@@ -305,7 +305,7 @@ data editing entirely.</dd>
305
305
 
306
306
 
307
307
  <ol class='man-decor man-foot man foot'>
308
- <li class='tl'>Chef 11.2.0</li>
308
+ <li class='tl'>Chef 11.4.0.rc.0</li>
309
309
  <li class='tc'>February 2013</li>
310
310
  <li class='tr'>knife(1)</li>
311
311
  </ol>
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SHELL" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-SHELL" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-shell\fR \- Interactive Chef Console
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-BOOTSTRAP" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-BOOTSTRAP" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-bootstrap\fR \- Install Chef Client on a remote host
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-CLIENT" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-CLIENT" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-client\fR \- Manage Chef API Clients
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-CONFIGURE" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-CONFIGURE" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-configure\fR \- Generate configuration files for knife or Chef Client
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-COOKBOOK\-SITE" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK\-SITE" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-cookbook\-site\fR \- Install and update open source cookbooks
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-COOKBOOK" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-cookbook\fR \- upload and manage chef cookbooks
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-DATA\-BAG" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-DATA\-BAG" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-data\-bag\fR \- Store arbitrary data on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-ENVIRONMENT" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-ENVIRONMENT" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-environment\fR \- Define cookbook policies for the environments in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-EXEC" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-EXEC" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-exec\fR \- Run user scripts using the Chef API DSL
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-INDEX" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-INDEX" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-index\fR \- Rebuild the search index on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-NODE" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-NODE" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-node\fR \- Manage the hosts in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-ROLE" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-ROLE" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-role\fR \- Group common configuration settings
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-SEARCH" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-SEARCH" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-search\fR \- Find objects on a Chef Server by query
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-SSH" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-SSH" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-ssh\fR \- Run a command or interactive session on multiple remote hosts
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-STATUS" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-STATUS" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-status\fR \- Display status information for the nodes in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-TAG" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE\-TAG" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-tag\fR \- Apply tags to nodes on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE" "1" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "KNIFE" "1" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\fR \- Chef Server API client utility
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-CLIENT" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-CLIENT" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-client\fR \- Runs a client node connecting to a chef\-server\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-EXPANDER" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-EXPANDER" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-expander\fR \- fetches messages from RabbitMQ, processes, and loads into chef\-solr
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-EXPANDERCTL" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-EXPANDERCTL" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-expanderctl\fR \- management program for chef\-expander
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SERVER\-WEBUI" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-SERVER\-WEBUI" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-server\-webui\fR \- Start the Chef Server merb application slice providing Web User Interface (Management Console)\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SERVER" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-SERVER" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-server\fR \- Start the Chef Server merb application slice\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SOLO" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-SOLO" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-solo\fR \- Runs chef in solo mode against a specified cookbook location\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SOLR" "8" "February 2013" "Chef 11.2.0" "Chef Manual"
4
+ .TH "CHEF\-SOLR" "8" "February 2013" "Chef 11.4.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-solr\fR \- Runs as Chef\'s search server
@@ -565,7 +565,7 @@ class Chef
565
565
  cookbook_version.manifest = o
566
566
 
567
567
  # We don't need the following step when we decide to stop supporting deprecated operators in the metadata (e.g. <<, >>)
568
- cookbook_version.manifest["metadata"] = JSON.parse(cookbook_version.metadata.to_json)
568
+ cookbook_version.manifest["metadata"] = Chef::JSONCompat.from_json(cookbook_version.metadata.to_json)
569
569
 
570
570
  cookbook_version.freeze_version if o["frozen?"]
571
571
  cookbook_version
@@ -101,7 +101,7 @@ class Chef
101
101
  end
102
102
 
103
103
  Dir.glob(File.join(Chef::Config[:data_bag_path], "#{name}", "*.json")).inject({}) do |bag, f|
104
- item = JSON.parse(IO.read(f))
104
+ item = Chef::JSONCompat.from_json(IO.read(f))
105
105
  bag[item['id']] = item
106
106
  bag
107
107
  end
@@ -24,7 +24,21 @@ class Chef
24
24
  class JSONCompat
25
25
  JSON_MAX_NESTING = 1000
26
26
 
27
+ JSON_CLASS = "json_class".freeze
28
+
29
+ CHEF_APICLIENT = "Chef::ApiClient".freeze
30
+ CHEF_COOKBOOKVERSION = "Chef::CookbookVersion".freeze
31
+ CHEF_DATABAG = "Chef::DataBag".freeze
32
+ CHEF_DATABAGITEM = "Chef::DataBagItem".freeze
33
+ CHEF_ENVIRONMENT = "Chef::Environment".freeze
34
+ CHEF_NODE = "Chef::Node".freeze
35
+ CHEF_ROLE = "Chef::Role".freeze
36
+ CHEF_SANDBOX = "Chef::Sandbox".freeze
37
+ CHEF_RESOURCE = "Chef::Resource".freeze
38
+ CHEF_RESOURCECOLLECTION = "Chef::ResourceCollection".freeze
39
+
27
40
  class <<self
41
+
28
42
  # See CHEF-1292/PL-538. Increase the max nesting for JSON, which defaults
29
43
  # to 19, and isn't enough for some (for example, a Node within a Node)
30
44
  # structures.
@@ -38,7 +52,49 @@ class Chef
38
52
 
39
53
  # Just call the JSON gem's parse method with a modified :max_nesting field
40
54
  def from_json(source, opts = {})
41
- ::JSON.parse(source, opts_add_max_nesting(opts))
55
+ obj = ::Yajl::Parser.parse(source)
56
+
57
+ # JSON gem requires top level object to be a Hash or Array (otherwise
58
+ # you get the "must contain two octets" error). Yajl doesn't impose the
59
+ # same limitation. For compatibility, we re-impose this condition.
60
+ unless obj.kind_of?(Hash) or obj.kind_of?(Array)
61
+ raise JSON::ParserError, "Top level JSON object must be a Hash or Array. (actual: #{obj.class})"
62
+ end
63
+
64
+ # The old default in the json gem (which we are mimicing because we
65
+ # sadly rely on this misfeature) is to "create additions" i.e., convert
66
+ # JSON objects into ruby objects. Explicit :create_additions => false
67
+ # is required to turn it off.
68
+ if opts[:create_additions].nil? || opts[:create_additions]
69
+ map_to_rb_obj(obj)
70
+ else
71
+ obj
72
+ end
73
+ end
74
+
75
+ # Look at an object that's a basic type (from json parse) and convert it
76
+ # to an instance of Chef classes if desired.
77
+ def map_to_rb_obj(json_obj)
78
+ case json_obj
79
+ when Hash
80
+ mapped_hash = map_hash_to_rb_obj(json_obj)
81
+ if json_obj.has_key?(JSON_CLASS) && (class_to_inflate = class_for_json_class(json_obj[JSON_CLASS]))
82
+ class_to_inflate.json_create(mapped_hash)
83
+ else
84
+ mapped_hash
85
+ end
86
+ when Array
87
+ json_obj.map {|e| map_to_rb_obj(e) }
88
+ else
89
+ json_obj
90
+ end
91
+ end
92
+
93
+ def map_hash_to_rb_obj(json_hash)
94
+ json_hash.each do |key, value|
95
+ json_hash[key] = map_to_rb_obj(value)
96
+ end
97
+ json_hash
42
98
  end
43
99
 
44
100
  def to_json(obj, opts = nil)
@@ -48,6 +104,44 @@ class Chef
48
104
  def to_json_pretty(obj, opts = nil)
49
105
  ::JSON.pretty_generate(obj, opts_add_max_nesting(opts))
50
106
  end
107
+
108
+
109
+ # Map +json_class+ to a Class object. We use a +case+ instead of a Hash
110
+ # assigned to a constant because otherwise this file could not be loaded
111
+ # until all the constants were defined, which means you'd have to load
112
+ # the world to get json, which would make knife very slow.
113
+ def class_for_json_class(json_class)
114
+ case json_class
115
+ when CHEF_APICLIENT
116
+ Chef::ApiClient
117
+ when CHEF_COOKBOOKVERSION
118
+ Chef::CookbookVersion
119
+ when CHEF_DATABAG
120
+ Chef::DataBag
121
+ when CHEF_DATABAGITEM
122
+ Chef::DataBagItem
123
+ when CHEF_ENVIRONMENT
124
+ Chef::Environment
125
+ when CHEF_NODE
126
+ Chef::Node
127
+ when CHEF_ROLE
128
+ Chef::Role
129
+ when CHEF_SANDBOX
130
+ # a falsey return here will disable object inflation/"create
131
+ # additions" in the caller. In Chef 11 this is correct, we just have
132
+ # a dummy Chef::Sandbox class for compat with Chef 10 servers.
133
+ false
134
+ when CHEF_RESOURCE
135
+ Chef::Resource
136
+ when CHEF_RESOURCECOLLECTION
137
+ Chef::ResourceCollection
138
+ when /^Chef::Resource/
139
+ Chef::Resource.find_subclass_by_name(json_class)
140
+ else
141
+ raise JSON::ParserError, "Unsupported `json_class` type '#{json_class}'"
142
+ end
143
+ end
144
+
51
145
  end
52
146
  end
53
147
  end