chef 10.14.0.beta.2 → 10.14.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) 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-solo.8.html +3 -3
  7. data/distro/common/html/chef-solr.8.html +3 -3
  8. data/distro/common/html/knife-bootstrap.1.html +3 -3
  9. data/distro/common/html/knife-client.1.html +3 -3
  10. data/distro/common/html/knife-configure.1.html +4 -4
  11. data/distro/common/html/knife-cookbook-site.1.html +6 -6
  12. data/distro/common/html/knife-cookbook.1.html +3 -3
  13. data/distro/common/html/knife-data-bag.1.html +3 -3
  14. data/distro/common/html/knife-environment.1.html +6 -6
  15. data/distro/common/html/knife-exec.1.html +4 -4
  16. data/distro/common/html/knife-index.1.html +3 -3
  17. data/distro/common/html/knife-node.1.html +3 -3
  18. data/distro/common/html/knife-role.1.html +3 -3
  19. data/distro/common/html/knife-search.1.html +3 -3
  20. data/distro/common/html/knife-ssh.1.html +4 -4
  21. data/distro/common/html/knife-status.1.html +4 -4
  22. data/distro/common/html/knife-tag.1.html +4 -4
  23. data/distro/common/html/knife.1.html +3 -3
  24. data/distro/common/html/shef.1.html +7 -7
  25. data/distro/common/man/man1/knife-bootstrap.1 +1 -1
  26. data/distro/common/man/man1/knife-client.1 +1 -1
  27. data/distro/common/man/man1/knife-configure.1 +1 -1
  28. data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
  29. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  30. data/distro/common/man/man1/knife-data-bag.1 +1 -1
  31. data/distro/common/man/man1/knife-environment.1 +1 -1
  32. data/distro/common/man/man1/knife-exec.1 +1 -1
  33. data/distro/common/man/man1/knife-index.1 +1 -1
  34. data/distro/common/man/man1/knife-node.1 +1 -1
  35. data/distro/common/man/man1/knife-role.1 +1 -1
  36. data/distro/common/man/man1/knife-search.1 +1 -1
  37. data/distro/common/man/man1/knife-ssh.1 +1 -1
  38. data/distro/common/man/man1/knife-status.1 +1 -1
  39. data/distro/common/man/man1/knife-tag.1 +1 -1
  40. data/distro/common/man/man1/knife.1 +1 -1
  41. data/distro/common/man/man1/shef.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/application/client.rb +6 -2
  50. data/lib/chef/application/solo.rb +7 -3
  51. data/lib/chef/application/windows_service.rb +1 -2
  52. data/lib/chef/client.rb +72 -47
  53. data/lib/chef/config.rb +3 -1
  54. data/lib/chef/cookbook_uploader.rb +28 -18
  55. data/lib/chef/cookbook_version.rb +2 -2
  56. data/lib/chef/event_dispatch/base.rb +4 -0
  57. data/lib/chef/exceptions.rb +1 -0
  58. data/lib/chef/formatters/base.rb +13 -9
  59. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +12 -6
  60. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -2
  61. data/lib/chef/formatters/error_mapper.rb +13 -6
  62. data/lib/chef/knife/bootstrap.rb +4 -4
  63. data/lib/chef/knife/bootstrap/ubuntu12.04-gems.erb +2 -2
  64. data/lib/chef/knife/client_create.rb +1 -0
  65. data/lib/chef/knife/cookbook_upload.rb +60 -33
  66. data/lib/chef/knife/core/node_presenter.rb +1 -0
  67. data/lib/chef/knife/tag_delete.rb +1 -1
  68. data/lib/chef/mixin/file_class.rb +46 -0
  69. data/lib/chef/provider/cron.rb +1 -1
  70. data/lib/chef/provider/deploy.rb +1 -1
  71. data/lib/chef/provider/link.rb +2 -18
  72. data/lib/chef/provider/package/apt.rb +7 -4
  73. data/lib/chef/provider/remote_directory.rb +17 -5
  74. data/lib/chef/provider/user/useradd.rb +1 -0
  75. data/lib/chef/resource_reporter.rb +4 -4
  76. data/lib/chef/rest.rb +8 -0
  77. data/lib/chef/run_context.rb +4 -1
  78. data/lib/chef/solr_query/lucene.treetop +2 -2
  79. data/lib/chef/version.rb +1 -1
  80. data/spec/support/shared/functional/file_resource.rb +2 -1
  81. data/spec/support/shared/functional/securable_resource.rb +28 -12
  82. data/spec/unit/client_spec.rb +49 -13
  83. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +21 -1
  84. data/spec/unit/knife/config_file_selection_spec.rb +5 -4
  85. data/spec/unit/knife/cookbook_upload_spec.rb +4 -3
  86. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +21 -0
  87. data/spec/unit/provider/cookbook_file_spec.rb +2 -0
  88. data/spec/unit/provider/cron_spec.rb +46 -0
  89. data/spec/unit/provider/deploy_spec.rb +12 -0
  90. data/spec/unit/provider/execute_spec.rb +3 -0
  91. data/spec/unit/provider/file_spec.rb +9 -6
  92. data/spec/unit/provider/package/apt_spec.rb +13 -0
  93. data/spec/unit/provider/remote_directory_spec.rb +16 -5
  94. data/spec/unit/provider/template_spec.rb +10 -0
  95. data/spec/unit/provider/user/useradd_spec.rb +2 -2
  96. data/spec/unit/provider/user_spec.rb +28 -17
  97. data/spec/unit/resource/file_spec.rb +14 -7
  98. data/spec/unit/resource/template_spec.rb +13 -6
  99. data/spec/unit/solr_query/query_transform_spec.rb +4 -0
  100. metadata +5 -4
@@ -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;&#97;&#x69;&#108;&#x74;&#x6f;&#x3a;&#x61;&#100;&#x61;&#x6d;&#64;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#x70;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
136
+ <p> Chef was written by Adam Jacob <a href="&#109;&#97;&#105;&#x6c;&#116;&#111;&#58;&#97;&#100;&#x61;&#109;&#64;&#x6f;&#112;&#115;&#x63;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#x6d;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#x6f;&#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="&#x6d;&#x61;&#x69;&#108;&#x74;&#x6f;&#58;&#106;&#x6f;&#x73;&#104;&#117;&#97;&#x40;&#111;&#112;&#x73;&#x63;&#x6f;&#100;&#101;&#46;&#x63;&#x6f;&#109;">&#x6a;&#x6f;&#x73;&#x68;&#x75;&#x61;&#64;&#111;&#x70;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a>.
140
+ <p> This manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#x69;&#108;&#x74;&#x6f;&#58;&#x6a;&#111;&#115;&#x68;&#117;&#x61;&#64;&#x6f;&#112;&#x73;&#99;&#x6f;&#x64;&#101;&#46;&#x63;&#111;&#109;" data-bare-link="true">&#106;&#x6f;&#115;&#104;&#117;&#x61;&#x40;&#x6f;&#112;&#x73;&#99;&#x6f;&#100;&#x65;&#46;&#99;&#x6f;&#109;</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 10.14.0.beta.2</li>
149
+ <li class='tl'>Chef 10.14.0.beta.3</li>
150
150
  <li class='tc'>July 2012</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 data-bare-link="true" href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#58;&#x61;&#x64;&#97;&#109;&#x40;&#111;&#x70;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#99;&#111;&#x6d;">&#97;&#x64;&#97;&#x6d;&#x40;&#x6f;&#x70;&#115;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#x6d;</a> with many contributions from the community.</p>
108
+ <p> Chef was written by Adam Jacob <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#97;&#x64;&#97;&#109;&#x40;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#97;&#x64;&#x61;&#109;&#64;&#111;&#x70;&#115;&#99;&#x6f;&#x64;&#x65;&#46;&#99;&#111;&#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 data-bare-link="true" href="&#109;&#x61;&#105;&#x6c;&#x74;&#x6f;&#58;&#x6a;&#x6f;&#115;&#104;&#x75;&#97;&#x40;&#111;&#112;&#115;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#x6d;">&#106;&#111;&#x73;&#x68;&#x75;&#97;&#64;&#111;&#112;&#x73;&#x63;&#111;&#x64;&#x65;&#x2e;&#99;&#x6f;&#109;</a>.
112
+ <p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#106;&#x6f;&#115;&#104;&#x75;&#x61;&#64;&#x6f;&#x70;&#x73;&#99;&#x6f;&#x64;&#101;&#46;&#x63;&#111;&#x6d;" data-bare-link="true">&#106;&#x6f;&#x73;&#x68;&#117;&#97;&#64;&#x6f;&#x70;&#x73;&#x63;&#111;&#x64;&#x65;&#x2e;&#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 data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home">http://wiki.opscode.com/display/chef/Home</a></p>
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>
118
118
 
119
119
 
120
120
  <ol class='man-decor man-foot man foot'>
121
- <li class='tl'>Chef 10.14.0.beta.2</li>
121
+ <li class='tl'>Chef 10.14.0.beta.3</li>
122
122
  <li class='tc'>July 2012</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;&#97;&#x69;&#108;&#x74;&#x6f;&#x3a;&#x61;&#100;&#x61;&#x6d;&#64;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#x70;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;</a> with many contributions from the community.</p>
117
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#97;&#105;&#x6c;&#116;&#111;&#58;&#97;&#100;&#x61;&#109;&#64;&#x6f;&#112;&#115;&#x63;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#x6d;">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#x6f;&#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;&#x61;&#x69;&#108;&#x74;&#x6f;&#58;&#100;&#x61;&#x6e;&#64;&#111;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#x2e;&#99;&#111;&#109;" data-bare-link="true">&#x64;&#x61;&#110;&#x40;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#100;&#101;&#x2e;&#99;&#x6f;&#109;</a>.
121
+ <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#108;&#x74;&#x6f;&#58;&#x64;&#97;&#110;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;">&#x64;&#97;&#110;&#64;&#x6f;&#112;&#115;&#99;&#x6f;&#x64;&#x65;&#46;&#x63;&#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 10.14.0.beta.2</li>
130
+ <li class='tl'>Chef 10.14.0.beta.3</li>
131
131
  <li class='tc'>July 2012</li>
132
132
  <li class='tr'>knife-tag(1)</li>
133
133
  </ol>
@@ -291,12 +291,12 @@ data editing entirely.</dd>
291
291
 
292
292
  <h2 id="AUTHOR">AUTHOR</h2>
293
293
 
294
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x61;&#100;&#97;&#x6d;&#64;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;">&#97;&#x64;&#x61;&#109;&#x40;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> of Opscode
294
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#x3a;&#x61;&#x64;&#x61;&#109;&#64;&#111;&#x70;&#x73;&#99;&#x6f;&#x64;&#101;&#46;&#x63;&#x6f;&#109;">&#97;&#x64;&#97;&#109;&#64;&#111;&#x70;&#115;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#x6f;&#109;</a> of Opscode
295
295
  (<a data-bare-link="true" href="http://www.opscode.com">http://www.opscode.com</a>), with contributions from the community.</p>
296
296
 
297
297
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
298
298
 
299
- <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#109;&#97;&#x69;&#x6c;&#116;&#111;&#x3a;&#x6a;&#x6f;&#x73;&#x68;&#117;&#x61;&#64;&#111;&#112;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#x63;&#111;&#109;">&#106;&#111;&#x73;&#104;&#117;&#97;&#x40;&#111;&#x70;&#115;&#99;&#111;&#x64;&#x65;&#x2e;&#99;&#111;&#x6d;</a>.</p>
299
+ <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#109;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x6a;&#111;&#115;&#x68;&#x75;&#x61;&#64;&#x6f;&#112;&#115;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#x6d;">&#x6a;&#x6f;&#115;&#104;&#117;&#97;&#64;&#x6f;&#112;&#x73;&#x63;&#111;&#100;&#101;&#46;&#99;&#x6f;&#x6d;</a>.</p>
300
300
 
301
301
  <h2 id="LICENSE">LICENSE</h2>
302
302
 
@@ -310,7 +310,7 @@ data editing entirely.</dd>
310
310
 
311
311
 
312
312
  <ol class='man-decor man-foot man foot'>
313
- <li class='tl'>Chef 10.14.0.beta.2</li>
313
+ <li class='tl'>Chef 10.14.0.beta.3</li>
314
314
  <li class='tc'>July 2012</li>
315
315
  <li class='tr'>knife(1)</li>
316
316
  </ol>
@@ -205,8 +205,8 @@ DSL is outside the scope of this document. See the following pages in
205
205
  the Chef documentation for more information:</p>
206
206
 
207
207
  <ul>
208
- <li><a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Resources">http://wiki.opscode.com/display/chef/Resources</a></li>
209
- <li><a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Recipes">http://wiki.opscode.com/display/chef/Recipes</a></li>
208
+ <li><a href="http://wiki.opscode.com/display/chef/Resources" data-bare-link="true">http://wiki.opscode.com/display/chef/Resources</a></li>
209
+ <li><a href="http://wiki.opscode.com/display/chef/Recipes" data-bare-link="true">http://wiki.opscode.com/display/chef/Recipes</a></li>
210
210
  </ul>
211
211
 
212
212
 
@@ -254,26 +254,26 @@ and may become out of sync with the behavior of those libraries.</p>
254
254
  <h2 id="SEE-ALSO">SEE ALSO</h2>
255
255
 
256
256
  <p> <span class="man-ref">chef-client<span class="s">(8)</span></span> <span class="man-ref">knife<span class="s">(1)</span></span>
257
- <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Shef">http://wiki.opscode.com/display/chef/Shef</a></p>
257
+ <a href="http://wiki.opscode.com/display/chef/Shef" data-bare-link="true">http://wiki.opscode.com/display/chef/Shef</a></p>
258
258
 
259
259
  <h2 id="AUTHOR">AUTHOR</h2>
260
260
 
261
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x61;&#100;&#97;&#x6d;&#64;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;">&#97;&#x64;&#x61;&#109;&#x40;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> with many
261
+ <p> Chef was written by Adam Jacob <a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#x6f;&#58;&#x61;&#100;&#97;&#x6d;&#64;&#111;&#112;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;" data-bare-link="true">&#97;&#100;&#97;&#109;&#x40;&#x6f;&#112;&#x73;&#99;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#x6d;</a> with many
262
262
  contributions from the community. Shef was written by Daniel DeLeo.</p>
263
263
 
264
264
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
265
265
 
266
- <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#109;&#97;&#x69;&#x6c;&#116;&#111;&#x3a;&#x64;&#x61;&#x6e;&#x40;&#111;&#x70;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#x6d;">&#x64;&#97;&#110;&#64;&#111;&#x70;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#99;&#111;&#109;</a>.
266
+ <p> This manual page was written by Daniel DeLeo <a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#100;&#x61;&#x6e;&#64;&#x6f;&#112;&#115;&#x63;&#111;&#100;&#x65;&#46;&#99;&#111;&#x6d;" data-bare-link="true">&#x64;&#x61;&#x6e;&#x40;&#111;&#x70;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;</a>.
267
267
  Permission is granted to copy, distribute and / or modify this
268
268
  document under the terms of the Apache 2.0 License.</p>
269
269
 
270
270
  <h2 id="CHEF">CHEF</h2>
271
271
 
272
- <p> Shef 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>
272
+ <p> Shef 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>
273
273
 
274
274
 
275
275
  <ol class='man-decor man-foot man foot'>
276
- <li class='tl'>Chef 10.14.0.beta.2</li>
276
+ <li class='tl'>Chef 10.14.0.beta.3</li>
277
277
  <li class='tc'>July 2012</li>
278
278
  <li class='tr'>shef(1)</li>
279
279
  </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 "KNIFE\-BOOTSTRAP" "1" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-BOOTSTRAP" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-CLIENT" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-CONFIGURE" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK\-SITE" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-DATA\-BAG" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-ENVIRONMENT" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-EXEC" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-INDEX" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-NODE" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-ROLE" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-SEARCH" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-SSH" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-STATUS" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE\-TAG" "1" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "KNIFE" "1" "July 2012" "Chef 10.14.0.beta.3" "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 "SHEF" "1" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "SHEF" "1" "July 2012" "Chef 10.14.0.beta.3" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBshef\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 "CHEF\-CLIENT" "8" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-CLIENT" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-EXPANDER" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-EXPANDERCTL" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-SERVER\-WEBUI" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-SERVER" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-SOLO" "8" "July 2012" "Chef 10.14.0.beta.3" "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" "July 2012" "Chef 10.14.0.beta.2" "Chef Manual"
4
+ .TH "CHEF\-SOLR" "8" "July 2012" "Chef 10.14.0.beta.3" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-solr\fR \- Runs as Chef\'s search server
@@ -169,6 +169,12 @@ class Chef::Application::Client < Chef::Application
169
169
  :long => '--why-run',
170
170
  :description => 'Enable whyrun mode',
171
171
  :boolean => true
172
+
173
+ option :client_fork,
174
+ :short => "-f",
175
+ :long => "--fork",
176
+ :description => "Fork client",
177
+ :boolean => true
172
178
 
173
179
  attr_reader :chef_client_json
174
180
 
@@ -302,8 +308,6 @@ class Chef::Application::Client < Chef::Application
302
308
  Chef::Application.debug_stacktrace(e)
303
309
  Chef::Application.fatal!("#{e.class}: #{e.message}", 1)
304
310
  end
305
- ensure
306
- GC.start
307
311
  end
308
312
  end
309
313
  end
@@ -132,7 +132,13 @@ class Chef::Application::Solo < Chef::Application
132
132
  Chef::RunList::RunListItem.new(item)
133
133
  }
134
134
  }
135
-
135
+
136
+ option :client_fork,
137
+ :short => "-f",
138
+ :long => "--fork",
139
+ :description => "Fork client",
140
+ :boolean => true
141
+
136
142
  option :why_run,
137
143
  :short => '-W',
138
144
  :long => '--why-run',
@@ -242,8 +248,6 @@ class Chef::Application::Solo < Chef::Application
242
248
  Chef::Application.debug_stacktrace(e)
243
249
  Chef::Application.fatal!("#{e.class}: #{e.message}", 1)
244
250
  end
245
- ensure
246
- GC.start
247
251
  end
248
252
  end
249
253
  end
@@ -16,6 +16,7 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require 'chef'
19
20
  require 'chef/application'
20
21
  require 'chef/client'
21
22
  require 'chef/config'
@@ -109,8 +110,6 @@ class Chef
109
110
  Chef::Log.error("Sleeping for #{Chef::Config[:interval]} seconds before trying again")
110
111
  client_sleep Chef::Config[:interval]
111
112
  retry
112
- ensure
113
- GC.start
114
113
  end
115
114
  else # PAUSED or IDLE
116
115
  sleep 5
@@ -153,60 +153,30 @@ class Chef
153
153
  end
154
154
 
155
155
  # Do a full run for this Chef::Client. Calls:
156
+ # * do_run
156
157
  #
157
- # * run_ohai - Collect information about the system
158
- # * load_node - Get the last known stage from the server
159
- # * build_node - Merge state with local changes
160
- # * register - If not in solo mode, make sure the server knows about this client
161
- # * sync_cookbooks - If not in solo mode, populate the local cache with the node's cookbooks
162
- # * converge - Bring this system up to date
163
- #
158
+ # This provides a wrapper around #do_run allowing the
159
+ # run to be optionally forked.
164
160
  # === Returns
165
- # true:: Always returns true.
161
+ # boolean:: Return value from #do_run. Should always returns true.
166
162
  def run
167
- run_context = nil
168
-
169
- @events.run_start(Chef::VERSION)
170
- Chef::Log.info("*** Chef #{Chef::VERSION} ***")
171
- enforce_path_sanity
172
- run_ohai
173
- @events.ohai_completed(node)
174
- register unless Chef::Config[:solo]
175
-
176
- load_node
177
-
178
- begin
179
- build_node
180
-
181
- run_status.start_clock
182
- Chef::Log.info("Starting Chef Run for #{node.name}")
183
- run_started
184
-
185
- run_context = setup_run_context
186
-
187
- converge(run_context)
188
-
189
- save_updated_node
190
-
191
- run_status.stop_clock
192
- Chef::Log.info("Chef Run complete in #{run_status.elapsed_time} seconds")
193
- run_completed_successfully
194
- @events.run_completed(node)
163
+ if(Chef::Config[:client_fork] && Process.respond_to?(:fork))
164
+ Chef::Log.info "Forking chef instance to converge..."
165
+ pid = fork do
166
+ Chef::Log.info "Forked instance now converging"
167
+ do_run
168
+ exit
169
+ end
170
+ Chef::Log.info "Fork successful. Waiting for new chef pid: #{pid}"
171
+ result = Process.waitpid2(pid)
172
+ raise "Forked convergence run failed" unless result.last.success?
173
+ Chef::Log.info "Forked child successfully reaped (pid: #{pid})"
195
174
  true
196
- rescue Exception => e
197
- run_status.stop_clock
198
- run_status.exception = e
199
- run_failed
200
- Chef::Log.debug("Re-raising exception: #{e.class} - #{e.message}\n#{e.backtrace.join("\n ")}")
201
- @events.run_failed(e)
202
- raise
203
- ensure
204
- run_status = nil
175
+ else
176
+ do_run
205
177
  end
206
- true
207
178
  end
208
179
 
209
-
210
180
  # Configures the Chef::Cookbook::FileVendor class to fetch file from the
211
181
  # server or disk as appropriate, creates the run context for this run, and
212
182
  # sanity checks the cookbook collection.
@@ -410,6 +380,61 @@ class Chef
410
380
 
411
381
  private
412
382
 
383
+ # Do a full run for this Chef::Client. Calls:
384
+ #
385
+ # * run_ohai - Collect information about the system
386
+ # * build_node - Get the last known state, merge with local changes
387
+ # * register - If not in solo mode, make sure the server knows about this client
388
+ # * sync_cookbooks - If not in solo mode, populate the local cache with the node's cookbooks
389
+ # * converge - Bring this system up to date
390
+ #
391
+ # === Returns
392
+ # true:: Always returns true.
393
+ def do_run
394
+ run_context = nil
395
+
396
+ @events.run_start(Chef::VERSION)
397
+ Chef::Log.info("*** Chef #{Chef::VERSION} ***")
398
+ enforce_path_sanity
399
+ run_ohai
400
+ @events.ohai_completed(node)
401
+ register unless Chef::Config[:solo]
402
+
403
+ load_node
404
+
405
+ begin
406
+ build_node
407
+
408
+ run_status.start_clock
409
+ Chef::Log.info("Starting Chef Run for #{node.name}")
410
+ run_started
411
+
412
+ run_context = setup_run_context
413
+
414
+ converge(run_context)
415
+
416
+ save_updated_node
417
+
418
+ run_status.stop_clock
419
+ Chef::Log.info("Chef Run complete in #{run_status.elapsed_time} seconds")
420
+ run_completed_successfully
421
+ @events.run_completed(node)
422
+ true
423
+ rescue Exception => e
424
+ run_status.stop_clock
425
+ run_status.exception = e
426
+ run_failed
427
+ Chef::Log.debug("Re-raising exception: #{e.class} - #{e.message}\n#{e.backtrace.join("\n ")}")
428
+ @events.run_failed(e)
429
+ raise
430
+ ensure
431
+ run_status = nil
432
+ run_context = nil
433
+ GC.start
434
+ end
435
+ true
436
+ end
437
+
413
438
  # Ensures runlist override contains RunListItem instances
414
439
  def runlist_override_sanity_check!
415
440
  @override_runlist = @override_runlist.split(',') if @override_runlist.is_a?(String)