chef 12.12.15-universal-mingw32 → 12.13.30-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -0
  3. data/LICENSE +201 -201
  4. data/VERSION +1 -1
  5. data/acceptance/.gitignore +2 -0
  6. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +1 -12
  7. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +29 -12
  8. data/acceptance/Gemfile +6 -3
  9. data/acceptance/Gemfile.lock +109 -67
  10. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +2 -2
  11. data/acceptance/trivial/.kitchen.yml +1 -1
  12. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -1
  13. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -1
  14. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -1
  15. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +4 -4
  16. data/bin/chef-apply +0 -0
  17. data/bin/chef-client +0 -0
  18. data/bin/chef-service-manager +0 -0
  19. data/bin/chef-shell +0 -0
  20. data/bin/chef-solo +0 -0
  21. data/bin/chef-windows-service +0 -0
  22. data/bin/knife +0 -0
  23. data/chef.gemspec +4 -3
  24. data/distro/common/html/_sources/ctl_chef_client.txt +35 -35
  25. data/distro/common/html/_sources/ctl_chef_server.txt +341 -341
  26. data/distro/common/html/_sources/ctl_chef_shell.txt +15 -15
  27. data/distro/common/html/_sources/ctl_chef_solo.txt +25 -25
  28. data/distro/common/html/_sources/index.txt +135 -135
  29. data/distro/common/html/_sources/knife.txt +74 -74
  30. data/distro/common/html/_sources/knife_bootstrap.txt +56 -56
  31. data/distro/common/html/_sources/knife_client.txt +150 -150
  32. data/distro/common/html/_sources/knife_common_options.txt +6 -6
  33. data/distro/common/html/_sources/knife_configure.txt +29 -29
  34. data/distro/common/html/_sources/knife_cookbook.txt +236 -236
  35. data/distro/common/html/_sources/knife_cookbook_site.txt +157 -157
  36. data/distro/common/html/_sources/knife_data_bag.txt +159 -159
  37. data/distro/common/html/_sources/knife_delete.txt +26 -26
  38. data/distro/common/html/_sources/knife_deps.txt +61 -61
  39. data/distro/common/html/_sources/knife_diff.txt +34 -34
  40. data/distro/common/html/_sources/knife_download.txt +44 -44
  41. data/distro/common/html/_sources/knife_edit.txt +26 -26
  42. data/distro/common/html/_sources/knife_environment.txt +158 -158
  43. data/distro/common/html/_sources/knife_exec.txt +47 -47
  44. data/distro/common/html/_sources/knife_index_rebuild.txt +20 -20
  45. data/distro/common/html/_sources/knife_list.txt +33 -33
  46. data/distro/common/html/_sources/knife_node.txt +250 -250
  47. data/distro/common/html/_sources/knife_raw.txt +35 -35
  48. data/distro/common/html/_sources/knife_recipe_list.txt +23 -23
  49. data/distro/common/html/_sources/knife_role.txt +157 -157
  50. data/distro/common/html/_sources/knife_search.txt +53 -53
  51. data/distro/common/html/_sources/knife_serve.txt +18 -18
  52. data/distro/common/html/_sources/knife_show.txt +26 -26
  53. data/distro/common/html/_sources/knife_ssh.txt +43 -43
  54. data/distro/common/html/_sources/knife_ssl_check.txt +41 -41
  55. data/distro/common/html/_sources/knife_ssl_fetch.txt +41 -41
  56. data/distro/common/html/_sources/knife_status.txt +37 -37
  57. data/distro/common/html/_sources/knife_tag.txt +69 -69
  58. data/distro/common/html/_sources/knife_upload.txt +49 -49
  59. data/distro/common/html/_sources/knife_user.txt +127 -127
  60. data/distro/common/html/_sources/knife_using.txt +43 -43
  61. data/distro/common/html/_sources/knife_xargs.txt +30 -30
  62. data/distro/common/html/_static/guide.css +504 -504
  63. data/distro/common/html/_static/pygments.css +61 -61
  64. data/distro/common/html/_static/underscore.js +31 -31
  65. data/distro/common/html/ctl_chef_client.html +269 -269
  66. data/distro/common/html/ctl_chef_server.html +727 -727
  67. data/distro/common/html/ctl_chef_shell.html +162 -162
  68. data/distro/common/html/ctl_chef_solo.html +193 -193
  69. data/distro/common/html/index.html +201 -201
  70. data/distro/common/html/knife.html +169 -169
  71. data/distro/common/html/knife_bootstrap.html +284 -284
  72. data/distro/common/html/knife_client.html +284 -284
  73. data/distro/common/html/knife_common_options.html +95 -95
  74. data/distro/common/html/knife_configure.html +104 -104
  75. data/distro/common/html/knife_cookbook.html +486 -486
  76. data/distro/common/html/knife_data_bag.html +373 -373
  77. data/distro/common/html/knife_delete.html +92 -92
  78. data/distro/common/html/knife_deps.html +142 -142
  79. data/distro/common/html/knife_diff.html +122 -122
  80. data/distro/common/html/knife_download.html +144 -144
  81. data/distro/common/html/knife_edit.html +88 -88
  82. data/distro/common/html/knife_environment.html +325 -325
  83. data/distro/common/html/knife_exec.html +219 -219
  84. data/distro/common/html/knife_index_rebuild.html +82 -82
  85. data/distro/common/html/knife_list.html +113 -113
  86. data/distro/common/html/knife_node.html +457 -457
  87. data/distro/common/html/knife_raw.html +109 -109
  88. data/distro/common/html/knife_recipe_list.html +90 -90
  89. data/distro/common/html/knife_role.html +294 -294
  90. data/distro/common/html/knife_search.html +202 -202
  91. data/distro/common/html/knife_serve.html +78 -78
  92. data/distro/common/html/knife_show.html +103 -103
  93. data/distro/common/html/knife_ssh.html +176 -176
  94. data/distro/common/html/knife_ssl_check.html +150 -150
  95. data/distro/common/html/knife_ssl_fetch.html +150 -150
  96. data/distro/common/html/knife_status.html +143 -143
  97. data/distro/common/html/knife_tag.html +137 -137
  98. data/distro/common/html/knife_upload.html +152 -152
  99. data/distro/common/html/knife_user.html +241 -241
  100. data/distro/common/html/knife_using.html +209 -209
  101. data/distro/common/html/knife_xargs.html +121 -121
  102. data/distro/common/html/search.html +81 -81
  103. data/distro/common/man/man1/README.md +58 -58
  104. data/distro/common/man/man1/chef-shell.1 +194 -194
  105. data/distro/common/man/man1/knife-bootstrap.1 +215 -215
  106. data/distro/common/man/man1/knife-client.1 +443 -443
  107. data/distro/common/man/man1/knife-configure.1 +161 -161
  108. data/distro/common/man/man1/knife-cookbook.1 +770 -770
  109. data/distro/common/man/man1/knife-data-bag.1 +617 -617
  110. data/distro/common/man/man1/knife-delete.1 +127 -127
  111. data/distro/common/man/man1/knife-deps.1 +246 -246
  112. data/distro/common/man/man1/knife-diff.1 +226 -226
  113. data/distro/common/man/man1/knife-download.1 +258 -258
  114. data/distro/common/man/man1/knife-edit.1 +121 -121
  115. data/distro/common/man/man1/knife-environment.1 +508 -508
  116. data/distro/common/man/man1/knife-exec.1 +362 -362
  117. data/distro/common/man/man1/knife-index-rebuild.1 +63 -63
  118. data/distro/common/man/man1/knife-list.1 +174 -174
  119. data/distro/common/man/man1/knife-node.1 +716 -716
  120. data/distro/common/man/man1/knife-raw.1 +172 -172
  121. data/distro/common/man/man1/knife-recipe-list.1 +85 -85
  122. data/distro/common/man/man1/knife-role.1 +426 -426
  123. data/distro/common/man/man1/knife-search.1 +359 -359
  124. data/distro/common/man/man1/knife-serve.1 +109 -109
  125. data/distro/common/man/man1/knife-show.1 +160 -160
  126. data/distro/common/man/man1/knife-ssh.1 +284 -284
  127. data/distro/common/man/man1/knife-ssl-check.1 +207 -207
  128. data/distro/common/man/man1/knife-ssl-fetch.1 +207 -207
  129. data/distro/common/man/man1/knife-status.1 +234 -234
  130. data/distro/common/man/man1/knife-tag.1 +189 -189
  131. data/distro/common/man/man1/knife-upload.1 +280 -280
  132. data/distro/common/man/man1/knife-user.1 +356 -356
  133. data/distro/common/man/man1/knife-xargs.1 +189 -189
  134. data/distro/common/man/man1/knife.1 +332 -332
  135. data/distro/common/man/man8/chef-apply.8 +86 -86
  136. data/distro/common/man/man8/chef-client.8 +398 -398
  137. data/distro/common/man/man8/chef-solo.8 +260 -260
  138. data/distro/common/markdown/README +3 -3
  139. data/lib/chef/application.rb +23 -0
  140. data/lib/chef/application/client.rb +10 -2
  141. data/lib/chef/application/knife.rb +8 -0
  142. data/lib/chef/application/solo.rb +10 -2
  143. data/lib/chef/audit/audit_reporter.rb +5 -1
  144. data/lib/chef/audit/runner.rb +1 -1
  145. data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -0
  146. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +4 -2
  147. data/lib/chef/chef_fs/file_system/repository/base_file.rb +3 -0
  148. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -0
  149. data/lib/chef/chef_fs/file_system/repository/directory.rb +12 -1
  150. data/lib/chef/chef_fs/file_system_cache.rb +80 -0
  151. data/lib/chef/data_collector.rb +18 -1
  152. data/lib/chef/data_collector/resource_report.rb +1 -0
  153. data/lib/chef/decorator/unchain.rb +16 -0
  154. data/lib/chef/dsl/cheffish.rb +1 -0
  155. data/lib/chef/dsl/declare_resource.rb +9 -1
  156. data/lib/chef/file_access_control/windows.rb +3 -3
  157. data/lib/chef/knife/bootstrap.rb +9 -0
  158. data/lib/chef/knife/cookbook_site_install.rb +2 -11
  159. data/lib/chef/knife/cookbook_site_share.rb +7 -13
  160. data/lib/chef/knife/core/bootstrap_context.rb +10 -0
  161. data/lib/chef/knife/help_topics.rb +4 -4
  162. data/lib/chef/nil_argument.rb +3 -3
  163. data/lib/chef/node/attribute.rb +2 -2
  164. data/lib/chef/provider/apt_repository.rb +1 -1
  165. data/lib/chef/provider/apt_update.rb +12 -3
  166. data/lib/chef/provider/cron.rb +1 -1
  167. data/lib/chef/provider/package/aix.rb +5 -1
  168. data/lib/chef/provider/package/zypper.rb +7 -7
  169. data/lib/chef/provider/resource_update.rb +52 -52
  170. data/lib/chef/reserved_names.rb +9 -9
  171. data/lib/chef/resource.rb +13 -1
  172. data/lib/chef/resource/freebsd_package.rb +1 -1
  173. data/lib/chef/run_context.rb +15 -42
  174. data/lib/chef/sandbox.rb +20 -20
  175. data/lib/chef/version.rb +1 -1
  176. data/lib/chef/version_class.rb +7 -2
  177. data/lib/chef/win32/file.rb +4 -4
  178. data/lib/chef/win32/system.rb +0 -0
  179. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -5
  180. data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -1
  181. data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -13
  182. data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -1
  183. data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -13
  184. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -1
  185. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -11
  186. data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -1
  187. data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -13
  188. data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -1
  189. data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -13
  190. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -1
  191. data/spec/data/apt/chef-integration-test2-1.0/debian/rules +0 -0
  192. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -22
  193. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -22
  194. data/spec/data/apt/var/www/apt/conf/distributions +7 -7
  195. data/spec/data/apt/var/www/apt/conf/incoming +4 -4
  196. data/spec/data/apt/var/www/apt/conf/pulls +3 -3
  197. data/spec/data/apt/var/www/apt/db/version +4 -4
  198. data/spec/data/apt/var/www/apt/dists/sid/Release +19 -19
  199. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -16
  200. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -5
  201. data/spec/data/bootstrap/encrypted_data_bag_secret +1 -1
  202. data/spec/data/bootstrap/no_proxy.erb +2 -2
  203. data/spec/data/bootstrap/secret.erb +9 -9
  204. data/spec/data/bootstrap/test-hints.erb +12 -12
  205. data/spec/data/bootstrap/test.erb +1 -1
  206. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +2 -2
  207. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +1 -1
  208. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +1 -1
  209. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +1 -1
  210. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +1 -1
  211. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +1 -1
  212. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +1 -1
  213. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +1 -1
  214. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +1 -1
  215. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +1 -1
  216. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +1 -1
  217. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +1 -1
  218. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +1 -1
  219. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +1 -1
  220. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +1 -1
  221. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +1 -1
  222. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +1 -1
  223. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +1 -1
  224. data/spec/data/config.rb +6 -6
  225. data/spec/data/cookbooks/angrybash/metadata.rb +2 -2
  226. data/spec/data/cookbooks/angrybash/recipes/default.rb +8 -8
  227. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +2 -2
  228. data/spec/data/cookbooks/apache2/metadata.rb +2 -2
  229. data/spec/data/cookbooks/apache2/recipes/default.rb +2 -2
  230. data/spec/data/cookbooks/borken/metadata.rb +2 -2
  231. data/spec/data/cookbooks/borken/recipes/default.rb +1 -1
  232. data/spec/data/cookbooks/borken/templates/default/borken.erb +1 -1
  233. data/spec/data/cookbooks/chefignore +8 -8
  234. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -2
  235. data/spec/data/cookbooks/ignorken/metadata.rb +2 -2
  236. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +1 -1
  237. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -2
  238. data/spec/data/cookbooks/java/files/default/java.response +1 -1
  239. data/spec/data/cookbooks/java/metadata.rb +2 -2
  240. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +4 -4
  241. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +8 -8
  242. data/spec/data/cookbooks/openldap/attributes/default.rb +16 -16
  243. data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
  244. data/spec/data/cookbooks/openldap/definitions/client.rb +5 -5
  245. data/spec/data/cookbooks/openldap/definitions/server.rb +5 -5
  246. data/spec/data/cookbooks/openldap/files/default/.dotfile +1 -1
  247. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +1 -1
  248. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +2 -2
  249. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +2 -2
  250. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +2 -2
  251. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +1 -1
  252. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +2 -2
  253. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +2 -2
  254. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +3 -3
  255. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -4
  256. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -3
  257. data/spec/data/cookbooks/openldap/metadata.rb +8 -8
  258. data/spec/data/cookbooks/openldap/recipes/default.rb +4 -4
  259. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +3 -3
  260. data/spec/data/cookbooks/openldap/recipes/one.rb +15 -15
  261. data/spec/data/cookbooks/openldap/recipes/return.rb +2 -2
  262. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -1
  263. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -1
  264. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -4
  265. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +1 -1
  266. data/spec/data/cookbooks/openldap/templates/default/test.erb +1 -1
  267. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -1
  268. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -4
  269. data/spec/data/cookbooks/preseed/metadata.rb +2 -2
  270. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +1 -1
  271. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -1
  272. data/spec/data/definitions/test.rb +4 -4
  273. data/spec/data/environment-config.rb +4 -4
  274. data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -127
  275. data/spec/data/fileedit/hosts +4 -4
  276. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +4 -4
  277. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +13 -13
  278. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +4 -4
  279. data/spec/data/kitchen/chefignore +6 -6
  280. data/spec/data/kitchen/openldap/attributes/default.rb +3 -3
  281. data/spec/data/kitchen/openldap/attributes/robinson.rb +2 -2
  282. data/spec/data/kitchen/openldap/definitions/client.rb +3 -3
  283. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +2 -2
  284. data/spec/data/kitchen/openldap/recipes/gigantor.rb +2 -2
  285. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +2 -2
  286. data/spec/data/kitchen/openldap/recipes/woot.rb +3 -3
  287. data/spec/data/knife_subcommand/test_explicit_category.rb +6 -6
  288. data/spec/data/knife_subcommand/test_name_mapping.rb +4 -4
  289. data/spec/data/knife_subcommand/test_yourself.rb +21 -21
  290. data/spec/data/lwrp/providers/inline_compiler.rb +26 -26
  291. data/spec/data/lwrp/providers/monkey_name_printer.rb +5 -5
  292. data/spec/data/lwrp/providers/paint_drying_watcher.rb +7 -7
  293. data/spec/data/lwrp/providers/thumb_twiddler.rb +7 -7
  294. data/spec/data/lwrp/resources/foo.rb +4 -4
  295. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +1 -1
  296. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -5
  297. data/spec/data/mac_users/10.7-8.plist.xml +559 -559
  298. data/spec/data/mac_users/10.7-8.shadow.xml +11 -11
  299. data/spec/data/mac_users/10.7.plist.xml +559 -559
  300. data/spec/data/mac_users/10.7.shadow.xml +11 -11
  301. data/spec/data/mac_users/10.8.plist.xml +559 -559
  302. data/spec/data/mac_users/10.8.shadow.xml +21 -21
  303. data/spec/data/mac_users/10.9.plist.xml +560 -560
  304. data/spec/data/mac_users/10.9.shadow.xml +21 -21
  305. data/spec/data/metadata/quick_start/metadata.rb +19 -19
  306. data/spec/data/nodes/default.rb +15 -15
  307. data/spec/data/nodes/test.example.com.rb +17 -17
  308. data/spec/data/nodes/test.rb +15 -15
  309. data/spec/data/null_config.rb +1 -1
  310. data/spec/data/object_loader/environments/test.json +7 -7
  311. data/spec/data/object_loader/environments/test.rb +2 -2
  312. data/spec/data/object_loader/environments/test_json_class.json +8 -8
  313. data/spec/data/object_loader/nodes/test.json +7 -7
  314. data/spec/data/object_loader/nodes/test.rb +2 -2
  315. data/spec/data/object_loader/nodes/test_json_class.json +8 -8
  316. data/spec/data/object_loader/roles/test.json +7 -7
  317. data/spec/data/object_loader/roles/test.rb +2 -2
  318. data/spec/data/object_loader/roles/test_json_class.json +8 -8
  319. data/spec/data/partial_one.erb +1 -1
  320. data/spec/data/recipes/test.rb +7 -7
  321. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -1
  322. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -2
  323. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -2
  324. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -1
  325. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -1
  326. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -1
  327. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -2
  328. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -2
  329. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -1
  330. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -1
  331. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -1
  332. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -2
  333. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -1
  334. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -1
  335. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -1
  336. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -2
  337. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -1
  338. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -1
  339. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -1
  340. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -1
  341. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -1
  342. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -1
  343. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -2
  344. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -2
  345. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -1
  346. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -1
  347. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -1
  348. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -1
  349. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -3
  350. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -1
  351. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -1
  352. data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
  353. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +9 -9
  354. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +5 -5
  355. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -1
  356. data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -1
  357. data/spec/data/run_context/cookbooks/test/recipes/default.rb +5 -5
  358. data/spec/data/run_context/cookbooks/test/recipes/one.rb +7 -7
  359. data/spec/data/run_context/cookbooks/test/recipes/two.rb +7 -7
  360. data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -1
  361. data/spec/data/run_context/nodes/run_context.rb +5 -5
  362. data/spec/data/search_queries_to_transform.txt +98 -98
  363. data/spec/data/shef-config.rb +10 -10
  364. data/spec/data/ssl/5e707473.0 +18 -18
  365. data/spec/data/ssl/chef-rspec.cert +27 -27
  366. data/spec/data/ssl/chef-rspec.key +27 -27
  367. data/spec/data/ssl/key.pem +15 -15
  368. data/spec/data/ssl/private_key.pem +27 -27
  369. data/spec/data/ssl/private_key_with_whitespace.pem +32 -32
  370. data/spec/data/standalone_cookbook/chefignore +9 -9
  371. data/spec/data/standalone_cookbook/recipes/default.rb +2 -2
  372. data/spec/data/trusted_certs/example.crt +22 -22
  373. data/spec/data/trusted_certs/intermediate.pem +27 -27
  374. data/spec/data/trusted_certs/root.pem +22 -22
  375. data/spec/functional/assets/chefinittest +34 -34
  376. data/spec/functional/assets/testchefsubsys +10 -10
  377. data/spec/functional/mixin/powershell_out_spec.rb +2 -2
  378. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +0 -0
  379. data/spec/functional/resource/aix_service_spec.rb +0 -0
  380. data/spec/functional/resource/aixinit_service_spec.rb +0 -0
  381. data/spec/functional/resource/cron_spec.rb +8 -1
  382. data/spec/functional/resource/env_spec.rb +0 -0
  383. data/spec/functional/resource/link_spec.rb +1 -6
  384. data/spec/functional/run_lock_spec.rb +17 -10
  385. data/spec/integration/knife/diff_spec.rb +2 -2
  386. data/spec/integration/knife/download_spec.rb +4 -4
  387. data/spec/integration/knife/raw_spec.rb +2 -0
  388. data/spec/integration/knife/upload_spec.rb +3 -3
  389. data/spec/rcov.opts +2 -2
  390. data/spec/spec_helper.rb +11 -1
  391. data/spec/support/shared/integration/knife_support.rb +4 -0
  392. data/spec/unit/application/client_spec.rb +35 -0
  393. data/spec/unit/application/solo_spec.rb +6 -6
  394. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -0
  395. data/spec/unit/data_collector_spec.rb +41 -1
  396. data/spec/unit/dsl/declare_resource_spec.rb +30 -0
  397. data/spec/unit/knife/cookbook_site_install_spec.rb +2 -0
  398. data/spec/unit/knife/cookbook_site_share_spec.rb +4 -4
  399. data/spec/unit/node_spec.rb +6 -0
  400. data/spec/unit/provider/cron_spec.rb +16 -16
  401. data/spec/unit/provider/package/aix_spec.rb +13 -0
  402. data/spec/unit/provider/package/zypper_spec.rb +18 -2
  403. data/spec/unit/resource/apt_repository_spec.rb +14 -2
  404. data/spec/unit/resource/apt_update_spec.rb +14 -2
  405. data/spec/unit/resource_builder_spec.rb +1 -1
  406. data/tasks/bin/bundle-platform +0 -0
  407. data/tasks/bin/bundle-platform.bat +0 -0
  408. data/tasks/bin/create-override-gemfile +0 -0
  409. data/tasks/bin/run_external_test +0 -0
  410. data/tasks/bundle.rb +2 -2
  411. metadata +29 -15
  412. data/acceptance/data-collector/Berksfile.lock +0 -6
@@ -101,6 +101,14 @@ class Chef
101
101
  :description => "The proxy server for the node being bootstrapped",
102
102
  :proc => Proc.new { |p| Chef::Config[:knife][:bootstrap_proxy] = p }
103
103
 
104
+ option :bootstrap_proxy_user,
105
+ :long => "--bootstrap-proxy-user PROXY_USER",
106
+ :description => "The proxy authentication username for the node being bootstrapped"
107
+
108
+ option :bootstrap_proxy_pass,
109
+ :long => "--bootstrap-proxy-pass PROXY_PASS",
110
+ :description => "The proxy authentication password for the node being bootstrapped"
111
+
104
112
  option :bootstrap_no_proxy,
105
113
  :long => "--bootstrap-no-proxy [NO_PROXY_URL|NO_PROXY_IP]",
106
114
  :description => "Do not proxy locations for the node being bootstrapped; this option is used internally by Opscode",
@@ -224,6 +232,7 @@ class Chef
224
232
  unless valid_values.include?(v)
225
233
  raise "Invalid value '#{v}' for --node-ssl-verify-mode. Valid values are: #{valid_values.join(", ")}"
226
234
  end
235
+ v
227
236
  }
228
237
 
229
238
  option :node_verify_api_cert,
@@ -19,6 +19,7 @@
19
19
  require "chef/knife"
20
20
  require "chef/exceptions"
21
21
  require "shellwords"
22
+ require "mixlib/archive"
22
23
 
23
24
  class Chef
24
25
  class Knife
@@ -149,17 +150,7 @@ class Chef
149
150
 
150
151
  def extract_cookbook(upstream_file, version)
151
152
  ui.info("Uncompressing #{@cookbook_name} version #{version}.")
152
- extract_command = "tar zxvf \"#{convert_path upstream_file}\""
153
- if Chef::Platform.windows?
154
- tar_version = shell_out("tar --version").stdout.tr("\n", " ")
155
- if tar_version =~ /GNU tar/
156
- Chef::Log.debug("GNU tar detected, adding --force-local")
157
- extract_command << " --force-local"
158
- else
159
- Chef::Log.debug("non-GNU tar detected, not adding --force-local")
160
- end
161
- end
162
- shell_out!(extract_command, :cwd => @install_path)
153
+ Mixlib::Archive.new(convert_path(upstream_file)).extract(@install_path, perms: false)
163
154
  end
164
155
 
165
156
  def clear_existing_files(cookbook_path)
@@ -113,19 +113,13 @@ class Chef
113
113
  end
114
114
 
115
115
  def get_category(cookbook_name)
116
- begin
117
- data = noauth_rest.get("https://supermarket.chef.io/api/v1/cookbooks/#{@name_args[0]}")
118
- if !data["category"] && data["error_code"]
119
- ui.fatal("Received an error from Supermarket: #{data["error_code"]}. On the first time you upload it, you are required to specify the category you want to share this cookbook to.")
120
- exit(1)
121
- else
122
- data["category"]
123
- end
124
- rescue => e
125
- ui.fatal("Unable to reach Supermarket: #{e.message}. Increase log verbosity (-VV) for more information.")
126
- Chef::Log.debug("\n#{e.backtrace.join("\n")}")
127
- exit(1)
128
- end
116
+ data = noauth_rest.get("#{config[:supermarket_site]}/api/v1/cookbooks/#{@name_args[0]}")
117
+ data["category"]
118
+ rescue => e
119
+ return "Other" if e.kind_of?(Net::HTTPServerException) && e.response.code == "404"
120
+ ui.fatal("Unable to reach Supermarket: #{e.message}. Increase log verbosity (-VV) for more information.")
121
+ Chef::Log.debug("\n#{e.backtrace.join("\n")}")
122
+ exit(1)
129
123
  end
130
124
 
131
125
  def do_upload(cookbook_filename, cookbook_category, user_id, user_secret_filename)
@@ -114,6 +114,16 @@ validation_client_name "#{@chef_config[:validation_client_name]}"
114
114
  client_rb << %Q{https_proxy "#{knife_config[:bootstrap_proxy]}"\n}
115
115
  end
116
116
 
117
+ if knife_config[:bootstrap_proxy_user]
118
+ client_rb << %Q{http_proxy_user "#{knife_config[:bootstrap_proxy_user]}"\n}
119
+ client_rb << %Q{https_proxy_user "#{knife_config[:bootstrap_proxy_user]}"\n}
120
+ end
121
+
122
+ if knife_config[:bootstrap_proxy_pass]
123
+ client_rb << %Q{http_proxy_pass "#{knife_config[:bootstrap_proxy_pass]}"\n}
124
+ client_rb << %Q{https_proxy_pass "#{knife_config[:bootstrap_proxy_pass]}"\n}
125
+ end
126
+
117
127
  if knife_config[:bootstrap_no_proxy]
118
128
  client_rb << %Q{no_proxy "#{knife_config[:bootstrap_no_proxy]}"\n}
119
129
  end
@@ -1,4 +1,4 @@
1
- # Do not edit this file by hand
2
- # This file is autogenerated by the docs:list rake task from the available manpages
3
-
4
- HELP_TOPICS = ["chef-shell", "knife-bootstrap", "knife-client", "knife-configure", "knife-cookbook-site", "knife-cookbook", "knife-data-bag", "knife-delete", "knife-deps", "knife-diff", "knife-download", "knife-edit", "knife-environment", "knife-exec", "knife-index-rebuild", "knife-list", "knife-node", "knife-raw", "knife-recipe-list", "knife-role", "knife-search", "knife-show", "knife-ssh", "knife-status", "knife-tag", "knife-upload", "knife-user", "knife-xargs", "knife"]
1
+ # Do not edit this file by hand
2
+ # This file is autogenerated by the docs:list rake task from the available manpages
3
+
4
+ HELP_TOPICS = ["chef-shell", "knife-bootstrap", "knife-client", "knife-configure", "knife-cookbook-site", "knife-cookbook", "knife-data-bag", "knife-delete", "knife-deps", "knife-diff", "knife-download", "knife-edit", "knife-environment", "knife-exec", "knife-index-rebuild", "knife-list", "knife-node", "knife-raw", "knife-recipe-list", "knife-role", "knife-search", "knife-show", "knife-ssh", "knife-status", "knife-tag", "knife-upload", "knife-user", "knife-xargs", "knife"]
@@ -1,3 +1,3 @@
1
- class Chef
2
- NIL_ARGUMENT = Object.new
3
- end
1
+ class Chef
2
+ NIL_ARGUMENT = Object.new
3
+ end
@@ -517,14 +517,14 @@ class Chef
517
517
  if symbol == :to_ary
518
518
  merged_attributes.send(symbol, *args)
519
519
  elsif args.empty?
520
- Chef.log_deprecation %q{"method access to node attributes (node.foo.bar) is deprecated and will be removed in Chef 13, please use bracket syntax (node["foo"]["bar"])}
520
+ Chef.log_deprecation %q{method access to node attributes (node.foo.bar) is deprecated and will be removed in Chef 13, please use bracket syntax (node["foo"]["bar"])}
521
521
  if key?(symbol)
522
522
  self[symbol]
523
523
  else
524
524
  raise NoMethodError, "Undefined method or attribute `#{symbol}' on `node'"
525
525
  end
526
526
  elsif symbol.to_s =~ /=$/
527
- Chef.log_deprecation %q{"method setting of node attributes (node.foo="bar") is deprecated and will be removed in Chef 13, please use bracket syntax (node["foo"]="bar")}
527
+ Chef.log_deprecation %q{method setting of node attributes (node.foo="bar") is deprecated and will be removed in Chef 13, please use bracket syntax (node["foo"]="bar")}
528
528
  key_to_set = symbol.to_s[/^(.+)=$/, 1]
529
529
  self[key_to_set] = (args.length == 1 ? args[0] : args)
530
530
  else
@@ -254,4 +254,4 @@ class Chef
254
254
  end
255
255
  end
256
256
 
257
- Chef::Provider::Noop.provides :apt_resource
257
+ Chef::Provider::Noop.provides :apt_repository
@@ -16,15 +16,17 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require "chef/resource"
20
- require "chef/dsl/declare_resource"
19
+ require "chef/provider"
20
+ require "chef/provider/noop"
21
21
 
22
22
  class Chef
23
23
  class Provider
24
24
  class AptUpdate < Chef::Provider
25
25
  use_inline_resources
26
26
 
27
- provides :apt_update, os: "linux"
27
+ provides :apt_update do
28
+ uses_apt?
29
+ end
28
30
 
29
31
  APT_CONF_DIR = "/etc/apt/apt.conf.d"
30
32
  STAMP_DIR = "/var/lib/apt/periodic"
@@ -75,6 +77,13 @@ class Chef
75
77
  declare_resource(:execute, "apt-get -q update")
76
78
  end
77
79
 
80
+ def self.uses_apt?
81
+ ENV["PATH"] ||= ""
82
+ paths = %w{ /bin /usr/bin /sbin /usr/sbin } + ENV["PATH"].split(::File::PATH_SEPARATOR)
83
+ paths.any? { |path| ::File.executable?(::File.join(path, "apt-get")) }
84
+ end
78
85
  end
79
86
  end
80
87
  end
88
+
89
+ Chef::Provider::Noop.provides :apt_update
@@ -237,7 +237,7 @@ class Chef
237
237
  newcron = ""
238
238
  newcron << "# Chef Name: #{new_resource.name}\n"
239
239
  [ :mailto, :path, :shell, :home ].each do |v|
240
- newcron << "#{v.to_s.upcase}=#{@new_resource.send(v)}\n" if @new_resource.send(v)
240
+ newcron << "#{v.to_s.upcase}=\"#{@new_resource.send(v)}\"\n" if @new_resource.send(v)
241
241
  end
242
242
  @new_resource.environment.each do |name, value|
243
243
  newcron << "#{name}=#{value}\n"
@@ -55,7 +55,11 @@ class Chef
55
55
  ret = shell_out_with_timeout("installp -L -d #{@new_resource.source}")
56
56
  ret.stdout.each_line do |line|
57
57
  case line
58
- when /#{@new_resource.package_name}:/
58
+ when /:#{@new_resource.package_name}:/
59
+ fields = line.split(":")
60
+ @new_resource.version(fields[2])
61
+ when /^#{@new_resource.package_name}:/
62
+ Chef::Log.warn("You are installing a bff package by product name. For idempotent installs, please install individual filesets")
59
63
  fields = line.split(":")
60
64
  @new_resource.version(fields[2])
61
65
  end
@@ -38,15 +38,15 @@ class Chef
38
38
  status = shell_out_with_timeout!("zypper --non-interactive info #{package_name}")
39
39
  status.stdout.each_line do |line|
40
40
  case line
41
- when /^Version: (.+)$/
42
- candidate_version = $1
43
- Chef::Log.debug("#{new_resource} version #{$1}")
44
- when /^Installed: Yes$/
41
+ when /^Version *: (.+) *$/
42
+ candidate_version = $1.strip
43
+ Chef::Log.debug("#{new_resource} version #{candidate_version}")
44
+ when /^Installed *: Yes *$/
45
45
  is_installed = true
46
46
  Chef::Log.debug("#{new_resource} is installed")
47
- when /^Status: out-of-date \(version (.+) installed\)$/
48
- current_version = $1
49
- Chef::Log.debug("#{new_resource} out of date version #{$1}")
47
+ when /^Status *: out-of-date \(version (.+) installed\) *$/
48
+ current_version = $1.strip
49
+ Chef::Log.debug("#{new_resource} out of date version #{current_version}")
50
50
  end
51
51
  end
52
52
  current_version = candidate_version if is_installed
@@ -1,52 +1,52 @@
1
-
2
- class Chef
3
- class Provider
4
-
5
- # {
6
- # "run_id" : "1000",
7
- # "resource" : {
8
- # "type" : "file",
9
- # "name" : "/etc/passwd",
10
- # "start_time" : "2012-01-09T08:15:30-05:00",
11
- # "end_time" : "2012-01-09T08:15:30-05:00",
12
- # "status" : "modified",
13
- # "initial_state" : "exists",
14
- # "final_state" : "modified",
15
- # "before" : {
16
- # "group" : "root",
17
- # "owner" : "root",
18
- # "checksum" : "xyz"
19
- # },
20
- # "after" : {
21
- # "group" : "root",
22
- # "owner" : "root",
23
- # "checksum" : "abc"
24
- # },
25
- # "delta" : "escaped delta goes here"
26
- # },
27
- # "event_data" : ""
28
- # }
29
-
30
- class ResourceUpdate
31
-
32
- attr_accessor :type
33
- attr_accessor :name
34
- attr_accessor :duration #ms
35
- attr_accessor :status
36
- attr_accessor :initial_state
37
- attr_accessor :final_state
38
- attr_accessor :initial_properties
39
- attr_accessor :final_properties
40
- attr_accessor :event_data # e.g., a diff.
41
-
42
- def initial_state_from_resource(resource)
43
- @initial_properties = resource.to_hash
44
- end
45
-
46
- def updated_state_from_resource(resource)
47
- @final_properties = resource.to_hash
48
- end
49
-
50
- end
51
- end
52
- end
1
+
2
+ class Chef
3
+ class Provider
4
+
5
+ # {
6
+ # "run_id" : "1000",
7
+ # "resource" : {
8
+ # "type" : "file",
9
+ # "name" : "/etc/passwd",
10
+ # "start_time" : "2012-01-09T08:15:30-05:00",
11
+ # "end_time" : "2012-01-09T08:15:30-05:00",
12
+ # "status" : "modified",
13
+ # "initial_state" : "exists",
14
+ # "final_state" : "modified",
15
+ # "before" : {
16
+ # "group" : "root",
17
+ # "owner" : "root",
18
+ # "checksum" : "xyz"
19
+ # },
20
+ # "after" : {
21
+ # "group" : "root",
22
+ # "owner" : "root",
23
+ # "checksum" : "abc"
24
+ # },
25
+ # "delta" : "escaped delta goes here"
26
+ # },
27
+ # "event_data" : ""
28
+ # }
29
+
30
+ class ResourceUpdate
31
+
32
+ attr_accessor :type
33
+ attr_accessor :name
34
+ attr_accessor :duration #ms
35
+ attr_accessor :status
36
+ attr_accessor :initial_state
37
+ attr_accessor :final_state
38
+ attr_accessor :initial_properties
39
+ attr_accessor :final_properties
40
+ attr_accessor :event_data # e.g., a diff.
41
+
42
+ def initial_state_from_resource(resource)
43
+ @initial_properties = resource.to_hash
44
+ end
45
+
46
+ def updated_state_from_resource(resource)
47
+ @final_properties = resource.to_hash
48
+ end
49
+
50
+ end
51
+ end
52
+ end
@@ -1,9 +1,9 @@
1
- class Chef
2
-
3
- # This module exists to hide conflicting constant names from the DSL.
4
- # Hopefully we'll have a better/prettier/more sustainable solution in the
5
- # future, but for now this will fix a regression introduced in Chef 0.10.10
6
- # (conflict with the Win32 namespace)
7
- module ReservedNames
8
- end
9
- end
1
+ class Chef
2
+
3
+ # This module exists to hide conflicting constant names from the DSL.
4
+ # Hopefully we'll have a better/prettier/more sustainable solution in the
5
+ # future, but for now this will fix a regression introduced in Chef 0.10.10
6
+ # (conflict with the Win32 namespace)
7
+ module ReservedNames
8
+ end
9
+ end
@@ -259,6 +259,18 @@ class Chef
259
259
  true
260
260
  end
261
261
 
262
+ #
263
+ # Token class to hold an unresolved subscribes call with an associated
264
+ # run context.
265
+ #
266
+ # @api private
267
+ # @see Resource#subscribes
268
+ class UnresolvedSubscribes < self
269
+ # The full key ise given as the name in {Resource#subscribes}
270
+ alias_method :to_s, :name
271
+ alias_method :declared_key, :name
272
+ end
273
+
262
274
  #
263
275
  # Subscribes to updates from other resources, causing a particular action to
264
276
  # run on *this* resource when the other resource is updated.
@@ -326,7 +338,7 @@ class Chef
326
338
  resources = [resources].flatten
327
339
  resources.each do |resource|
328
340
  if resource.is_a?(String)
329
- resource = Chef::Resource.new(resource, run_context)
341
+ resource = UnresolvedSubscribes.new(resource, run_context)
330
342
  end
331
343
  if resource.run_context.nil?
332
344
  resource.run_context = run_context
@@ -45,7 +45,7 @@ class Chef
45
45
  def ships_with_pkgng?
46
46
  # It was not until __FreeBSD_version 1000017 that pkgng became
47
47
  # the default binary package manager. See '/usr/ports/Mk/bsd.port.mk'.
48
- node.automatic[:os_version].to_i >= 1000017
48
+ node[:os_version].to_i >= 1000017
49
49
  end
50
50
 
51
51
  def assign_provider
@@ -194,12 +194,10 @@ class Chef
194
194
  # @param [Chef::Resource::Notification] The notification to add.
195
195
  #
196
196
  def notifies_before(notification)
197
- nr = notification.notifying_resource
198
- if nr.instance_of?(Chef::Resource)
199
- before_notification_collection[nr.name] << notification
200
- else
201
- before_notification_collection[nr.declared_key] << notification
202
- end
197
+ # Note for the future, notification.notifying_resource may be an instance
198
+ # of Chef::Resource::UnresolvedSubscribes when calling {Resource#subscribes}
199
+ # with a string value.
200
+ before_notification_collection[notification.notifying_resource.declared_key] << notification
203
201
  end
204
202
 
205
203
  #
@@ -208,12 +206,10 @@ class Chef
208
206
  # @param [Chef::Resource::Notification] The notification to add.
209
207
  #
210
208
  def notifies_immediately(notification)
211
- nr = notification.notifying_resource
212
- if nr.instance_of?(Chef::Resource)
213
- immediate_notification_collection[nr.name] << notification
214
- else
215
- immediate_notification_collection[nr.declared_key] << notification
216
- end
209
+ # Note for the future, notification.notifying_resource may be an instance
210
+ # of Chef::Resource::UnresolvedSubscribes when calling {Resource#subscribes}
211
+ # with a string value.
212
+ immediate_notification_collection[notification.notifying_resource.declared_key] << notification
217
213
  end
218
214
 
219
215
  #
@@ -222,12 +218,10 @@ class Chef
222
218
  # @param [Chef::Resource::Notification] The notification to add.
223
219
  #
224
220
  def notifies_delayed(notification)
225
- nr = notification.notifying_resource
226
- if nr.instance_of?(Chef::Resource)
227
- delayed_notification_collection[nr.name] << notification
228
- else
229
- delayed_notification_collection[nr.declared_key] << notification
230
- end
221
+ # Note for the future, notification.notifying_resource may be an instance
222
+ # of Chef::Resource::UnresolvedSubscribes when calling {Resource#subscribes}
223
+ # with a string value.
224
+ delayed_notification_collection[notification.notifying_resource.declared_key] << notification
231
225
  end
232
226
 
233
227
  #
@@ -245,50 +239,29 @@ class Chef
245
239
  #
246
240
  # Get the list of before notifications sent by the given resource.
247
241
  #
248
- # TODO seriously, this is actually wrong. resource.name is not unique,
249
- # you need the type as well.
250
- #
251
242
  # @return [Array[Notification]]
252
243
  #
253
244
  def before_notifications(resource)
254
- if resource.instance_of?(Chef::Resource)
255
- return before_notification_collection[resource.name]
256
- else
257
- return before_notification_collection[resource.declared_key]
258
- end
245
+ return before_notification_collection[resource.declared_key]
259
246
  end
260
247
 
261
248
  #
262
249
  # Get the list of immediate notifications sent by the given resource.
263
250
  #
264
- # TODO seriously, this is actually wrong. resource.name is not unique,
265
- # you need the type as well.
266
- #
267
251
  # @return [Array[Notification]]
268
252
  #
269
253
  def immediate_notifications(resource)
270
- if resource.instance_of?(Chef::Resource)
271
- return immediate_notification_collection[resource.name]
272
- else
273
- return immediate_notification_collection[resource.declared_key]
274
- end
254
+ return immediate_notification_collection[resource.declared_key]
275
255
  end
276
256
 
277
257
  #
278
258
  # Get the list of delayed (end of run) notifications sent by the given
279
259
  # resource.
280
260
  #
281
- # TODO seriously, this is actually wrong. resource.name is not unique,
282
- # you need the type as well.
283
- #
284
261
  # @return [Array[Notification]]
285
262
  #
286
263
  def delayed_notifications(resource)
287
- if resource.instance_of?(Chef::Resource)
288
- return delayed_notification_collection[resource.name]
289
- else
290
- return delayed_notification_collection[resource.declared_key]
291
- end
264
+ return delayed_notification_collection[resource.declared_key]
292
265
  end
293
266
 
294
267
  #