chef 11.10.0.rc.0-x86-mingw32 → 11.10.0.rc.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (401) hide show
  1. data/Rakefile +0 -75
  2. data/distro/common/html/_sources/ctl_chef_client.txt +36 -0
  3. data/distro/common/html/_sources/ctl_chef_server.txt +26 -0
  4. data/distro/common/html/_sources/ctl_chef_shell.txt +15 -0
  5. data/distro/common/html/_sources/ctl_chef_solo.txt +25 -0
  6. data/distro/common/html/_sources/index.txt +126 -0
  7. data/distro/common/html/_sources/knife.txt +74 -0
  8. data/distro/common/html/_sources/knife_bootstrap.txt +56 -0
  9. data/distro/common/html/_sources/knife_client.txt +151 -0
  10. data/distro/common/html/_sources/knife_common_options.txt +6 -0
  11. data/distro/common/html/_sources/knife_configure.txt +29 -0
  12. data/distro/common/html/_sources/knife_cookbook.txt +236 -0
  13. data/distro/common/html/_sources/knife_cookbook_site.txt +157 -0
  14. data/distro/common/html/_sources/knife_data_bag.txt +160 -0
  15. data/distro/common/html/_sources/knife_delete.txt +26 -0
  16. data/distro/common/html/_sources/knife_deps.txt +61 -0
  17. data/distro/common/html/_sources/knife_diff.txt +34 -0
  18. data/distro/common/html/_sources/knife_download.txt +44 -0
  19. data/distro/common/html/_sources/knife_edit.txt +26 -0
  20. data/distro/common/html/_sources/knife_environment.txt +158 -0
  21. data/distro/common/html/_sources/knife_exec.txt +47 -0
  22. data/distro/common/html/_sources/knife_index_rebuild.txt +21 -0
  23. data/distro/common/html/_sources/knife_list.txt +33 -0
  24. data/distro/common/html/_sources/knife_node.txt +250 -0
  25. data/distro/common/html/_sources/knife_raw.txt +35 -0
  26. data/distro/common/html/_sources/knife_recipe_list.txt +23 -0
  27. data/distro/common/html/_sources/knife_role.txt +157 -0
  28. data/distro/common/html/_sources/knife_search.txt +53 -0
  29. data/distro/common/html/_sources/knife_show.txt +27 -0
  30. data/distro/common/html/_sources/knife_ssh.txt +43 -0
  31. data/distro/common/html/_sources/knife_status.txt +37 -0
  32. data/distro/common/html/_sources/knife_tag.txt +69 -0
  33. data/distro/common/html/_sources/knife_upload.txt +49 -0
  34. data/distro/common/html/_sources/knife_user.txt +127 -0
  35. data/distro/common/html/_sources/knife_using.txt +43 -0
  36. data/distro/common/html/_sources/knife_xargs.txt +30 -0
  37. data/distro/common/html/_static/ajax-loader.gif +0 -0
  38. data/distro/common/html/_static/basic.css +540 -0
  39. data/distro/common/html/_static/chef.css +507 -0
  40. data/distro/common/html/_static/chef.ico +0 -0
  41. data/distro/common/html/_static/chef_html_logo.png +0 -0
  42. data/distro/common/html/_static/chef_logo.png +0 -0
  43. data/distro/common/html/_static/comment-bright.png +0 -0
  44. data/distro/common/html/_static/comment-close.png +0 -0
  45. data/distro/common/html/_static/comment.png +0 -0
  46. data/distro/common/html/_static/contents.png +0 -0
  47. data/distro/common/html/_static/doctools.js +247 -0
  48. data/distro/common/html/_static/down-pressed.png +0 -0
  49. data/distro/common/html/_static/down.png +0 -0
  50. data/distro/common/html/_static/file.png +0 -0
  51. data/distro/common/html/_static/guide.css +505 -0
  52. data/distro/common/html/_static/jquery.js +154 -0
  53. data/distro/common/html/_static/minus.png +0 -0
  54. data/distro/common/html/_static/navigation.png +0 -0
  55. data/distro/common/html/_static/plus.png +0 -0
  56. data/distro/common/html/_static/pygments.css +62 -0
  57. data/distro/common/html/_static/searchtools.js +560 -0
  58. data/distro/common/html/_static/underscore.js +23 -0
  59. data/distro/common/html/_static/up-pressed.png +0 -0
  60. data/distro/common/html/_static/up.png +0 -0
  61. data/distro/common/html/_static/websupport.js +808 -0
  62. data/distro/common/html/ctl_chef_client.html +219 -0
  63. data/distro/common/html/ctl_chef_server.html +111 -0
  64. data/distro/common/html/ctl_chef_shell.html +120 -0
  65. data/distro/common/html/ctl_chef_solo.html +144 -0
  66. data/distro/common/html/index.html +185 -0
  67. data/distro/common/html/knife.html +172 -0
  68. data/distro/common/html/knife_bootstrap.html +250 -0
  69. data/distro/common/html/knife_client.html +283 -0
  70. data/distro/common/html/knife_common_options.html +98 -0
  71. data/distro/common/html/knife_configure.html +107 -0
  72. data/distro/common/html/knife_cookbook.html +481 -0
  73. data/distro/common/html/knife_cookbook_site.html +372 -0
  74. data/distro/common/html/knife_data_bag.html +359 -0
  75. data/distro/common/html/knife_delete.html +95 -0
  76. data/distro/common/html/knife_deps.html +145 -0
  77. data/distro/common/html/knife_diff.html +125 -0
  78. data/distro/common/html/knife_download.html +147 -0
  79. data/distro/common/html/knife_edit.html +91 -0
  80. data/distro/common/html/knife_environment.html +328 -0
  81. data/distro/common/html/knife_exec.html +222 -0
  82. data/distro/common/html/knife_index_rebuild.html +85 -0
  83. data/distro/common/html/knife_list.html +116 -0
  84. data/distro/common/html/knife_node.html +450 -0
  85. data/distro/common/html/knife_raw.html +112 -0
  86. data/distro/common/html/knife_recipe_list.html +93 -0
  87. data/distro/common/html/knife_role.html +295 -0
  88. data/distro/common/html/knife_search.html +204 -0
  89. data/distro/common/html/knife_show.html +106 -0
  90. data/distro/common/html/knife_ssh.html +179 -0
  91. data/distro/common/html/knife_status.html +142 -0
  92. data/distro/common/html/knife_tag.html +140 -0
  93. data/distro/common/html/knife_upload.html +155 -0
  94. data/distro/common/html/knife_user.html +244 -0
  95. data/distro/common/html/knife_using.html +211 -0
  96. data/distro/common/html/knife_xargs.html +115 -0
  97. data/distro/common/html/objects.inv +0 -0
  98. data/distro/common/html/search.html +84 -0
  99. data/distro/common/html/searchindex.js +1 -0
  100. data/distro/common/man/man1/chef-shell.1 +5 -5
  101. data/distro/common/man/man1/knife-bootstrap.1 +6 -9
  102. data/distro/common/man/man1/knife-client.1 +1 -9
  103. data/distro/common/man/man1/knife-configure.1 +10 -6
  104. data/distro/common/man/man1/knife-cookbook-site.1 +1 -9
  105. data/distro/common/man/man1/knife-cookbook.1 +11 -21
  106. data/distro/common/man/man1/knife-data-bag.1 +8 -22
  107. data/distro/common/man/man1/knife-delete.1 +1 -1
  108. data/distro/common/man/man1/knife-deps.1 +4 -12
  109. data/distro/common/man/man1/knife-diff.1 +1 -1
  110. data/distro/common/man/man1/knife-download.1 +2 -2
  111. data/distro/common/man/man1/knife-edit.1 +1 -1
  112. data/distro/common/man/man1/knife-environment.1 +108 -9
  113. data/distro/common/man/man1/knife-exec.1 +1 -15
  114. data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
  115. data/distro/common/man/man1/knife-list.1 +1 -1
  116. data/distro/common/man/man1/knife-node.1 +3 -13
  117. data/distro/common/man/man1/knife-raw.1 +1 -1
  118. data/distro/common/man/man1/knife-recipe-list.1 +1 -1
  119. data/distro/common/man/man1/knife-role.1 +2 -12
  120. data/distro/common/man/man1/knife-search.1 +5 -5
  121. data/distro/common/man/man1/knife-show.1 +1 -3
  122. data/distro/common/man/man1/knife-ssh.1 +1 -5
  123. data/distro/common/man/man1/knife-status.1 +1 -1
  124. data/distro/common/man/man1/knife-tag.1 +1 -9
  125. data/distro/common/man/man1/knife-upload.1 +7 -9
  126. data/distro/common/man/man1/knife-user.1 +3 -17
  127. data/distro/common/man/man1/knife-xargs.1 +1 -3
  128. data/distro/common/man/man8/chef-client.8 +18 -18
  129. data/distro/common/man/man8/chef-solo.8 +12 -6
  130. data/lib/chef/client.rb +9 -5
  131. data/lib/chef/cookbook_uploader.rb +1 -1
  132. data/lib/chef/dsl/recipe.rb +119 -38
  133. data/lib/chef/exceptions.rb +4 -0
  134. data/lib/chef/policy_builder/expand_node_object.rb +11 -4
  135. data/lib/chef/policy_builder/policyfile.rb +7 -1
  136. data/lib/chef/provider/file.rb +1 -0
  137. data/lib/chef/resource_platform_map.rb +1 -1
  138. data/lib/chef/resource_reporter.rb +2 -2
  139. data/lib/chef/version.rb +1 -1
  140. data/spec/functional/knife/cookbook_delete_spec.rb +9 -9
  141. data/spec/functional/knife/ssh_spec.rb +1 -1
  142. data/spec/functional/resource/link_spec.rb +6 -6
  143. data/spec/functional/resource/registry_spec.rb +7 -7
  144. data/spec/functional/run_lock_spec.rb +1 -1
  145. data/spec/integration/knife/download_spec.rb +1 -1
  146. data/spec/integration/solo/solo_spec.rb +1 -1
  147. data/spec/spec_helper.rb +0 -1
  148. data/spec/stress/win32/file_spec.rb +6 -0
  149. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  150. data/spec/support/mock/platform.rb +1 -1
  151. data/spec/support/shared/functional/file_resource.rb +0 -2
  152. data/spec/support/shared/functional/securable_resource.rb +2 -2
  153. data/spec/support/shared/unit/api_error_inspector.rb +7 -7
  154. data/spec/support/shared/unit/provider/file.rb +47 -8
  155. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +23 -23
  156. data/spec/unit/api_client/registration_spec.rb +5 -5
  157. data/spec/unit/api_client_spec.rb +2 -2
  158. data/spec/unit/application/apply.rb +6 -6
  159. data/spec/unit/application/client_spec.rb +6 -6
  160. data/spec/unit/application/knife_spec.rb +5 -5
  161. data/spec/unit/application/solo_spec.rb +13 -13
  162. data/spec/unit/application_spec.rb +19 -19
  163. data/spec/unit/checksum/storage/filesystem_spec.rb +2 -2
  164. data/spec/unit/client_spec.rb +23 -23
  165. data/spec/unit/config_spec.rb +4 -4
  166. data/spec/unit/cookbook/metadata_spec.rb +22 -22
  167. data/spec/unit/cookbook/synchronizer_spec.rb +17 -17
  168. data/spec/unit/daemon_spec.rb +21 -22
  169. data/spec/unit/data_bag_item_spec.rb +8 -8
  170. data/spec/unit/data_bag_spec.rb +6 -6
  171. data/spec/unit/deprecation_spec.rb +1 -1
  172. data/spec/unit/dsl/data_query_spec.rb +1 -1
  173. data/spec/unit/environment_spec.rb +5 -5
  174. data/spec/unit/file_access_control_spec.rb +5 -5
  175. data/spec/unit/file_cache_spec.rb +1 -1
  176. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +1 -1
  177. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +12 -12
  178. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +4 -4
  179. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +4 -4
  180. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  181. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +6 -6
  182. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +4 -4
  183. data/spec/unit/handler/json_file_spec.rb +1 -1
  184. data/spec/unit/handler_spec.rb +3 -3
  185. data/spec/unit/knife/bootstrap_spec.rb +17 -17
  186. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  187. data/spec/unit/knife/client_create_spec.rb +7 -7
  188. data/spec/unit/knife/client_reregister_spec.rb +2 -2
  189. data/spec/unit/knife/client_show_spec.rb +1 -1
  190. data/spec/unit/knife/config_file_selection_spec.rb +4 -4
  191. data/spec/unit/knife/configure_client_spec.rb +4 -4
  192. data/spec/unit/knife/configure_spec.rb +16 -16
  193. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +10 -10
  194. data/spec/unit/knife/cookbook_create_spec.rb +5 -5
  195. data/spec/unit/knife/cookbook_delete_spec.rb +6 -6
  196. data/spec/unit/knife/cookbook_download_spec.rb +10 -10
  197. data/spec/unit/knife/cookbook_list_spec.rb +3 -3
  198. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
  199. data/spec/unit/knife/cookbook_metadata_spec.rb +8 -8
  200. data/spec/unit/knife/cookbook_show_spec.rb +4 -4
  201. data/spec/unit/knife/cookbook_site_download_spec.rb +3 -3
  202. data/spec/unit/knife/cookbook_site_install_spec.rb +8 -8
  203. data/spec/unit/knife/cookbook_site_share_spec.rb +22 -22
  204. data/spec/unit/knife/cookbook_site_unshare_spec.rb +8 -8
  205. data/spec/unit/knife/cookbook_test_spec.rb +7 -7
  206. data/spec/unit/knife/cookbook_upload_spec.rb +20 -20
  207. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +6 -6
  208. data/spec/unit/knife/core/object_loader_spec.rb +1 -1
  209. data/spec/unit/knife/core/ui_spec.rb +19 -21
  210. data/spec/unit/knife/data_bag_create_spec.rb +4 -4
  211. data/spec/unit/knife/data_bag_edit_spec.rb +7 -7
  212. data/spec/unit/knife/data_bag_from_file_spec.rb +15 -15
  213. data/spec/unit/knife/data_bag_show_spec.rb +5 -5
  214. data/spec/unit/knife/environment_create_spec.rb +6 -6
  215. data/spec/unit/knife/environment_delete_spec.rb +6 -6
  216. data/spec/unit/knife/environment_edit_spec.rb +5 -5
  217. data/spec/unit/knife/environment_from_file_spec.rb +7 -7
  218. data/spec/unit/knife/environment_list_spec.rb +4 -4
  219. data/spec/unit/knife/environment_show_spec.rb +4 -4
  220. data/spec/unit/knife/index_rebuild_spec.rb +2 -2
  221. data/spec/unit/knife/knife_help.rb +11 -11
  222. data/spec/unit/knife/node_bulk_delete_spec.rb +4 -4
  223. data/spec/unit/knife/node_delete_spec.rb +5 -5
  224. data/spec/unit/knife/node_edit_spec.rb +2 -2
  225. data/spec/unit/knife/node_from_file_spec.rb +5 -5
  226. data/spec/unit/knife/node_list_spec.rb +3 -3
  227. data/spec/unit/knife/node_run_list_add_spec.rb +3 -3
  228. data/spec/unit/knife/node_run_list_remove_spec.rb +4 -4
  229. data/spec/unit/knife/node_run_list_set_spec.rb +5 -5
  230. data/spec/unit/knife/node_show_spec.rb +2 -2
  231. data/spec/unit/knife/role_bulk_delete_spec.rb +4 -4
  232. data/spec/unit/knife/role_create_spec.rb +5 -5
  233. data/spec/unit/knife/role_delete_spec.rb +5 -5
  234. data/spec/unit/knife/role_edit_spec.rb +5 -5
  235. data/spec/unit/knife/role_from_file_spec.rb +5 -5
  236. data/spec/unit/knife/role_list_spec.rb +2 -2
  237. data/spec/unit/knife/ssh_spec.rb +6 -6
  238. data/spec/unit/knife/status_spec.rb +4 -4
  239. data/spec/unit/knife/tag_create_spec.rb +3 -3
  240. data/spec/unit/knife/tag_delete_spec.rb +3 -3
  241. data/spec/unit/knife/tag_list_spec.rb +2 -2
  242. data/spec/unit/knife/user_create_spec.rb +7 -7
  243. data/spec/unit/knife/user_reregister_spec.rb +3 -3
  244. data/spec/unit/knife/user_show_spec.rb +1 -1
  245. data/spec/unit/knife_spec.rb +29 -29
  246. data/spec/unit/lwrp_spec.rb +2 -2
  247. data/spec/unit/mixin/checksum_spec.rb +2 -2
  248. data/spec/unit/mixin/command_spec.rb +1 -1
  249. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +4 -4
  250. data/spec/unit/mixin/params_validate_spec.rb +17 -17
  251. data/spec/unit/mixin/path_sanity_spec.rb +8 -8
  252. data/spec/unit/mixin/securable_spec.rb +87 -87
  253. data/spec/unit/mixin/shell_out_spec.rb +1 -1
  254. data/spec/unit/mixin/template_spec.rb +2 -2
  255. data/spec/unit/node/attribute_spec.rb +3 -3
  256. data/spec/unit/node_spec.rb +12 -12
  257. data/spec/unit/platform_spec.rb +1 -1
  258. data/spec/unit/policy_builder/expand_node_object_spec.rb +16 -0
  259. data/spec/unit/policy_builder/policyfile_spec.rb +4 -0
  260. data/spec/unit/provider/breakpoint_spec.rb +8 -8
  261. data/spec/unit/provider/cookbook_file/content_spec.rb +4 -4
  262. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  263. data/spec/unit/provider/cron/unix_spec.rb +11 -11
  264. data/spec/unit/provider/cron_spec.rb +40 -40
  265. data/spec/unit/provider/deploy/revision_spec.rb +11 -12
  266. data/spec/unit/provider/deploy/timestamped_spec.rb +3 -3
  267. data/spec/unit/provider/deploy_spec.rb +50 -50
  268. data/spec/unit/provider/directory_spec.rb +18 -18
  269. data/spec/unit/provider/env_spec.rb +15 -15
  270. data/spec/unit/provider/erl_call_spec.rb +1 -1
  271. data/spec/unit/provider/execute_spec.rb +5 -5
  272. data/spec/unit/provider/file/content_spec.rb +5 -5
  273. data/spec/unit/provider/file_spec.rb +1 -1
  274. data/spec/unit/provider/git_spec.rb +47 -47
  275. data/spec/unit/provider/group/dscl_spec.rb +16 -15
  276. data/spec/unit/provider/group/gpasswd_spec.rb +6 -5
  277. data/spec/unit/provider/group/groupadd_spec.rb +10 -10
  278. data/spec/unit/provider/group/groupmod_spec.rb +3 -3
  279. data/spec/unit/provider/group/pw_spec.rb +9 -8
  280. data/spec/unit/provider/group/usermod_spec.rb +13 -12
  281. data/spec/unit/provider/group/windows_spec.rb +9 -9
  282. data/spec/unit/provider/group_spec.rb +31 -31
  283. data/spec/unit/provider/http_request_spec.rb +3 -3
  284. data/spec/unit/provider/ifconfig/aix_spec.rb +7 -7
  285. data/spec/unit/provider/ifconfig/debian_spec.rb +3 -3
  286. data/spec/unit/provider/ifconfig/redhat_spec.rb +5 -5
  287. data/spec/unit/provider/ifconfig_spec.rb +13 -13
  288. data/spec/unit/provider/link_spec.rb +33 -33
  289. data/spec/unit/provider/mdadm_spec.rb +4 -4
  290. data/spec/unit/provider/mount/aix_spec.rb +5 -5
  291. data/spec/unit/provider/mount/mount_spec.rb +49 -50
  292. data/spec/unit/provider/mount/windows_spec.rb +18 -18
  293. data/spec/unit/provider/mount_spec.rb +12 -12
  294. data/spec/unit/provider/ohai_spec.rb +6 -6
  295. data/spec/unit/provider/package/aix_spec.rb +14 -14
  296. data/spec/unit/provider/package/apt_spec.rb +10 -10
  297. data/spec/unit/provider/package/dpkg_spec.rb +13 -13
  298. data/spec/unit/provider/package/easy_install_spec.rb +6 -6
  299. data/spec/unit/provider/package/freebsd_spec.rb +29 -29
  300. data/spec/unit/provider/package/ips_spec.rb +4 -4
  301. data/spec/unit/provider/package/macports_spec.rb +6 -6
  302. data/spec/unit/provider/package/pacman_spec.rb +17 -17
  303. data/spec/unit/provider/package/portage_spec.rb +18 -18
  304. data/spec/unit/provider/package/rpm_spec.rb +7 -7
  305. data/spec/unit/provider/package/rubygems_spec.rb +31 -31
  306. data/spec/unit/provider/package/smartos_spec.rb +4 -4
  307. data/spec/unit/provider/package/solaris_spec.rb +15 -15
  308. data/spec/unit/provider/package/yum_spec.rb +100 -100
  309. data/spec/unit/provider/package/zypper_spec.rb +10 -10
  310. data/spec/unit/provider/package_spec.rb +21 -21
  311. data/spec/unit/provider/registry_key_spec.rb +2 -2
  312. data/spec/unit/provider/remote_file/content_spec.rb +31 -31
  313. data/spec/unit/provider/remote_file/fetcher_spec.rb +8 -8
  314. data/spec/unit/provider/remote_file/ftp_spec.rb +10 -10
  315. data/spec/unit/provider/remote_file/http_spec.rb +4 -4
  316. data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
  317. data/spec/unit/provider/remote_file_spec.rb +1 -1
  318. data/spec/unit/provider/route_spec.rb +23 -23
  319. data/spec/unit/provider/script_spec.rb +5 -5
  320. data/spec/unit/provider/service/arch_service_spec.rb +41 -41
  321. data/spec/unit/provider/service/debian_service_spec.rb +23 -23
  322. data/spec/unit/provider/service/freebsd_service_spec.rb +33 -33
  323. data/spec/unit/provider/service/gentoo_service_spec.rb +16 -16
  324. data/spec/unit/provider/service/init_service_spec.rb +13 -13
  325. data/spec/unit/provider/service/insserv_service_spec.rb +4 -4
  326. data/spec/unit/provider/service/invokercd_service_spec.rb +12 -12
  327. data/spec/unit/provider/service/macosx_spec.rb +20 -20
  328. data/spec/unit/provider/service/redhat_spec.rb +15 -15
  329. data/spec/unit/provider/service/simple_service_spec.rb +9 -9
  330. data/spec/unit/provider/service/solaris_smf_service_spec.rb +13 -13
  331. data/spec/unit/provider/service/systemd_service_spec.rb +28 -28
  332. data/spec/unit/provider/service/upstart_service_spec.rb +41 -41
  333. data/spec/unit/provider/service/windows_spec.rb +37 -37
  334. data/spec/unit/provider/service_spec.rb +9 -9
  335. data/spec/unit/provider/subversion_spec.rb +36 -36
  336. data/spec/unit/provider/template/content_spec.rb +8 -8
  337. data/spec/unit/provider/template_spec.rb +1 -1
  338. data/spec/unit/provider/user/dscl_spec.rb +9 -9
  339. data/spec/unit/provider/user/pw_spec.rb +20 -20
  340. data/spec/unit/provider/user/solaris_spec.rb +5 -5
  341. data/spec/unit/provider/user/windows_spec.rb +8 -8
  342. data/spec/unit/provider/user_spec.rb +34 -34
  343. data/spec/unit/provider_spec.rb +3 -3
  344. data/spec/unit/recipe_spec.rb +79 -4
  345. data/spec/unit/registry_helper_spec.rb +2 -2
  346. data/spec/unit/resource/cron_spec.rb +2 -2
  347. data/spec/unit/resource/directory_spec.rb +5 -5
  348. data/spec/unit/resource/env_spec.rb +2 -2
  349. data/spec/unit/resource/erl_call_spec.rb +1 -1
  350. data/spec/unit/resource/file_spec.rb +8 -8
  351. data/spec/unit/resource/group_spec.rb +3 -3
  352. data/spec/unit/resource/link_spec.rb +8 -8
  353. data/spec/unit/resource/mdadm_spec.rb +3 -3
  354. data/spec/unit/resource/mount_spec.rb +3 -3
  355. data/spec/unit/resource/route_spec.rb +2 -2
  356. data/spec/unit/resource/user_spec.rb +2 -2
  357. data/spec/unit/resource/yum_package_spec.rb +2 -2
  358. data/spec/unit/resource_collection_spec.rb +1 -1
  359. data/spec/unit/resource_definition_spec.rb +2 -2
  360. data/spec/unit/resource_reporter_spec.rb +71 -16
  361. data/spec/unit/resource_spec.rb +3 -3
  362. data/spec/unit/rest/auth_credentials_spec.rb +2 -2
  363. data/spec/unit/rest_spec.rb +3 -40
  364. data/spec/unit/run_list/run_list_expansion_spec.rb +3 -3
  365. data/spec/unit/run_list_spec.rb +9 -9
  366. data/spec/unit/run_status_spec.rb +1 -1
  367. data/spec/unit/runner_spec.rb +8 -8
  368. data/spec/unit/scan_access_control_spec.rb +3 -3
  369. data/spec/unit/search/query_spec.rb +7 -7
  370. data/spec/unit/shell/model_wrapper_spec.rb +2 -2
  371. data/spec/unit/shell/shell_ext_spec.rb +15 -15
  372. data/spec/unit/shell/shell_session_spec.rb +9 -9
  373. data/spec/unit/shell_spec.rb +1 -2
  374. data/spec/unit/user_spec.rb +4 -4
  375. data/spec/unit/util/backup_spec.rb +1 -1
  376. data/spec/unit/util/selinux_spec.rb +7 -7
  377. metadata +106 -51
  378. data/distro/common/html/chef-client.8.html +0 -145
  379. data/distro/common/html/chef-expander.8.html +0 -164
  380. data/distro/common/html/chef-expanderctl.8.html +0 -146
  381. data/distro/common/html/chef-server-webui.8.html +0 -185
  382. data/distro/common/html/chef-server.8.html +0 -182
  383. data/distro/common/html/chef-shell.1.html +0 -286
  384. data/distro/common/html/chef-solo.8.html +0 -185
  385. data/distro/common/html/chef-solr.8.html +0 -165
  386. data/distro/common/html/knife-bootstrap.1.html +0 -241
  387. data/distro/common/html/knife-client.1.html +0 -219
  388. data/distro/common/html/knife-configure.1.html +0 -170
  389. data/distro/common/html/knife-cookbook-site.1.html +0 -241
  390. data/distro/common/html/knife-cookbook.1.html +0 -381
  391. data/distro/common/html/knife-data-bag.1.html +0 -235
  392. data/distro/common/html/knife-environment.1.html +0 -265
  393. data/distro/common/html/knife-exec.1.html +0 -134
  394. data/distro/common/html/knife-index.1.html +0 -125
  395. data/distro/common/html/knife-node.1.html +0 -250
  396. data/distro/common/html/knife-role.1.html +0 -200
  397. data/distro/common/html/knife-search.1.html +0 -288
  398. data/distro/common/html/knife-ssh.1.html +0 -156
  399. data/distro/common/html/knife-status.1.html +0 -128
  400. data/distro/common/html/knife-tag.1.html +0 -137
  401. data/distro/common/html/knife.1.html +0 -315
@@ -1,4 +1,4 @@
1
- .TH "CHEF-SOLO" "8" "Chef 11.8.0" "" "chef-solo"
1
+ .TH "CHEF-SOLO" "8" "Chef 11.10.0" "" "chef-solo"
2
2
  .SH NAME
3
3
  chef-solo \- The man page for the chef-solo command line tool.
4
4
  .
@@ -74,7 +74,13 @@ The name of the environment.
74
74
  Indicates that a chef\-client run will be contained in a secondary process with dedicated RAM. When the chef\-client run is complete the RAM will be returned to the master process. This option helps ensure that a chef\-client will use a steady amount of RAM over time because the master process will not run recipes. This option will also help prevent memory leaks (such as those that can be introduced by the code contained within a poorly designed cookbook). Use \fB\-\-no\-fork\fP to disable running the chef\-client in fork node. Default value: \fB\-\-fork\fP.
75
75
  .TP
76
76
  .B \fB\-F FORMAT\fP, \fB\-\-format FORMAT\fP
77
- The output format: \fBdoc\fP (default) or \fBmin\fP. Other formatting options are available by using 3rd party formatters.
77
+ The output format: \fBdoc\fP (default) or \fBmin\fP.
78
+ .sp
79
+ Use \fBdoc\fP to print the progress of the chef\-client run using full strings that display a summary of updates as they occur.
80
+ .sp
81
+ Use \fBmin\fP to print the progress of the chef\-client run using single characters. A summary of updates is printed at the end of the chef\-client run. A dot (\fB.\fP) is printed for events that do not have meaningful status information, such as loading a file or synchronizing a cookbook. For resources, a dot (\fB.\fP) is printed when the resource is up to date, an \fBS\fP is printed when the resource is skipped by \fBnot_if\fP or \fBonly_if\fP, and a \fBU\fP is printed when the resource is updated.
82
+ .sp
83
+ Other formatting options are available when those formatters are configured in the client.rb file using the \fBadd_formatter\fP option.
78
84
  .TP
79
85
  .B \fB\-\-force\-formatter\fP
80
86
  Indicates that formatter output will be used instead of logger output.
@@ -92,16 +98,16 @@ Shows help for the command.
92
98
  The frequency (in seconds) at which the chef\-client runs.
93
99
  .TP
94
100
  .B \fB\-j PATH\fP, \fB\-\-json\-attributes PATH\fP
95
- The path to a file that contains JSON data. Use this option to override attributes that are set from other locations, such as from within a cookbook or by a role.
101
+ The path to a file that contains JSON data. Use this option to override \fBnormal\fP attributes set elsewhere.
96
102
  .TP
97
103
  .B \fB\-l LEVEL\fP, \fB\-\-log_level LEVEL\fP
98
- The level of logging that will be stored in a log file: \fBdebug\fP, \fBinfo\fP, \fBwarn\fP, \fBerror\fP, or \fBfatal\fP.
104
+ The level of logging that will be stored in a log file.
99
105
  .TP
100
106
  .B \fB\-L LOGLOCATION\fP, \fB\-\-logfile c\fP
101
107
  The location in which log file output files will be saved. If this location is set to something other than \fBSTDOUT\fP, standard output logging will still be performed (otherwise there would be no output other than to a file). This is recommended when starting any executable as a daemon.
102
108
  .TP
103
109
  .B \fB\-\-[no\-]color\fP
104
- Indicates that color will not be used in the output. Default setting: \fB\-\-color\fP.
110
+ Indicates whether colored output will be used. Default setting: \fB\-\-color\fP.
105
111
  .TP
106
112
  .B \fB\-N NODE_NAME\fP, \fB\-\-node\-name NODE_NAME\fP
107
113
  The name of the node.
@@ -156,6 +162,6 @@ $ chef\-solo \-c ~/solo.rb \-j http://www.example.com/node.json \-r http://www.e
156
162
  .sp
157
163
  where \fB\-r\fP corresponds to \fBrecipe_url\fP and \fB\-j\fP corresponds to \fBjson_attribs\fP, both of which are configuration options in solo.rb.
158
164
  .SH AUTHOR
159
- Opscode
165
+ Chef
160
166
  .\" Generated by docutils manpage writer.
161
167
  .
data/lib/chef/client.rb CHANGED
@@ -255,18 +255,22 @@ class Chef
255
255
  run_context
256
256
  end
257
257
 
258
+ def sync_cookbooks
259
+ policy_builder.sync_cookbooks
260
+ end
261
+
258
262
  def policy_builder
259
263
  @policy_builder ||= Chef::PolicyBuilder.strategy.new(node_name, ohai.data, json_attribs, @override_runlist, events)
260
264
  end
261
265
 
262
266
 
263
267
  def save_updated_node
264
- unless Chef::Config[:solo]
268
+ if Chef::Config[:solo]
269
+ # nothing to do
270
+ elsif policy_builder.temporary_policy?
271
+ Chef::Log.warn("Skipping final node save because override_runlist was given")
272
+ else
265
273
  Chef::Log.debug("Saving the current state of node #{node_name}")
266
- if(@original_runlist)
267
- @node.run_list(*@original_runlist)
268
- @node.automatic_attrs[:runlist_override_history] = {Time.now.to_i => @override_runlist.inspect}
269
- end
270
274
  @node.save
271
275
  end
272
276
  end
@@ -20,7 +20,7 @@ class Chef
20
20
  def self.setup_worker_threads(concurrency=10)
21
21
  @worker_threads ||= begin
22
22
  work_queue
23
- (1...concurrency).map do
23
+ (1..concurrency).map do
24
24
  Thread.new do
25
25
  loop do
26
26
  work_queue.pop.call
@@ -31,50 +31,131 @@ class Chef
31
31
 
32
32
  include Chef::Mixin::ConvertToClassName
33
33
 
34
+ # Default +cookbook_name+ implementation, always returns "none". This
35
+ # should be overriden in including classes whenever a meaningful value
36
+ # can be provided.
37
+ def cookbook_name
38
+ "none"
39
+ end
40
+
41
+ # Default +recipe_name+ implementation, always returns "none". This
42
+ # should be overridden in including classes whenever a meaningful value
43
+ # can be provided.
44
+ def recipe_name
45
+ "none"
46
+ end
47
+
34
48
  def method_missing(method_symbol, *args, &block)
35
49
  # If we have a definition that matches, we want to use that instead. This should
36
50
  # let you do some really crazy over-riding of "native" types, if you really want
37
51
  # to.
38
- if run_context.definitions.has_key?(method_symbol)
39
- # This dupes the high level object, but we still need to dup the params
40
- new_def = run_context.definitions[method_symbol].dup
41
- new_def.params = new_def.params.dup
42
- new_def.node = run_context.node
43
- # This sets up the parameter overrides
44
- new_def.instance_eval(&block) if block
45
- new_recipe = Chef::Recipe.new(cookbook_name, @recipe_name, run_context)
46
- new_recipe.params = new_def.params
47
- new_recipe.params[:name] = args[0]
48
- new_recipe.instance_eval(&new_def.recipe)
49
- else
52
+ if has_resource_definition?(method_symbol)
53
+ evaluate_resource_definition(method_symbol, *args, &block)
54
+ elsif have_resource_class_for?(method_symbol)
50
55
  # Otherwise, we're rocking the regular resource call route.
56
+ declare_resource(method_symbol, args[0], caller[0], &block)
57
+ else
58
+ super
59
+ end
60
+ rescue NoMethodError
61
+ raise NoMethodError, "No resource or method named `#{method_symbol}' for #{describe_self_for_error}"
62
+ rescue NameError
63
+ raise NameError, "No resource, method, or local variable named `#{method_symbol}' for #{describe_self_for_error}"
64
+ end
65
+
66
+ def has_resource_definition?(name)
67
+ yes_or_no = run_context.definitions.has_key?(name)
68
+
69
+ yes_or_no
70
+ end
71
+
72
+ # Processes the arguments and block as a resource definition.
73
+ def evaluate_resource_definition(definition_name, *args, &block)
74
+
75
+ # This dupes the high level object, but we still need to dup the params
76
+ new_def = run_context.definitions[definition_name].dup
77
+
78
+ new_def.params = new_def.params.dup
79
+ new_def.node = run_context.node
80
+ # This sets up the parameter overrides
81
+ new_def.instance_eval(&block) if block
82
+
83
+
84
+ new_recipe = Chef::Recipe.new(cookbook_name, recipe_name, run_context)
85
+ new_recipe.params = new_def.params
86
+ new_recipe.params[:name] = args[0]
87
+ new_recipe.instance_eval(&new_def.recipe)
88
+ new_recipe
89
+ end
90
+
91
+ # Instantiates a resource (via #build_resource), then adds it to the
92
+ # resource collection. Note that resource classes are looked up directly,
93
+ # so this will create the resource you intended even if the method name
94
+ # corresponding to that resource has been overridden.
95
+ def declare_resource(type, name, created_at=nil, &resource_attrs_block)
96
+ created_at ||= caller[0]
51
97
 
52
- # Checks the new platform => short_name => resource mapping initially
53
- # then fall back to the older approach (Chef::Resource.const_get) for
54
- # backward compatibility
55
- resource_class = Chef::Resource.resource_for_node(method_symbol, run_context.node)
56
-
57
- super unless resource_class
58
- raise ArgumentError, "You must supply a name when declaring a #{method_symbol} resource" unless args.size > 0
59
-
60
- # If we have a resource like this one, we want to steal its state
61
- args << run_context
62
- resource = resource_class.new(*args)
63
- resource.source_line = caller[0]
64
- resource.load_prior_resource
65
- resource.cookbook_name = cookbook_name
66
- resource.recipe_name = @recipe_name
67
- resource.params = @params
68
- # Determine whether this resource is being created in the context of an enclosing Provider
69
- resource.enclosing_provider = self.is_a?(Chef::Provider) ? self : nil
70
- # Evaluate resource attribute DSL
71
- resource.instance_eval(&block) if block
72
-
73
- # Run optional resource hook
74
- resource.after_created
75
-
76
- run_context.resource_collection.insert(resource)
77
- resource
98
+ resource = build_resource(type, name, created_at, &resource_attrs_block)
99
+
100
+ run_context.resource_collection.insert(resource)
101
+ resource
102
+ end
103
+
104
+ # Instantiate a resource of the given +type+ with the given +name+ and
105
+ # attributes as given in the +resource_attrs_block+.
106
+ #
107
+ # The resource is NOT added to the resource collection.
108
+ def build_resource(type, name, created_at=nil, &resource_attrs_block)
109
+ created_at ||= caller[0]
110
+
111
+ # Checks the new platform => short_name => resource mapping initially
112
+ # then fall back to the older approach (Chef::Resource.const_get) for
113
+ # backward compatibility
114
+ resource_class = resource_class_for(type)
115
+
116
+ raise ArgumentError, "You must supply a name when declaring a #{type} resource" if name.nil?
117
+
118
+ resource = resource_class.new(name, run_context)
119
+ resource.source_line = created_at
120
+ resource.cookbook_name = cookbook_name
121
+ resource.recipe_name = recipe_name
122
+ # If we have a resource like this one, we want to steal its state
123
+ # This behavior is very counter-intuitive and should be removed.
124
+ # See CHEF-3694, https://tickets.opscode.com/browse/CHEF-3694
125
+ resource.load_prior_resource
126
+ # Determine whether this resource is being created in the context of an enclosing Provider
127
+ resource.enclosing_provider = self.is_a?(Chef::Provider) ? self : nil
128
+
129
+ # XXX: This is very crufty, but it's required for resource definitions
130
+ # to work properly :(
131
+ resource.params = @params
132
+
133
+ # Evaluate resource attribute DSL
134
+ resource.instance_eval(&resource_attrs_block) if block_given?
135
+
136
+ # Run optional resource hook
137
+ resource.after_created
138
+
139
+ resource
140
+ end
141
+
142
+ def resource_class_for(snake_case_name)
143
+ Chef::Resource.resource_for_node(snake_case_name, run_context.node)
144
+ end
145
+
146
+ def have_resource_class_for?(snake_case_name)
147
+ not resource_class_for(snake_case_name).nil?
148
+ rescue NameError
149
+ false
150
+ end
151
+
152
+ def describe_self_for_error
153
+ if respond_to?(:name)
154
+ %Q[`#{self.class.name} "#{name}"']
155
+ elsif respond_to?(:recipe_name)
156
+ %Q[`#{self.class.name} "#{recipe_name}"']
157
+ else
158
+ to_s
78
159
  end
79
160
  end
80
161
 
@@ -80,6 +80,10 @@ class Chef
80
80
  class ConflictingMembersInGroup < ArgumentError; end
81
81
  class InvalidResourceReference < RuntimeError; end
82
82
  class ResourceNotFound < RuntimeError; end
83
+
84
+ # Can't find a Resource of this type that is valid on this platform.
85
+ class NoSuchResourceType < NameError; end
86
+
83
87
  class InvalidResourceSpecification < ArgumentError; end
84
88
  class SolrConnectionError < RuntimeError; end
85
89
  class IllegalChecksumRevert < RuntimeError; end
@@ -155,10 +155,6 @@ class Chef
155
155
  raise
156
156
  end
157
157
 
158
- ########################################
159
- # Internal public API
160
- ########################################
161
-
162
158
  # Sync_cookbooks eagerly loads all files except files and
163
159
  # templates. It returns the cookbook_hash -- the return result
164
160
  # from /environments/#{node.chef_environment}/cookbook_versions,
@@ -190,6 +186,17 @@ class Chef
190
186
  cookbook_hash
191
187
  end
192
188
 
189
+ # Indicates whether the policy is temporary, which means an
190
+ # override_runlist was provided. Chef::Client uses this to decide whether
191
+ # to do the final node save at the end of the run or not.
192
+ def temporary_policy?
193
+ !!@original_runlist
194
+ end
195
+
196
+ ########################################
197
+ # Internal public API
198
+ ########################################
199
+
193
200
  def setup_run_list_override
194
201
  runlist_override_sanity_check!
195
202
  unless(override_runlist.empty?)
@@ -174,7 +174,6 @@ class Chef
174
174
  run_list_expansion_ish
175
175
  end
176
176
 
177
- ## Internal Public API ##
178
177
 
179
178
  def sync_cookbooks
180
179
  Chef::Log.debug("Synchronizing cookbooks")
@@ -187,6 +186,13 @@ class Chef
187
186
  cookbooks_to_sync
188
187
  end
189
188
 
189
+ # Whether or not this is a temporary policy. Since PolicyBuilder doesn't
190
+ # support override_runlist, this is always false.
191
+ def temporary_policy?
192
+ false
193
+ end
194
+
195
+ ## Internal Public API ##
190
196
 
191
197
  def run_list_with_versions_for_display
192
198
  run_list.map do |recipe_spec|
@@ -374,6 +374,7 @@ class Chef
374
374
  end
375
375
 
376
376
  # unlink necessary to clean up in why-run mode
377
+ tempfile.close
377
378
  tempfile.unlink
378
379
  end
379
380
 
@@ -123,7 +123,7 @@ class Chef
123
123
  resource_klass = platform_resource(short_name, platform, version) ||
124
124
  resource_matching_short_name(short_name)
125
125
 
126
- raise NameError, "Cannot find a resource for #{short_name} on #{platform} version #{version}" if resource_klass.nil?
126
+ raise Exceptions::NoSuchResourceType, "Cannot find a resource for #{short_name} on #{platform} version #{version}" if resource_klass.nil?
127
127
 
128
128
  resource_klass
129
129
  end
@@ -50,8 +50,8 @@ class Chef
50
50
  def for_json
51
51
  as_hash = {}
52
52
  as_hash["type"] = new_resource.class.dsl_name
53
- as_hash["name"] = new_resource.name
54
- as_hash["id"] = new_resource.identity
53
+ as_hash["name"] = new_resource.name.to_s
54
+ as_hash["id"] = new_resource.identity.to_s
55
55
  as_hash["after"] = state(new_resource)
56
56
  as_hash["before"] = current_resource ? state(current_resource) : {}
57
57
  as_hash["duration"] = (elapsed_time * 1000).to_i.to_s
data/lib/chef/version.rb CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  class Chef
19
19
  CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
20
- VERSION = '11.10.0.rc.0'
20
+ VERSION = '11.10.0.rc.1'
21
21
  end
22
22
 
23
23
  # NOTE: the Chef::Version class is defined in version_class.rb
@@ -51,7 +51,7 @@ describe Chef::Knife::CookbookDelete do
51
51
  end
52
52
 
53
53
  it "logs an error and exits" do
54
- @knife.ui.stub!(:stderr).and_return(@log_output)
54
+ @knife.ui.stub(:stderr).and_return(@log_output)
55
55
  lambda {@knife.run}.should raise_error(SystemExit)
56
56
  @log_output.string.should match(/Cannot find a cookbook named no-such-cookbook to delete/)
57
57
  end
@@ -67,8 +67,8 @@ describe Chef::Knife::CookbookDelete do
67
67
 
68
68
  it "asks for confirmation, then deletes the cookbook" do
69
69
  stdin, stdout = StringIO.new("y\n"), StringIO.new
70
- @knife.ui.stub!(:stdin).and_return(stdin)
71
- @knife.ui.stub!(:stdout).and_return(stdout)
70
+ @knife.ui.stub(:stdin).and_return(stdin)
71
+ @knife.ui.stub(:stdout).and_return(stdout)
72
72
 
73
73
  cb100_deleted = false
74
74
  @api.delete("/cookbooks/obsolete-cookbook/1.0.0", 200) { cb100_deleted = true; "[\"true\"]" }
@@ -83,8 +83,8 @@ describe Chef::Knife::CookbookDelete do
83
83
  @knife.config[:purge] = true
84
84
 
85
85
  stdin, stdout = StringIO.new("y\ny\n"), StringIO.new
86
- @knife.ui.stub!(:stdin).and_return(stdin)
87
- @knife.ui.stub!(:stdout).and_return(stdout)
86
+ @knife.ui.stub(:stdin).and_return(stdin)
87
+ @knife.ui.stub(:stdout).and_return(stdout)
88
88
 
89
89
  cb100_deleted = false
90
90
  @api.delete("/cookbooks/obsolete-cookbook/1.0.0?purge=true", 200) { cb100_deleted = true; "[\"true\"]" }
@@ -126,8 +126,8 @@ describe Chef::Knife::CookbookDelete do
126
126
  cb100_deleted = cb110_deleted = cb120_deleted = nil
127
127
  @api.delete("/cookbooks/obsolete-cookbook/1.0.0", 200) { cb100_deleted = true; "[\"true\"]" }
128
128
  stdin, stdout = StringIO.new, StringIO.new
129
- @knife.ui.stub!(:stdin).and_return(stdin)
130
- @knife.ui.stub!(:stdout).and_return(stdout)
129
+ @knife.ui.stub(:stdin).and_return(stdin)
130
+ @knife.ui.stub(:stdout).and_return(stdout)
131
131
  stdin << "1\n"
132
132
  stdin.rewind
133
133
  @knife.run
@@ -142,8 +142,8 @@ describe Chef::Knife::CookbookDelete do
142
142
  @api.delete("/cookbooks/obsolete-cookbook/1.2.0", 200) { cb120_deleted = true; "[\"true\"]" }
143
143
 
144
144
  stdin, stdout = StringIO.new("4\n"), StringIO.new
145
- @knife.ui.stub!(:stdin).and_return(stdin)
146
- @knife.ui.stub!(:stdout).and_return(stdout)
145
+ @knife.ui.stub(:stdin).and_return(stdin)
146
+ @knife.ui.stub(:stdout).and_return(stdout)
147
147
 
148
148
  @knife.run
149
149
 
@@ -252,7 +252,7 @@ describe Chef::Knife::Ssh do
252
252
  # if available, but #merge_configs (which is called by #configure_chef) is
253
253
  # necessary to have default options merged in.
254
254
  @knife.merge_configs
255
- @knife.stub!(:ssh_command).and_return { 0 }
255
+ @knife.stub(:ssh_command).and_return { 0 }
256
256
  @api = TinyServer::API.instance
257
257
  @api.clear
258
258
 
@@ -132,7 +132,7 @@ describe Chef::Resource::Link do
132
132
  describe 'the :delete action' do
133
133
  before(:each) do
134
134
  @info = []
135
- Chef::Log.stub!(:info) { |msg| @info << msg }
135
+ Chef::Log.stub(:info) { |msg| @info << msg }
136
136
  resource.run_action(:delete)
137
137
  end
138
138
 
@@ -153,7 +153,7 @@ describe Chef::Resource::Link do
153
153
  describe 'the :delete action' do
154
154
  before(:each) do
155
155
  @info = []
156
- Chef::Log.stub!(:info) { |msg| @info << msg }
156
+ Chef::Log.stub(:info) { |msg| @info << msg }
157
157
  resource.run_action(:delete)
158
158
  end
159
159
 
@@ -174,7 +174,7 @@ describe Chef::Resource::Link do
174
174
  describe 'the :create action' do
175
175
  before(:each) do
176
176
  @info = []
177
- Chef::Log.stub!(:info) { |msg| @info << msg }
177
+ Chef::Log.stub(:info) { |msg| @info << msg }
178
178
  resource.run_action(:create)
179
179
  end
180
180
 
@@ -195,7 +195,7 @@ describe Chef::Resource::Link do
195
195
  describe 'the :create action' do
196
196
  before(:each) do
197
197
  @info = []
198
- Chef::Log.stub!(:info) { |msg| @info << msg }
198
+ Chef::Log.stub(:info) { |msg| @info << msg }
199
199
  resource.run_action(:create)
200
200
  end
201
201
 
@@ -216,7 +216,7 @@ describe Chef::Resource::Link do
216
216
  describe 'the :create action' do
217
217
  before(:each) do
218
218
  @info = []
219
- Chef::Log.stub!(:info) { |msg| @info << msg }
219
+ Chef::Log.stub(:info) { |msg| @info << msg }
220
220
  resource.run_action(:create)
221
221
  end
222
222
  it 'preserves the hard link' do
@@ -241,7 +241,7 @@ describe Chef::Resource::Link do
241
241
  describe 'the :create action' do
242
242
  before(:each) do
243
243
  @info = []
244
- Chef::Log.stub!(:info) { |msg| @info << msg }
244
+ Chef::Log.stub(:info) { |msg| @info << msg }
245
245
  resource.run_action(:create)
246
246
  end
247
247
  it 'links to the target file' do