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

Sign up to get free protection for your applications and to get access to all the features.
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
  #