chef 14.15.6 → 15.0.293

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 (2119) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +26 -5
  3. data/LICENSE +0 -0
  4. data/README.md +11 -198
  5. data/Rakefile +13 -8
  6. data/chef-universal-mingw32.gemspec +2 -4
  7. data/chef.gemspec +12 -14
  8. data/lib/chef.rb +15 -14
  9. data/lib/chef/action_collection.rb +252 -0
  10. data/lib/chef/api_client.rb +7 -7
  11. data/lib/chef/api_client/registration.rb +3 -3
  12. data/lib/chef/api_client_v1.rb +10 -10
  13. data/lib/chef/application.rb +22 -11
  14. data/lib/chef/application/apply.rb +24 -27
  15. data/lib/chef/application/client.rb +76 -89
  16. data/lib/chef/application/exit_code.rb +7 -14
  17. data/lib/chef/application/knife.rb +27 -26
  18. data/lib/chef/application/solo.rb +47 -53
  19. data/lib/chef/application/windows_service.rb +27 -26
  20. data/lib/chef/application/windows_service_manager.rb +9 -8
  21. data/lib/chef/applications.rb +4 -4
  22. data/lib/chef/blacklist.rb +1 -1
  23. data/lib/chef/chef_class.rb +7 -7
  24. data/lib/chef/chef_fs.rb +1 -1
  25. data/lib/chef/chef_fs/chef_fs_data_store.rb +5 -5
  26. data/lib/chef/chef_fs/command_line.rb +3 -3
  27. data/lib/chef/chef_fs/config.rb +4 -4
  28. data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +1 -1
  29. data/lib/chef/chef_fs/data_handler/client_data_handler.rb +2 -2
  30. data/lib/chef/chef_fs/data_handler/client_key_data_handler.rb +2 -2
  31. data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
  32. data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +2 -2
  33. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +3 -3
  34. data/lib/chef/chef_fs/data_handler/data_handler_base.rb +0 -0
  35. data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +2 -2
  36. data/lib/chef/chef_fs/data_handler/group_data_handler.rb +2 -2
  37. data/lib/chef/chef_fs/data_handler/node_data_handler.rb +2 -2
  38. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
  39. data/lib/chef/chef_fs/data_handler/organization_invites_data_handler.rb +1 -1
  40. data/lib/chef/chef_fs/data_handler/organization_members_data_handler.rb +1 -1
  41. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +1 -1
  42. data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +1 -1
  43. data/lib/chef/chef_fs/data_handler/role_data_handler.rb +2 -2
  44. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -1
  45. data/lib/chef/chef_fs/file_pattern.rb +2 -2
  46. data/lib/chef/chef_fs/file_system.rb +3 -3
  47. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +2 -2
  48. data/lib/chef/chef_fs/file_system/base_fs_object.rb +3 -3
  49. data/lib/chef/chef_fs/file_system/chef_server/acl_dir.rb +3 -3
  50. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +2 -2
  51. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +6 -6
  52. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +24 -24
  53. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifact_dir.rb +1 -1
  54. data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +2 -2
  55. data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +7 -7
  56. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  57. data/lib/chef/chef_fs/file_system/chef_server/cookbook_subdir.rb +1 -1
  58. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_acl_dir.rb +1 -1
  59. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +5 -5
  60. data/lib/chef/chef_fs/file_system/chef_server/data_bag_dir.rb +4 -4
  61. data/lib/chef/chef_fs/file_system/chef_server/data_bag_entry.rb +2 -2
  62. data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +2 -2
  63. data/lib/chef/chef_fs/file_system/chef_server/environments_dir.rb +3 -3
  64. data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +4 -4
  65. data/lib/chef/chef_fs/file_system/chef_server/org_entry.rb +2 -2
  66. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +3 -3
  67. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +3 -3
  68. data/lib/chef/chef_fs/file_system/chef_server/policies_acl_dir.rb +1 -1
  69. data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +2 -2
  70. data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +8 -7
  71. data/lib/chef/chef_fs/file_system/chef_server/policy_groups_dir.rb +4 -4
  72. data/lib/chef/chef_fs/file_system/chef_server/policy_revision_entry.rb +2 -2
  73. data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +3 -3
  74. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +5 -5
  75. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbook_dir.rb +2 -2
  76. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +2 -2
  77. data/lib/chef/chef_fs/file_system/exceptions.rb +0 -0
  78. data/lib/chef/chef_fs/file_system/memory/memory_dir.rb +2 -2
  79. data/lib/chef/chef_fs/file_system/memory/memory_file.rb +1 -1
  80. data/lib/chef/chef_fs/file_system/memory/memory_root.rb +1 -1
  81. data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -2
  82. data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +2 -2
  83. data/lib/chef/chef_fs/file_system/repository/acl.rb +2 -2
  84. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +5 -5
  85. data/lib/chef/chef_fs/file_system/repository/acls_sub_dir.rb +3 -3
  86. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -1
  87. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_artifact_dir.rb +1 -1
  88. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +5 -5
  89. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +3 -3
  90. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +29 -29
  91. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_versioned_cookbook_dir.rb +1 -1
  92. data/lib/chef/chef_fs/file_system/repository/client.rb +2 -2
  93. data/lib/chef/chef_fs/file_system/repository/client_key.rb +2 -2
  94. data/lib/chef/chef_fs/file_system/repository/client_keys_dir.rb +3 -3
  95. data/lib/chef/chef_fs/file_system/repository/client_keys_sub_dir.rb +3 -3
  96. data/lib/chef/chef_fs/file_system/repository/clients_dir.rb +3 -3
  97. data/lib/chef/chef_fs/file_system/repository/container.rb +2 -2
  98. data/lib/chef/chef_fs/file_system/repository/containers_dir.rb +3 -3
  99. data/lib/chef/chef_fs/file_system/repository/cookbook_artifacts_dir.rb +2 -2
  100. data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +3 -3
  101. data/lib/chef/chef_fs/file_system/repository/data_bag.rb +2 -2
  102. data/lib/chef/chef_fs/file_system/repository/data_bag_item.rb +2 -2
  103. data/lib/chef/chef_fs/file_system/repository/data_bags_dir.rb +2 -2
  104. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  105. data/lib/chef/chef_fs/file_system/repository/environment.rb +2 -2
  106. data/lib/chef/chef_fs/file_system/repository/environments_dir.rb +3 -3
  107. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +4 -4
  108. data/lib/chef/chef_fs/file_system/repository/group.rb +2 -2
  109. data/lib/chef/chef_fs/file_system/repository/groups_dir.rb +3 -3
  110. data/lib/chef/chef_fs/file_system/repository/node.rb +2 -2
  111. data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +4 -4
  112. data/lib/chef/chef_fs/file_system/repository/policies_dir.rb +3 -3
  113. data/lib/chef/chef_fs/file_system/repository/policy.rb +2 -2
  114. data/lib/chef/chef_fs/file_system/repository/policy_group.rb +2 -2
  115. data/lib/chef/chef_fs/file_system/repository/policy_groups_dir.rb +3 -3
  116. data/lib/chef/chef_fs/file_system/repository/role.rb +2 -2
  117. data/lib/chef/chef_fs/file_system/repository/roles_dir.rb +3 -3
  118. data/lib/chef/chef_fs/file_system/repository/user.rb +2 -2
  119. data/lib/chef/chef_fs/file_system/repository/users_dir.rb +3 -3
  120. data/lib/chef/chef_fs/file_system/repository/versioned_cookbooks_dir.rb +2 -2
  121. data/lib/chef/chef_fs/file_system_cache.rb +1 -1
  122. data/lib/chef/chef_fs/knife.rb +6 -6
  123. data/lib/chef/chef_fs/parallelizer.rb +1 -1
  124. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -0
  125. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  126. data/lib/chef/chef_fs/path_utils.rb +1 -1
  127. data/lib/chef/client.rb +139 -242
  128. data/lib/chef/config.rb +2 -2
  129. data/lib/chef/config_fetcher.rb +4 -4
  130. data/lib/chef/constants.rb +0 -0
  131. data/lib/chef/cookbook/chefignore.rb +1 -2
  132. data/lib/chef/cookbook/cookbook_collection.rb +2 -3
  133. data/lib/chef/cookbook/cookbook_version_loader.rb +73 -62
  134. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -2
  135. data/lib/chef/cookbook/file_vendor.rb +0 -1
  136. data/lib/chef/cookbook/gem_installer.rb +3 -10
  137. data/lib/chef/cookbook/manifest_v0.rb +2 -2
  138. data/lib/chef/cookbook/manifest_v2.rb +2 -2
  139. data/lib/chef/cookbook/metadata.rb +30 -82
  140. data/lib/chef/cookbook/remote_file_vendor.rb +1 -2
  141. data/lib/chef/cookbook/synchronizer.rb +20 -4
  142. data/lib/chef/cookbook/syntax_check.rb +3 -4
  143. data/lib/chef/cookbook_loader.rb +88 -111
  144. data/lib/chef/cookbook_manifest.rb +5 -5
  145. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -0
  146. data/lib/chef/cookbook_uploader.rb +10 -10
  147. data/lib/chef/cookbook_version.rb +7 -7
  148. data/lib/chef/daemon.rb +2 -2
  149. data/lib/chef/data_bag.rb +12 -12
  150. data/lib/chef/data_bag_item.rb +12 -12
  151. data/lib/chef/data_collector.rb +213 -454
  152. data/lib/chef/data_collector/config_validation.rb +88 -0
  153. data/lib/chef/data_collector/error_handlers.rb +116 -0
  154. data/lib/chef/data_collector/message_helpers.rb +50 -0
  155. data/lib/chef/data_collector/run_end_message.rb +172 -0
  156. data/lib/chef/data_collector/run_start_message.rb +60 -0
  157. data/lib/chef/decorator.rb +0 -0
  158. data/lib/chef/decorator/lazy.rb +1 -1
  159. data/lib/chef/decorator/lazy_array.rb +1 -1
  160. data/lib/chef/decorator/unchain.rb +0 -0
  161. data/lib/chef/delayed_evaluator.rb +0 -0
  162. data/lib/chef/deprecated.rb +6 -13
  163. data/lib/chef/deprecation/warnings.rb +1 -1
  164. data/lib/chef/digester.rb +0 -0
  165. data/lib/chef/dist.rb +19 -0
  166. data/lib/chef/dsl.rb +6 -6
  167. data/lib/chef/dsl/cheffish.rb +0 -0
  168. data/lib/chef/dsl/core.rb +4 -4
  169. data/lib/chef/dsl/data_query.rb +5 -5
  170. data/lib/chef/dsl/declare_resource.rb +2 -2
  171. data/lib/chef/dsl/definitions.rb +0 -0
  172. data/lib/chef/dsl/include_attribute.rb +1 -1
  173. data/lib/chef/dsl/include_recipe.rb +1 -7
  174. data/lib/chef/dsl/platform_introspection.rb +0 -0
  175. data/lib/chef/dsl/powershell.rb +1 -1
  176. data/lib/chef/dsl/reboot_pending.rb +2 -2
  177. data/lib/chef/dsl/recipe.rb +8 -10
  178. data/lib/chef/dsl/registry_helper.rb +0 -0
  179. data/lib/chef/dsl/resources.rb +5 -7
  180. data/lib/chef/dsl/universal.rb +10 -8
  181. data/lib/chef/encrypted_data_bag_item.rb +4 -4
  182. data/lib/chef/encrypted_data_bag_item/assertions.rb +2 -2
  183. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  184. data/lib/chef/encrypted_data_bag_item/decryption_failure.rb +0 -0
  185. data/lib/chef/encrypted_data_bag_item/decryptor.rb +46 -41
  186. data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +0 -0
  187. data/lib/chef/encrypted_data_bag_item/encryption_failure.rb +0 -0
  188. data/lib/chef/encrypted_data_bag_item/encryptor.rb +4 -4
  189. data/lib/chef/encrypted_data_bag_item/unacceptable_encrypted_data_bag_item_format.rb +0 -0
  190. data/lib/chef/encrypted_data_bag_item/unsupported_cipher.rb +0 -0
  191. data/lib/chef/encrypted_data_bag_item/unsupported_encrypted_data_bag_item_format.rb +0 -0
  192. data/lib/chef/environment.rb +7 -7
  193. data/lib/chef/event_dispatch/base.rb +18 -32
  194. data/lib/chef/event_dispatch/dispatcher.rb +41 -15
  195. data/lib/chef/event_dispatch/dsl.rb +3 -3
  196. data/lib/chef/event_dispatch/events_output_stream.rb +0 -0
  197. data/lib/chef/event_loggers/base.rb +1 -1
  198. data/lib/chef/event_loggers/windows_eventlog.rb +5 -5
  199. data/lib/chef/exceptions.rb +6 -35
  200. data/lib/chef/file_access_control.rb +3 -3
  201. data/lib/chef/file_access_control/unix.rb +1 -1
  202. data/lib/chef/file_access_control/windows.rb +2 -2
  203. data/lib/chef/file_cache.rb +5 -5
  204. data/lib/chef/file_content_management/content_base.rb +0 -0
  205. data/lib/chef/file_content_management/deploy.rb +3 -3
  206. data/lib/chef/file_content_management/deploy/cp.rb +0 -0
  207. data/lib/chef/file_content_management/deploy/mv_unix.rb +0 -0
  208. data/lib/chef/file_content_management/deploy/mv_windows.rb +2 -2
  209. data/lib/chef/file_content_management/tempfile.rb +0 -0
  210. data/lib/chef/formatters/base.rb +5 -5
  211. data/lib/chef/formatters/doc.rb +15 -57
  212. data/lib/chef/formatters/error_description.rb +1 -1
  213. data/lib/chef/formatters/error_inspectors.rb +7 -7
  214. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +15 -14
  215. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +0 -0
  216. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +3 -3
  217. data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +1 -1
  218. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +9 -8
  219. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +18 -17
  220. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -2
  221. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +10 -9
  222. data/lib/chef/formatters/error_mapper.rb +0 -0
  223. data/lib/chef/formatters/indentable_output_stream.rb +0 -0
  224. data/lib/chef/formatters/minimal.rb +7 -5
  225. data/lib/chef/guard_interpreter.rb +2 -2
  226. data/lib/chef/guard_interpreter/default_guard_interpreter.rb +4 -7
  227. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +1 -1
  228. data/lib/chef/handler.rb +1 -1
  229. data/lib/chef/handler/error_report.rb +2 -2
  230. data/lib/chef/handler/json_file.rb +2 -2
  231. data/lib/chef/http.rb +6 -6
  232. data/lib/chef/http/api_versions.rb +2 -2
  233. data/lib/chef/http/auth_credentials.rb +1 -1
  234. data/lib/chef/http/authenticator.rb +2 -2
  235. data/lib/chef/http/basic_client.rb +2 -2
  236. data/lib/chef/http/cookie_jar.rb +0 -0
  237. data/lib/chef/http/cookie_manager.rb +1 -1
  238. data/lib/chef/http/decompressor.rb +1 -1
  239. data/lib/chef/http/http_request.rb +3 -2
  240. data/lib/chef/http/json_input.rb +1 -1
  241. data/lib/chef/http/json_output.rb +2 -2
  242. data/lib/chef/http/json_to_model_output.rb +1 -1
  243. data/lib/chef/http/remote_request_id.rb +1 -1
  244. data/lib/chef/http/simple.rb +5 -5
  245. data/lib/chef/http/simple_json.rb +5 -5
  246. data/lib/chef/http/socketless_chef_zero_client.rb +8 -8
  247. data/lib/chef/http/ssl_policies.rb +1 -1
  248. data/lib/chef/http/validate_content_length.rb +1 -1
  249. data/lib/chef/json_compat.rb +1 -1
  250. data/lib/chef/key.rb +4 -4
  251. data/lib/chef/knife.rb +55 -37
  252. data/lib/chef/knife/bootstrap.rb +728 -196
  253. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -1
  254. data/lib/chef/knife/bootstrap/client_builder.rb +4 -5
  255. data/lib/chef/knife/bootstrap/templates/README.md +0 -0
  256. data/lib/chef/knife/bootstrap/templates/chef-full.erb +5 -5
  257. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +276 -0
  258. data/lib/chef/knife/bootstrap/train_connector.rb +325 -0
  259. data/lib/chef/knife/client_bulk_delete.rb +3 -3
  260. data/lib/chef/knife/client_create.rb +5 -14
  261. data/lib/chef/knife/client_delete.rb +3 -3
  262. data/lib/chef/knife/client_edit.rb +2 -2
  263. data/lib/chef/knife/client_key_create.rb +3 -3
  264. data/lib/chef/knife/client_key_delete.rb +2 -2
  265. data/lib/chef/knife/client_key_edit.rb +3 -3
  266. data/lib/chef/knife/client_key_list.rb +3 -3
  267. data/lib/chef/knife/client_key_show.rb +2 -2
  268. data/lib/chef/knife/client_list.rb +3 -3
  269. data/lib/chef/knife/client_reregister.rb +3 -3
  270. data/lib/chef/knife/client_show.rb +2 -2
  271. data/lib/chef/knife/config_get.rb +2 -3
  272. data/lib/chef/knife/config_get_profile.rb +1 -1
  273. data/lib/chef/knife/config_list_profiles.rb +2 -2
  274. data/lib/chef/knife/config_use_profile.rb +1 -1
  275. data/lib/chef/knife/configure.rb +3 -3
  276. data/lib/chef/knife/configure_client.rb +1 -1
  277. data/lib/chef/knife/cookbook_bulk_delete.rb +3 -3
  278. data/lib/chef/knife/cookbook_delete.rb +2 -2
  279. data/lib/chef/knife/cookbook_download.rb +5 -5
  280. data/lib/chef/knife/cookbook_list.rb +2 -2
  281. data/lib/chef/knife/cookbook_metadata.rb +5 -5
  282. data/lib/chef/knife/cookbook_metadata_from_file.rb +3 -3
  283. data/lib/chef/knife/cookbook_show.rb +7 -7
  284. data/lib/chef/knife/cookbook_site_download.rb +3 -3
  285. data/lib/chef/knife/cookbook_site_install.rb +3 -3
  286. data/lib/chef/knife/cookbook_site_list.rb +3 -3
  287. data/lib/chef/knife/cookbook_site_search.rb +3 -3
  288. data/lib/chef/knife/cookbook_site_share.rb +3 -3
  289. data/lib/chef/knife/cookbook_site_show.rb +3 -3
  290. data/lib/chef/knife/cookbook_site_unshare.rb +3 -3
  291. data/lib/chef/knife/cookbook_upload.rb +11 -46
  292. data/lib/chef/knife/core/bootstrap_context.rb +18 -32
  293. data/lib/chef/knife/core/cookbook_scm_repo.rb +2 -2
  294. data/lib/chef/knife/core/gem_glob_loader.rb +4 -4
  295. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  296. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  297. data/lib/chef/knife/core/node_editor.rb +2 -2
  298. data/lib/chef/knife/core/node_presenter.rb +10 -10
  299. data/lib/chef/knife/core/object_loader.rb +2 -2
  300. data/lib/chef/knife/core/status_presenter.rb +2 -2
  301. data/lib/chef/knife/core/subcommand_loader.rb +4 -4
  302. data/lib/chef/knife/core/text_formatter.rb +0 -0
  303. data/lib/chef/knife/core/ui.rb +26 -3
  304. data/lib/chef/knife/core/windows_bootstrap_context.rb +379 -0
  305. data/lib/chef/knife/data_bag_create.rb +4 -4
  306. data/lib/chef/knife/data_bag_delete.rb +2 -2
  307. data/lib/chef/knife/data_bag_edit.rb +4 -4
  308. data/lib/chef/knife/data_bag_from_file.rb +7 -7
  309. data/lib/chef/knife/data_bag_list.rb +2 -2
  310. data/lib/chef/knife/data_bag_secret_options.rb +3 -3
  311. data/lib/chef/knife/data_bag_show.rb +4 -4
  312. data/lib/chef/knife/delete.rb +2 -2
  313. data/lib/chef/knife/deps.rb +6 -4
  314. data/lib/chef/knife/diff.rb +4 -5
  315. data/lib/chef/knife/download.rb +2 -2
  316. data/lib/chef/knife/edit.rb +3 -3
  317. data/lib/chef/knife/environment_compare.rb +2 -2
  318. data/lib/chef/knife/environment_create.rb +2 -2
  319. data/lib/chef/knife/environment_delete.rb +2 -2
  320. data/lib/chef/knife/environment_edit.rb +2 -2
  321. data/lib/chef/knife/environment_from_file.rb +3 -3
  322. data/lib/chef/knife/environment_list.rb +2 -2
  323. data/lib/chef/knife/environment_show.rb +2 -2
  324. data/lib/chef/knife/exec.rb +5 -5
  325. data/lib/chef/knife/key_create.rb +4 -4
  326. data/lib/chef/knife/key_create_base.rb +0 -0
  327. data/lib/chef/knife/key_delete.rb +1 -1
  328. data/lib/chef/knife/key_edit.rb +4 -4
  329. data/lib/chef/knife/key_edit_base.rb +0 -0
  330. data/lib/chef/knife/key_list.rb +4 -4
  331. data/lib/chef/knife/key_list_base.rb +0 -0
  332. data/lib/chef/knife/key_show.rb +3 -3
  333. data/lib/chef/knife/list.rb +15 -10
  334. data/lib/chef/knife/node_bulk_delete.rb +3 -3
  335. data/lib/chef/knife/node_create.rb +3 -3
  336. data/lib/chef/knife/node_delete.rb +3 -3
  337. data/lib/chef/knife/node_edit.rb +5 -5
  338. data/lib/chef/knife/node_environment_set.rb +2 -2
  339. data/lib/chef/knife/node_from_file.rb +4 -4
  340. data/lib/chef/knife/node_list.rb +4 -4
  341. data/lib/chef/knife/node_policy_set.rb +3 -3
  342. data/lib/chef/knife/node_run_list_add.rb +7 -7
  343. data/lib/chef/knife/node_run_list_remove.rb +3 -3
  344. data/lib/chef/knife/node_run_list_set.rb +3 -3
  345. data/lib/chef/knife/node_show.rb +4 -4
  346. data/lib/chef/knife/null.rb +3 -0
  347. data/lib/chef/knife/raw.rb +9 -9
  348. data/lib/chef/knife/recipe_list.rb +1 -1
  349. data/lib/chef/knife/rehash.rb +2 -2
  350. data/lib/chef/knife/role_bulk_delete.rb +3 -3
  351. data/lib/chef/knife/role_create.rb +3 -3
  352. data/lib/chef/knife/role_delete.rb +3 -3
  353. data/lib/chef/knife/role_edit.rb +3 -3
  354. data/lib/chef/knife/role_env_run_list_add.rb +3 -3
  355. data/lib/chef/knife/role_env_run_list_clear.rb +3 -3
  356. data/lib/chef/knife/role_env_run_list_remove.rb +3 -3
  357. data/lib/chef/knife/role_env_run_list_replace.rb +3 -3
  358. data/lib/chef/knife/role_env_run_list_set.rb +3 -3
  359. data/lib/chef/knife/role_from_file.rb +4 -4
  360. data/lib/chef/knife/role_list.rb +3 -3
  361. data/lib/chef/knife/role_run_list_add.rb +3 -3
  362. data/lib/chef/knife/role_run_list_clear.rb +3 -3
  363. data/lib/chef/knife/role_run_list_remove.rb +2 -2
  364. data/lib/chef/knife/role_run_list_replace.rb +3 -3
  365. data/lib/chef/knife/role_run_list_set.rb +2 -2
  366. data/lib/chef/knife/role_show.rb +2 -2
  367. data/lib/chef/knife/search.rb +6 -6
  368. data/lib/chef/knife/serve.rb +2 -2
  369. data/lib/chef/knife/show.rb +3 -3
  370. data/lib/chef/knife/ssh.rb +6 -12
  371. data/lib/chef/knife/ssl_check.rb +7 -7
  372. data/lib/chef/knife/ssl_fetch.rb +4 -4
  373. data/lib/chef/knife/status.rb +4 -17
  374. data/lib/chef/knife/supermarket_download.rb +1 -1
  375. data/lib/chef/knife/supermarket_install.rb +4 -4
  376. data/lib/chef/knife/supermarket_list.rb +1 -1
  377. data/lib/chef/knife/supermarket_search.rb +1 -1
  378. data/lib/chef/knife/supermarket_share.rb +5 -5
  379. data/lib/chef/knife/supermarket_show.rb +1 -1
  380. data/lib/chef/knife/supermarket_unshare.rb +2 -2
  381. data/lib/chef/knife/tag_create.rb +2 -2
  382. data/lib/chef/knife/tag_delete.rb +2 -2
  383. data/lib/chef/knife/tag_list.rb +2 -2
  384. data/lib/chef/knife/upload.rb +2 -2
  385. data/lib/chef/knife/user_create.rb +36 -80
  386. data/lib/chef/knife/user_delete.rb +3 -55
  387. data/lib/chef/knife/user_edit.rb +10 -40
  388. data/lib/chef/knife/user_key_create.rb +3 -3
  389. data/lib/chef/knife/user_key_delete.rb +2 -2
  390. data/lib/chef/knife/user_key_edit.rb +3 -3
  391. data/lib/chef/knife/user_key_list.rb +3 -3
  392. data/lib/chef/knife/user_key_show.rb +2 -2
  393. data/lib/chef/knife/user_list.rb +2 -4
  394. data/lib/chef/knife/user_reregister.rb +11 -42
  395. data/lib/chef/knife/user_show.rb +3 -34
  396. data/lib/chef/knife/xargs.rb +4 -4
  397. data/lib/chef/local_mode.rb +6 -9
  398. data/lib/chef/log.rb +4 -4
  399. data/lib/chef/log/syslog.rb +3 -2
  400. data/lib/chef/log/winevt.rb +3 -3
  401. data/lib/chef/mash.rb +0 -0
  402. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  403. data/lib/chef/mixin/checksum.rb +1 -1
  404. data/lib/chef/mixin/convert_to_class_name.rb +0 -0
  405. data/lib/chef/mixin/create_path.rb +0 -0
  406. data/lib/chef/mixin/deep_merge.rb +0 -0
  407. data/lib/chef/mixin/deprecation.rb +0 -0
  408. data/lib/chef/mixin/descendants_tracker.rb +0 -0
  409. data/lib/chef/mixin/enforce_ownership_and_permissions.rb +1 -1
  410. data/lib/chef/mixin/file_class.rb +1 -1
  411. data/lib/chef/mixin/from_file.rb +0 -0
  412. data/lib/chef/mixin/get_source_from_package.rb +0 -0
  413. data/lib/chef/mixin/homebrew_user.rb +1 -1
  414. data/lib/chef/mixin/lazy_module_include.rb +0 -0
  415. data/lib/chef/mixin/notifying_block.rb +0 -0
  416. data/lib/chef/mixin/openssl_helper.rb +0 -0
  417. data/lib/chef/mixin/params_validate.rb +4 -4
  418. data/lib/chef/mixin/path_sanity.rb +0 -0
  419. data/lib/chef/mixin/powershell_exec.rb +1 -1
  420. data/lib/chef/mixin/powershell_out.rb +2 -2
  421. data/lib/chef/mixin/powershell_type_coercions.rb +0 -0
  422. data/lib/chef/mixin/properties.rb +39 -7
  423. data/lib/chef/mixin/provides.rb +1 -1
  424. data/lib/chef/mixin/proxified_socket.rb +0 -0
  425. data/lib/chef/mixin/securable.rb +0 -0
  426. data/lib/chef/mixin/shell_out.rb +6 -77
  427. data/lib/chef/mixin/subclass_directive.rb +0 -0
  428. data/lib/chef/mixin/template.rb +9 -14
  429. data/lib/chef/mixin/train_or_shell.rb +83 -0
  430. data/lib/chef/mixin/unformatter.rb +0 -0
  431. data/lib/chef/mixin/uris.rb +0 -0
  432. data/lib/chef/mixin/user_context.rb +1 -1
  433. data/lib/chef/mixin/versioned_api.rb +0 -0
  434. data/lib/chef/mixin/which.rb +1 -1
  435. data/lib/chef/mixin/why_run.rb +0 -0
  436. data/lib/chef/mixin/wide_string.rb +0 -0
  437. data/lib/chef/mixin/windows_architecture_helper.rb +4 -4
  438. data/lib/chef/mixin/windows_env_helper.rb +6 -6
  439. data/lib/chef/mixin/xml_escape.rb +7 -7
  440. data/lib/chef/mixins.rb +12 -12
  441. data/lib/chef/monkey_patches/net_http.rb +0 -0
  442. data/lib/chef/monkey_patches/webrick-utils.rb +0 -0
  443. data/lib/chef/monkey_patches/win32/registry.rb +3 -29
  444. data/lib/chef/monologger.rb +0 -0
  445. data/lib/chef/nil_argument.rb +0 -0
  446. data/lib/chef/node.rb +65 -21
  447. data/lib/chef/node/attribute.rb +22 -20
  448. data/lib/chef/node/attribute_collections.rb +14 -49
  449. data/lib/chef/node/common_api.rb +0 -0
  450. data/lib/chef/node/immutable_collections.rb +4 -4
  451. data/lib/chef/node/mixin/deep_merge_cache.rb +0 -0
  452. data/lib/chef/node/mixin/immutablize_array.rb +0 -1
  453. data/lib/chef/node/mixin/immutablize_hash.rb +0 -0
  454. data/lib/chef/node/mixin/mashy_array.rb +68 -0
  455. data/lib/chef/node/mixin/state_tracking.rb +0 -0
  456. data/lib/chef/node_map.rb +16 -3
  457. data/lib/chef/null_logger.rb +0 -0
  458. data/lib/chef/org.rb +3 -3
  459. data/lib/chef/platform.rb +2 -2
  460. data/lib/chef/platform/priority_map.rb +1 -1
  461. data/lib/chef/platform/provider_handler_map.rb +1 -1
  462. data/lib/chef/platform/provider_mapping.rb +5 -5
  463. data/lib/chef/platform/provider_priority_map.rb +1 -1
  464. data/lib/chef/platform/query_helpers.rb +1 -1
  465. data/lib/chef/platform/rebooter.rb +5 -5
  466. data/lib/chef/platform/resource_handler_map.rb +1 -1
  467. data/lib/chef/platform/resource_priority_map.rb +1 -1
  468. data/lib/chef/platform/service_helpers.rb +1 -1
  469. data/lib/chef/policy_builder.rb +3 -3
  470. data/lib/chef/policy_builder/dynamic.rb +8 -7
  471. data/lib/chef/policy_builder/expand_node_object.rb +42 -33
  472. data/lib/chef/policy_builder/policyfile.rb +18 -16
  473. data/lib/chef/powershell.rb +1 -1
  474. data/lib/chef/property.rb +4 -4
  475. data/lib/chef/provider.rb +34 -25
  476. data/lib/chef/provider/apt_preference.rb +4 -4
  477. data/lib/chef/provider/apt_repository.rb +5 -5
  478. data/lib/chef/provider/apt_update.rb +3 -3
  479. data/lib/chef/provider/batch.rb +1 -1
  480. data/lib/chef/provider/cookbook_file.rb +1 -1
  481. data/lib/chef/provider/cookbook_file/content.rb +2 -2
  482. data/lib/chef/provider/cron.rb +5 -5
  483. data/lib/chef/provider/cron/aix.rb +1 -1
  484. data/lib/chef/provider/cron/solaris.rb +1 -1
  485. data/lib/chef/provider/cron/unix.rb +3 -3
  486. data/lib/chef/provider/directory.rb +5 -5
  487. data/lib/chef/provider/dsc_resource.rb +4 -4
  488. data/lib/chef/provider/dsc_script.rb +4 -4
  489. data/lib/chef/provider/execute.rb +7 -4
  490. data/lib/chef/provider/file.rb +14 -13
  491. data/lib/chef/provider/file/content.rb +2 -2
  492. data/lib/chef/provider/git.rb +22 -20
  493. data/lib/chef/provider/group.rb +2 -2
  494. data/lib/chef/provider/group/aix.rb +1 -1
  495. data/lib/chef/provider/group/dscl.rb +0 -0
  496. data/lib/chef/provider/group/gpasswd.rb +1 -1
  497. data/lib/chef/provider/group/groupadd.rb +1 -1
  498. data/lib/chef/provider/group/groupmod.rb +0 -0
  499. data/lib/chef/provider/group/pw.rb +0 -0
  500. data/lib/chef/provider/group/solaris.rb +62 -0
  501. data/lib/chef/provider/group/suse.rb +2 -3
  502. data/lib/chef/provider/group/usermod.rb +4 -7
  503. data/lib/chef/provider/group/windows.rb +2 -2
  504. data/lib/chef/provider/http_request.rb +1 -1
  505. data/lib/chef/provider/ifconfig.rb +13 -24
  506. data/lib/chef/provider/ifconfig/aix.rb +1 -1
  507. data/lib/chef/provider/ifconfig/debian.rb +2 -2
  508. data/lib/chef/provider/ifconfig/redhat.rb +1 -1
  509. data/lib/chef/provider/launchd.rb +4 -4
  510. data/lib/chef/provider/link.rb +7 -7
  511. data/lib/chef/provider/log.rb +0 -0
  512. data/lib/chef/provider/lwrp_base.rb +3 -3
  513. data/lib/chef/provider/mdadm.rb +2 -2
  514. data/lib/chef/provider/mount.rb +3 -3
  515. data/lib/chef/provider/mount/aix.rb +1 -1
  516. data/lib/chef/provider/mount/mount.rb +2 -2
  517. data/lib/chef/provider/mount/solaris.rb +2 -2
  518. data/lib/chef/provider/mount/windows.rb +3 -3
  519. data/lib/chef/provider/noop.rb +0 -0
  520. data/lib/chef/provider/ohai.rb +0 -0
  521. data/lib/chef/provider/osx_profile.rb +4 -4
  522. data/lib/chef/provider/package.rb +12 -99
  523. data/lib/chef/provider/package/apt.rb +7 -22
  524. data/lib/chef/provider/package/bff.rb +3 -3
  525. data/lib/chef/provider/package/cab.rb +5 -5
  526. data/lib/chef/provider/package/chocolatey.rb +4 -4
  527. data/lib/chef/provider/package/deb.rb +131 -0
  528. data/lib/chef/provider/package/dnf.rb +7 -7
  529. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -15
  530. data/lib/chef/provider/package/dnf/python_helper.rb +4 -6
  531. data/lib/chef/provider/package/dnf/version.rb +0 -0
  532. data/lib/chef/provider/package/dpkg.rb +7 -21
  533. data/lib/chef/provider/package/freebsd/base.rb +3 -3
  534. data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
  535. data/lib/chef/provider/package/freebsd/port.rb +2 -6
  536. data/lib/chef/provider/package/homebrew.rb +1 -1
  537. data/lib/chef/provider/package/ips.rb +2 -2
  538. data/lib/chef/provider/package/macports.rb +0 -0
  539. data/lib/chef/provider/package/msu.rb +7 -7
  540. data/lib/chef/provider/package/openbsd.rb +4 -4
  541. data/lib/chef/provider/package/pacman.rb +2 -2
  542. data/lib/chef/provider/package/paludis.rb +2 -2
  543. data/lib/chef/provider/package/portage.rb +4 -4
  544. data/lib/chef/provider/package/powershell.rb +3 -3
  545. data/lib/chef/provider/package/rpm.rb +4 -4
  546. data/lib/chef/provider/package/rubygems.rb +5 -5
  547. data/lib/chef/provider/package/smartos.rb +3 -3
  548. data/lib/chef/provider/package/snap.rb +358 -0
  549. data/lib/chef/provider/package/solaris.rb +3 -3
  550. data/lib/chef/provider/package/windows.rb +7 -7
  551. data/lib/chef/provider/package/windows/exe.rb +1 -1
  552. data/lib/chef/provider/package/windows/msi.rb +2 -2
  553. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +0 -0
  554. data/lib/chef/provider/package/yum.rb +9 -9
  555. data/lib/chef/provider/package/yum/python_helper.rb +4 -4
  556. data/lib/chef/provider/package/yum/rpm_utils.rb +6 -16
  557. data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -0
  558. data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -0
  559. data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
  560. data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -0
  561. data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
  562. data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -0
  563. data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
  564. data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -0
  565. data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
  566. data/lib/chef/provider/package/yum/simplejson/tool.py +0 -0
  567. data/lib/chef/provider/package/yum/version.rb +4 -0
  568. data/lib/chef/provider/package/yum/yum_cache.rb +2 -2
  569. data/lib/chef/provider/package/yum/yum_helper.py +0 -0
  570. data/lib/chef/provider/package/zypper.rb +3 -3
  571. data/lib/chef/provider/powershell_script.rb +6 -36
  572. data/lib/chef/provider/reboot.rb +2 -2
  573. data/lib/chef/provider/registry_key.rb +7 -7
  574. data/lib/chef/provider/remote_directory.rb +7 -7
  575. data/lib/chef/provider/remote_file.rb +1 -1
  576. data/lib/chef/provider/remote_file/cache_control_data.rb +4 -4
  577. data/lib/chef/provider/remote_file/content.rb +2 -2
  578. data/lib/chef/provider/remote_file/fetcher.rb +0 -0
  579. data/lib/chef/provider/remote_file/ftp.rb +2 -2
  580. data/lib/chef/provider/remote_file/http.rb +4 -4
  581. data/lib/chef/provider/remote_file/local_file.rb +1 -1
  582. data/lib/chef/provider/remote_file/network_file.rb +2 -2
  583. data/lib/chef/provider/remote_file/sftp.rb +2 -2
  584. data/lib/chef/provider/resource_update.rb +0 -0
  585. data/lib/chef/provider/route.rb +36 -36
  586. data/lib/chef/provider/ruby_block.rb +0 -0
  587. data/lib/chef/provider/script.rb +2 -6
  588. data/lib/chef/provider/service.rb +10 -10
  589. data/lib/chef/provider/service/aix.rb +1 -1
  590. data/lib/chef/provider/service/aixinit.rb +2 -2
  591. data/lib/chef/provider/service/arch.rb +1 -1
  592. data/lib/chef/provider/service/debian.rb +3 -3
  593. data/lib/chef/provider/service/freebsd.rb +2 -2
  594. data/lib/chef/provider/service/gentoo.rb +2 -2
  595. data/lib/chef/provider/service/init.rb +2 -2
  596. data/lib/chef/provider/service/insserv.rb +3 -5
  597. data/lib/chef/provider/service/invokercd.rb +1 -1
  598. data/lib/chef/provider/service/macosx.rb +4 -4
  599. data/lib/chef/provider/service/openbsd.rb +3 -3
  600. data/lib/chef/provider/service/redhat.rb +3 -3
  601. data/lib/chef/provider/service/simple.rb +2 -2
  602. data/lib/chef/provider/service/solaris.rb +2 -2
  603. data/lib/chef/provider/service/systemd.rb +3 -19
  604. data/lib/chef/provider/service/upstart.rb +4 -4
  605. data/lib/chef/provider/service/windows.rb +18 -21
  606. data/lib/chef/provider/subversion.rb +3 -3
  607. data/lib/chef/provider/support/yum_repo.erb +0 -0
  608. data/lib/chef/provider/support/zypper_repo.erb +0 -0
  609. data/lib/chef/provider/systemd_unit.rb +7 -31
  610. data/lib/chef/provider/template.rb +2 -2
  611. data/lib/chef/provider/template/content.rb +2 -2
  612. data/lib/chef/provider/template_finder.rb +0 -0
  613. data/lib/chef/provider/user.rb +2 -2
  614. data/lib/chef/provider/user/aix.rb +1 -1
  615. data/lib/chef/provider/user/dscl.rb +41 -121
  616. data/lib/chef/provider/user/linux.rb +1 -1
  617. data/lib/chef/provider/user/pw.rb +1 -1
  618. data/lib/chef/provider/user/solaris.rb +1 -1
  619. data/lib/chef/provider/user/windows.rb +4 -6
  620. data/lib/chef/provider/whyrun_safe_ruby_block.rb +0 -0
  621. data/lib/chef/provider/windows_env.rb +3 -3
  622. data/lib/chef/provider/windows_path.rb +3 -3
  623. data/lib/chef/provider/windows_script.rb +2 -2
  624. data/lib/chef/provider/windows_task.rb +23 -24
  625. data/lib/chef/provider/yum_repository.rb +4 -4
  626. data/lib/chef/provider/zypper_repository.rb +4 -4
  627. data/lib/chef/provider_resolver.rb +2 -2
  628. data/lib/chef/providers.rb +120 -119
  629. data/lib/chef/recipe.rb +3 -18
  630. data/lib/chef/request_id.rb +0 -0
  631. data/lib/chef/reserved_names.rb +0 -0
  632. data/lib/chef/resource.rb +54 -55
  633. data/lib/chef/resource/action_class.rb +3 -3
  634. data/lib/chef/resource/apt_package.rb +9 -1
  635. data/lib/chef/resource/apt_preference.rb +1 -1
  636. data/lib/chef/resource/apt_repository.rb +1 -1
  637. data/lib/chef/resource/apt_update.rb +1 -1
  638. data/lib/chef/resource/archive_file.rb +172 -0
  639. data/lib/chef/resource/bash.rb +2 -2
  640. data/lib/chef/resource/batch.rb +1 -1
  641. data/lib/chef/resource/bff_package.rb +1 -1
  642. data/lib/chef/resource/breakpoint.rb +3 -2
  643. data/lib/chef/resource/build_essential.rb +4 -3
  644. data/lib/chef/resource/cab_package.rb +2 -2
  645. data/lib/chef/resource/chef_gem.rb +7 -4
  646. data/lib/chef/resource/chef_handler.rb +4 -1
  647. data/lib/chef/resource/chocolatey_config.rb +0 -1
  648. data/lib/chef/resource/chocolatey_package.rb +1 -1
  649. data/lib/chef/resource/chocolatey_source.rb +0 -1
  650. data/lib/chef/resource/conditional.rb +2 -2
  651. data/lib/chef/resource/conditional_action_not_nothing.rb +0 -0
  652. data/lib/chef/resource/cookbook_file.rb +5 -4
  653. data/lib/chef/resource/cron.rb +2 -2
  654. data/lib/chef/resource/cron_access.rb +1 -2
  655. data/lib/chef/resource/cron_d.rb +1 -2
  656. data/lib/chef/resource/csh.rb +2 -2
  657. data/lib/chef/resource/directory.rb +2 -2
  658. data/lib/chef/resource/dmg_package.rb +2 -2
  659. data/lib/chef/resource/dnf_package.rb +7 -6
  660. data/lib/chef/resource/dpkg_package.rb +9 -1
  661. data/lib/chef/resource/dsc_resource.rb +1 -1
  662. data/lib/chef/resource/dsc_script.rb +3 -3
  663. data/lib/chef/resource/execute.rb +14 -15
  664. data/lib/chef/resource/file.rb +7 -6
  665. data/lib/chef/resource/file/verification.rb +3 -3
  666. data/lib/chef/resource/file/verification/systemd_unit.rb +1 -1
  667. data/lib/chef/resource/freebsd_package.rb +5 -23
  668. data/lib/chef/resource/gem_package.rb +3 -2
  669. data/lib/chef/resource/git.rb +1 -1
  670. data/lib/chef/resource/group.rb +0 -0
  671. data/lib/chef/resource/homebrew_cask.rb +6 -3
  672. data/lib/chef/resource/homebrew_package.rb +4 -3
  673. data/lib/chef/resource/homebrew_tap.rb +5 -2
  674. data/lib/chef/resource/hostname.rb +3 -1
  675. data/lib/chef/resource/http_request.rb +1 -1
  676. data/lib/chef/resource/ifconfig.rb +1 -1
  677. data/lib/chef/resource/ips_package.rb +2 -2
  678. data/lib/chef/resource/kernel_module.rb +1 -63
  679. data/lib/chef/resource/ksh.rb +1 -1
  680. data/lib/chef/resource/launchd.rb +1 -1
  681. data/lib/chef/resource/link.rb +6 -7
  682. data/lib/chef/resource/locale.rb +101 -46
  683. data/lib/chef/resource/log.rb +1 -1
  684. data/lib/chef/resource/lwrp_base.rb +8 -8
  685. data/lib/chef/resource/macos_userdefaults.rb +1 -1
  686. data/lib/chef/resource/macosx_service.rb +1 -5
  687. data/lib/chef/resource/macports_package.rb +1 -1
  688. data/lib/chef/resource/mdadm.rb +1 -1
  689. data/lib/chef/resource/mount.rb +1 -1
  690. data/lib/chef/resource/msu_package.rb +2 -2
  691. data/lib/chef/resource/ohai.rb +4 -7
  692. data/lib/chef/resource/ohai_hint.rb +3 -1
  693. data/lib/chef/resource/openbsd_package.rb +3 -3
  694. data/lib/chef/resource/openssl_dhparam.rb +4 -4
  695. data/lib/chef/resource/openssl_ec_private_key.rb +4 -5
  696. data/lib/chef/resource/openssl_ec_public_key.rb +4 -5
  697. data/lib/chef/resource/openssl_rsa_private_key.rb +4 -4
  698. data/lib/chef/resource/openssl_rsa_public_key.rb +4 -4
  699. data/lib/chef/resource/openssl_x509_certificate.rb +4 -5
  700. data/lib/chef/resource/openssl_x509_crl.rb +4 -5
  701. data/lib/chef/resource/openssl_x509_request.rb +4 -5
  702. data/lib/chef/resource/osx_profile.rb +1 -1
  703. data/lib/chef/resource/package.rb +2 -10
  704. data/lib/chef/resource/pacman_package.rb +1 -1
  705. data/lib/chef/resource/paludis_package.rb +2 -2
  706. data/lib/chef/resource/perl.rb +2 -2
  707. data/lib/chef/resource/portage_package.rb +1 -1
  708. data/lib/chef/resource/powershell_package.rb +3 -3
  709. data/lib/chef/resource/powershell_package_source.rb +2 -3
  710. data/lib/chef/resource/powershell_script.rb +37 -1
  711. data/lib/chef/resource/python.rb +2 -2
  712. data/lib/chef/resource/reboot.rb +1 -1
  713. data/lib/chef/resource/registry_key.rb +2 -2
  714. data/lib/chef/resource/remote_directory.rb +41 -44
  715. data/lib/chef/resource/remote_file.rb +4 -4
  716. data/lib/chef/resource/resource_notification.rb +14 -18
  717. data/lib/chef/resource/rhsm_errata.rb +1 -1
  718. data/lib/chef/resource/rhsm_errata_level.rb +1 -1
  719. data/lib/chef/resource/rhsm_register.rb +1 -1
  720. data/lib/chef/resource/rhsm_repo.rb +1 -1
  721. data/lib/chef/resource/rhsm_subscription.rb +1 -1
  722. data/lib/chef/resource/route.rb +25 -15
  723. data/lib/chef/resource/rpm_package.rb +2 -2
  724. data/lib/chef/resource/ruby.rb +2 -2
  725. data/lib/chef/resource/ruby_block.rb +4 -3
  726. data/lib/chef/resource/scm.rb +1 -1
  727. data/lib/chef/resource/script.rb +2 -2
  728. data/lib/chef/resource/service.rb +54 -159
  729. data/lib/chef/resource/smartos_package.rb +1 -1
  730. data/{bin/chef-solo → lib/chef/resource/snap_package.rb} +19 -7
  731. data/lib/chef/resource/solaris_package.rb +1 -1
  732. data/lib/chef/resource/ssh_known_hosts_entry.rb +3 -4
  733. data/lib/chef/resource/subversion.rb +3 -2
  734. data/lib/chef/resource/sudo.rb +1 -1
  735. data/lib/chef/resource/support/cron.d.erb +0 -0
  736. data/lib/chef/resource/support/cron_access.erb +0 -0
  737. data/lib/chef/resource/support/ssh_known_hosts.erb +0 -0
  738. data/lib/chef/resource/support/sudoer.erb +0 -0
  739. data/lib/chef/resource/swap_file.rb +1 -1
  740. data/lib/chef/resource/sysctl.rb +1 -1
  741. data/lib/chef/resource/systemd_unit.rb +1 -2
  742. data/lib/chef/resource/template.rb +4 -3
  743. data/lib/chef/resource/timezone.rb +2 -3
  744. data/lib/chef/resource/user.rb +45 -127
  745. data/lib/chef/resource/user/aix_user.rb +1 -1
  746. data/lib/chef/resource/user/dscl_user.rb +5 -1
  747. data/lib/chef/resource/user/linux_user.rb +1 -1
  748. data/lib/chef/resource/user/pw_user.rb +1 -1
  749. data/lib/chef/resource/user/solaris_user.rb +1 -1
  750. data/lib/chef/resource/user/windows_user.rb +1 -1
  751. data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -0
  752. data/lib/chef/resource/windows_ad_join.rb +2 -2
  753. data/lib/chef/resource/windows_auto_run.rb +1 -1
  754. data/lib/chef/resource/windows_certificate.rb +7 -7
  755. data/lib/chef/resource/windows_dfs_folder.rb +75 -0
  756. data/lib/chef/resource/windows_dfs_namespace.rb +114 -0
  757. data/lib/chef/resource/windows_dfs_server.rb +76 -0
  758. data/lib/chef/resource/windows_dns_record.rb +76 -0
  759. data/lib/chef/resource/windows_dns_zone.rb +80 -0
  760. data/lib/chef/resource/windows_env.rb +1 -1
  761. data/lib/chef/resource/windows_feature.rb +1 -1
  762. data/lib/chef/resource/windows_feature_dism.rb +2 -2
  763. data/lib/chef/resource/windows_feature_powershell.rb +4 -4
  764. data/lib/chef/resource/windows_firewall_rule.rb +1 -2
  765. data/lib/chef/resource/windows_font.rb +2 -2
  766. data/lib/chef/resource/windows_package.rb +4 -4
  767. data/lib/chef/resource/windows_pagefile.rb +1 -1
  768. data/lib/chef/resource/windows_path.rb +1 -1
  769. data/lib/chef/resource/windows_printer.rb +1 -1
  770. data/lib/chef/resource/windows_printer_port.rb +1 -1
  771. data/lib/chef/resource/windows_script.rb +3 -3
  772. data/lib/chef/resource/windows_service.rb +6 -12
  773. data/lib/chef/resource/windows_share.rb +3 -4
  774. data/lib/chef/resource/windows_shortcut.rb +1 -1
  775. data/lib/chef/resource/windows_task.rb +3 -3
  776. data/lib/chef/resource/windows_uac.rb +94 -0
  777. data/lib/chef/resource/windows_workgroup.rb +2 -2
  778. data/lib/chef/resource/yum_package.rb +5 -3
  779. data/lib/chef/resource/yum_repository.rb +1 -1
  780. data/lib/chef/resource/zypper_package.rb +4 -2
  781. data/lib/chef/resource/zypper_repository.rb +1 -1
  782. data/lib/chef/resource_builder.rb +3 -3
  783. data/lib/chef/resource_collection.rb +6 -13
  784. data/lib/chef/resource_collection/resource_collection_serialization.rb +1 -1
  785. data/lib/chef/resource_collection/resource_list.rb +4 -4
  786. data/lib/chef/resource_collection/resource_set.rb +5 -5
  787. data/lib/chef/resource_collection/stepable_iterator.rb +0 -0
  788. data/lib/chef/resource_definition.rb +2 -2
  789. data/lib/chef/resource_definition_list.rb +2 -2
  790. data/lib/chef/resource_inspector.rb +8 -8
  791. data/lib/chef/resource_reporter.rb +47 -138
  792. data/lib/chef/resource_resolver.rb +3 -3
  793. data/lib/chef/resources.rb +138 -130
  794. data/lib/chef/role.rb +8 -8
  795. data/lib/chef/run_context.rb +84 -73
  796. data/lib/chef/run_context/cookbook_compiler.rb +18 -19
  797. data/lib/chef/run_list.rb +4 -4
  798. data/lib/chef/run_list/run_list_expansion.rb +5 -5
  799. data/lib/chef/run_list/run_list_item.rb +4 -4
  800. data/lib/chef/run_list/versioned_recipe_list.rb +2 -2
  801. data/lib/chef/run_lock.rb +6 -5
  802. data/lib/chef/run_status.rb +2 -1
  803. data/lib/chef/runner.rb +16 -52
  804. data/lib/chef/sandbox.rb +0 -0
  805. data/lib/chef/scan_access_control.rb +0 -0
  806. data/lib/chef/search/query.rb +3 -3
  807. data/lib/chef/server_api.rb +10 -10
  808. data/lib/chef/server_api_versions.rb +0 -0
  809. data/lib/chef/shell.rb +17 -16
  810. data/lib/chef/shell/ext.rb +7 -7
  811. data/lib/chef/shell/model_wrapper.rb +2 -2
  812. data/lib/chef/shell/shell_session.rb +10 -10
  813. data/lib/chef/train_transport.rb +129 -0
  814. data/lib/chef/user.rb +7 -7
  815. data/lib/chef/user_v1.rb +9 -9
  816. data/lib/chef/util/backup.rb +1 -1
  817. data/lib/chef/util/diff.rb +0 -0
  818. data/lib/chef/util/dsc/configuration_generator.rb +1 -1
  819. data/lib/chef/util/dsc/lcm_output_parser.rb +3 -3
  820. data/lib/chef/util/dsc/local_configuration_manager.rb +2 -2
  821. data/lib/chef/util/dsc/resource_info.rb +0 -0
  822. data/lib/chef/util/dsc/resource_store.rb +3 -3
  823. data/lib/chef/util/editor.rb +0 -0
  824. data/lib/chef/util/file_edit.rb +1 -1
  825. data/lib/chef/util/path_helper.rb +0 -0
  826. data/lib/chef/util/powershell/cmdlet.rb +2 -2
  827. data/lib/chef/util/powershell/cmdlet_result.rb +1 -1
  828. data/lib/chef/util/powershell/ps_credential.rb +1 -1
  829. data/lib/chef/util/selinux.rb +2 -2
  830. data/lib/chef/util/threaded_job_queue.rb +0 -0
  831. data/lib/chef/util/windows.rb +0 -0
  832. data/lib/chef/util/windows/logon_session.rb +2 -2
  833. data/lib/chef/util/windows/net_group.rb +2 -2
  834. data/lib/chef/util/windows/net_use.rb +2 -2
  835. data/lib/chef/util/windows/net_user.rb +4 -4
  836. data/lib/chef/util/windows/volume.rb +2 -2
  837. data/lib/chef/version.rb +3 -3
  838. data/lib/chef/version/platform.rb +1 -1
  839. data/lib/chef/version_class.rb +0 -0
  840. data/lib/chef/version_constraint.rb +2 -2
  841. data/lib/chef/version_constraint/platform.rb +2 -2
  842. data/lib/chef/version_string.rb +0 -0
  843. data/lib/chef/whitelist.rb +1 -1
  844. data/lib/chef/win32/api.rb +2 -2
  845. data/lib/chef/win32/api/crypto.rb +1 -1
  846. data/lib/chef/win32/api/error.rb +1 -1
  847. data/lib/chef/win32/api/file.rb +4 -4
  848. data/lib/chef/win32/api/installer.rb +3 -3
  849. data/lib/chef/win32/api/memory.rb +1 -1
  850. data/lib/chef/win32/api/net.rb +2 -2
  851. data/lib/chef/win32/api/process.rb +1 -1
  852. data/lib/chef/win32/api/psapi.rb +1 -1
  853. data/lib/chef/win32/api/registry.rb +1 -1
  854. data/lib/chef/win32/api/security.rb +1 -1
  855. data/lib/chef/win32/api/synchronization.rb +1 -1
  856. data/lib/chef/win32/api/system.rb +1 -1
  857. data/lib/chef/win32/api/unicode.rb +1 -1
  858. data/lib/chef/win32/crypto.rb +4 -4
  859. data/lib/chef/win32/error.rb +4 -4
  860. data/lib/chef/win32/eventlog.rb +0 -0
  861. data/lib/chef/win32/file.rb +8 -8
  862. data/lib/chef/win32/file/info.rb +1 -1
  863. data/lib/chef/win32/file/version_info.rb +1 -1
  864. data/lib/chef/win32/handle.rb +4 -4
  865. data/lib/chef/win32/memory.rb +2 -2
  866. data/lib/chef/win32/mutex.rb +2 -2
  867. data/lib/chef/win32/net.rb +3 -3
  868. data/lib/chef/win32/process.rb +4 -4
  869. data/lib/chef/win32/registry.rb +5 -5
  870. data/lib/chef/win32/security.rb +12 -12
  871. data/lib/chef/win32/security/ace.rb +3 -3
  872. data/lib/chef/win32/security/acl.rb +2 -2
  873. data/lib/chef/win32/security/securable_object.rb +3 -3
  874. data/lib/chef/win32/security/security_descriptor.rb +3 -3
  875. data/lib/chef/win32/security/sid.rb +3 -3
  876. data/lib/chef/win32/security/token.rb +3 -3
  877. data/lib/chef/win32/system.rb +2 -2
  878. data/lib/chef/win32/unicode.rb +2 -2
  879. data/lib/chef/win32/version.rb +2 -2
  880. data/lib/chef/win32_service_constants.rb +0 -0
  881. data/lib/chef/workstation_config_loader.rb +0 -0
  882. data/spec/data/apt/chef-integration-test-1.0/debian/changelog +0 -0
  883. data/spec/data/apt/chef-integration-test-1.0/debian/compat +0 -0
  884. data/spec/data/apt/chef-integration-test-1.0/debian/control +0 -0
  885. data/spec/data/apt/chef-integration-test-1.0/debian/copyright +0 -0
  886. data/spec/data/apt/chef-integration-test-1.0/debian/files +0 -0
  887. data/spec/data/apt/chef-integration-test-1.0/debian/source/format +0 -0
  888. data/spec/data/apt/chef-integration-test-1.1/debian/changelog +0 -0
  889. data/spec/data/apt/chef-integration-test-1.1/debian/compat +0 -0
  890. data/spec/data/apt/chef-integration-test-1.1/debian/control +0 -0
  891. data/spec/data/apt/chef-integration-test-1.1/debian/copyright +0 -0
  892. data/spec/data/apt/chef-integration-test-1.1/debian/files +0 -0
  893. data/spec/data/apt/chef-integration-test-1.1/debian/source/format +0 -0
  894. data/spec/data/apt/chef-integration-test2-1.0/debian/changelog +0 -0
  895. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.debhelper.log +0 -0
  896. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2.substvars +0 -0
  897. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/conffiles +0 -0
  898. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/control +0 -0
  899. data/spec/data/apt/chef-integration-test2-1.0/debian/chef-integration-test2/DEBIAN/md5sums +0 -0
  900. data/spec/data/apt/chef-integration-test2-1.0/debian/compat +0 -0
  901. data/spec/data/apt/chef-integration-test2-1.0/debian/conffiles +0 -0
  902. data/spec/data/apt/chef-integration-test2-1.0/debian/control +0 -0
  903. data/spec/data/apt/chef-integration-test2-1.0/debian/copyright +0 -0
  904. data/spec/data/apt/chef-integration-test2-1.0/debian/files +0 -0
  905. data/spec/data/apt/chef-integration-test2-1.0/debian/source/format +0 -0
  906. data/spec/data/apt/chef-integration-test2_1.0-1.debian.tar.gz +0 -0
  907. data/spec/data/apt/chef-integration-test2_1.0-1.dsc +0 -0
  908. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.build +0 -0
  909. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.changes +0 -0
  910. data/spec/data/apt/chef-integration-test2_1.0-1_amd64.deb +0 -0
  911. data/spec/data/apt/chef-integration-test2_1.0.orig.tar.gz +0 -0
  912. data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +0 -0
  913. data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
  914. data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
  915. data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +0 -0
  916. data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
  917. data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
  918. data/spec/data/apt/var/www/apt/conf/distributions +0 -0
  919. data/spec/data/apt/var/www/apt/conf/incoming +0 -0
  920. data/spec/data/apt/var/www/apt/conf/pulls +0 -0
  921. data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
  922. data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
  923. data/spec/data/apt/var/www/apt/db/packages.db +0 -0
  924. data/spec/data/apt/var/www/apt/db/references.db +0 -0
  925. data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
  926. data/spec/data/apt/var/www/apt/db/version +0 -0
  927. data/spec/data/apt/var/www/apt/dists/sid/Release +0 -0
  928. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +0 -0
  929. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
  930. data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +0 -0
  931. data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
  932. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
  933. data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
  934. data/spec/data/bad-config.rb +0 -0
  935. data/spec/data/bootstrap/encrypted_data_bag_secret +0 -0
  936. data/spec/data/bootstrap/no_proxy.erb +0 -0
  937. data/spec/data/bootstrap/secret.erb +0 -0
  938. data/spec/data/bootstrap/test-hints.erb +0 -0
  939. data/spec/data/bootstrap/test.erb +0 -0
  940. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  941. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  942. data/spec/data/cb_version_cookbooks/tatft/README.rdoc +0 -0
  943. data/spec/data/cb_version_cookbooks/tatft/attributes/default.rb +0 -0
  944. data/spec/data/cb_version_cookbooks/tatft/definitions/runit_service.rb +0 -0
  945. data/spec/data/cb_version_cookbooks/tatft/files/default/giant_blob.tgz +0 -0
  946. data/spec/data/cb_version_cookbooks/tatft/libraries/ownage.rb +0 -0
  947. data/spec/data/cb_version_cookbooks/tatft/providers/lwp.rb +0 -0
  948. data/spec/data/cb_version_cookbooks/tatft/recipes/default.rb +0 -0
  949. data/spec/data/cb_version_cookbooks/tatft/resources/lwr.rb +0 -0
  950. data/spec/data/cb_version_cookbooks/tatft/templates/default/configuration.erb +0 -0
  951. data/spec/data/checksum/random.txt +0 -0
  952. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-600hhz-0 +0 -0
  953. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-6m8zdk-0 +0 -0
  954. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ahd2gq-0 +0 -0
  955. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-api8ux-0 +0 -0
  956. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-b0r1m1-0 +0 -0
  957. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-bfygsi-0 +0 -0
  958. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-el14l6-0 +0 -0
  959. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ivrl3y-0 +0 -0
  960. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-kkbs85-0 +0 -0
  961. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ory1ux-0 +0 -0
  962. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-pgsq76-0 +0 -0
  963. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ra8uim-0 +0 -0
  964. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t7k1g-0 +0 -0
  965. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-t8g0sv-0 +0 -0
  966. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-ufy6g3-0 +0 -0
  967. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-x2d6j9-0 +0 -0
  968. data/spec/data/checksum_cache/chef-file--tmp-chef-rendered-template20100929-10863-xi0l6h-0 +0 -0
  969. data/spec/data/client.d_00/00-foo.rb +0 -0
  970. data/spec/data/client.d_00/01-bar.rb +0 -0
  971. data/spec/data/client.d_00/02-strings.rb +0 -0
  972. data/spec/data/client.d_00/bar +0 -0
  973. data/spec/data/client.d_01/foo/bar.rb +0 -0
  974. data/spec/data/client.d_02/foo.rb/foo.txt +0 -0
  975. data/spec/data/config.rb +0 -0
  976. data/spec/data/cookbooks/angrybash/metadata.rb +0 -0
  977. data/spec/data/cookbooks/angrybash/recipes/default.rb +0 -0
  978. data/spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +0 -0
  979. data/spec/data/cookbooks/apache2/metadata.rb +0 -0
  980. data/spec/data/cookbooks/apache2/recipes/default.rb +0 -0
  981. data/spec/data/cookbooks/borken/metadata.rb +0 -0
  982. data/spec/data/cookbooks/borken/recipes/default.rb +0 -0
  983. data/spec/data/cookbooks/borken/templates/default/borken.erb +0 -0
  984. data/spec/data/cookbooks/chefignore +0 -0
  985. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +0 -0
  986. data/spec/data/cookbooks/ignorken/metadata.rb +0 -0
  987. data/spec/data/cookbooks/ignorken/recipes/default.rb +0 -0
  988. data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +0 -0
  989. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +0 -0
  990. data/spec/data/cookbooks/irssi/files/default/irssi.response +2 -0
  991. data/spec/data/cookbooks/java/files/default/java.response +0 -0
  992. data/spec/data/cookbooks/java/metadata.rb +0 -0
  993. data/spec/data/cookbooks/name-mismatch-versionnumber/README.md +0 -0
  994. data/spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb +0 -0
  995. data/spec/data/cookbooks/name-mismatch-versionnumber/recipes/default.rb +0 -0
  996. data/spec/data/cookbooks/openldap/.root_dotfile +0 -0
  997. data/spec/data/cookbooks/openldap/attributes/default.rb +0 -0
  998. data/spec/data/cookbooks/openldap/attributes/smokey.rb +0 -0
  999. data/spec/data/cookbooks/openldap/definitions/client.rb +0 -0
  1000. data/spec/data/cookbooks/openldap/definitions/server.rb +0 -0
  1001. data/spec/data/cookbooks/openldap/files/default/.dotfile +0 -0
  1002. data/spec/data/cookbooks/openldap/files/default/.ssh/id_rsa +0 -0
  1003. data/spec/data/cookbooks/openldap/files/default/remotedir/.a_dotdir/.a_dotfile_in_a_dotdir +0 -0
  1004. data/spec/data/cookbooks/openldap/files/default/remotedir/not_a_template.erb +0 -0
  1005. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file1.txt +0 -0
  1006. data/spec/data/cookbooks/openldap/files/default/remotedir/remote_dir_file2.txt +0 -0
  1007. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/.a_dotfile +0 -0
  1008. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file1.txt +0 -0
  1009. data/spec/data/cookbooks/openldap/files/default/remotedir/remotesubdir/remote_subdir_file2.txt +0 -0
  1010. data/spec/data/cookbooks/openldap/files/default/remotedir/subdir_with_no_file_just_a_subsubdir/the_subsubdir/some_file.txt +0 -0
  1011. data/spec/data/cookbooks/openldap/libraries/openldap.rb +0 -0
  1012. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +0 -0
  1013. data/spec/data/cookbooks/openldap/metadata.rb +0 -0
  1014. data/spec/data/cookbooks/openldap/recipes/default.rb +0 -0
  1015. data/spec/data/cookbooks/openldap/recipes/gigantor.rb +0 -0
  1016. data/spec/data/cookbooks/openldap/recipes/one.rb +0 -0
  1017. data/spec/data/cookbooks/openldap/recipes/return.rb +0 -0
  1018. data/spec/data/cookbooks/openldap/spec/spec_helper.rb +0 -0
  1019. data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +0 -0
  1020. data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +0 -0
  1021. data/spec/data/cookbooks/openldap/templates/default/helpers.erb +0 -0
  1022. data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +0 -0
  1023. data/spec/data/cookbooks/openldap/templates/default/nested_openldap_partials.erb +0 -0
  1024. data/spec/data/cookbooks/openldap/templates/default/nested_partial.erb +0 -0
  1025. data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +0 -0
  1026. data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +0 -0
  1027. data/spec/data/cookbooks/openldap/templates/default/openldap_stuff.conf.erb +0 -0
  1028. data/spec/data/cookbooks/openldap/templates/default/openldap_variable_stuff.conf.erb +0 -0
  1029. data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +0 -0
  1030. data/spec/data/cookbooks/openldap/templates/default/test.erb +0 -0
  1031. data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +0 -0
  1032. data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +0 -0
  1033. data/spec/data/cookbooks/preseed/metadata.rb +0 -0
  1034. data/spec/data/cookbooks/preseed/templates/default/preseed-template-variables.seed +0 -0
  1035. data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +0 -0
  1036. data/spec/data/cookbooks/supports-platform-constraints/metadata.rb +0 -0
  1037. data/spec/data/cookbooks/wget/files/default/wget.response +2 -0
  1038. data/spec/data/definitions/test.rb +0 -0
  1039. data/spec/data/dsc_lcm.pfx +0 -0
  1040. data/spec/data/environment-config.rb +0 -0
  1041. data/spec/data/file-providers-method-snapshot-chef-11-4.json +0 -0
  1042. data/spec/data/fileedit/blank +0 -0
  1043. data/spec/data/fileedit/hosts +0 -0
  1044. data/spec/data/gems/chef-integration-test-0.1.0.gem +0 -0
  1045. data/spec/data/git_bundles/example-repo.gitbundle +0 -0
  1046. data/spec/data/git_bundles/sinatra-test-app-with-callback-files.gitbundle +0 -0
  1047. data/spec/data/git_bundles/sinatra-test-app-with-symlinks.gitbundle +0 -0
  1048. data/spec/data/git_bundles/sinatra-test-app.gitbundle +0 -0
  1049. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/README.md +0 -0
  1050. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/metadata.rb +0 -0
  1051. data/spec/data/incomplete-metadata-chef-repo/incomplete-metadata/recipes/default.rb +0 -0
  1052. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/README.md +0 -0
  1053. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/metadata.rb +0 -0
  1054. data/spec/data/invalid-metadata-chef-repo/invalid-metadata/recipes/default.rb +0 -0
  1055. data/spec/data/kitchen/chefignore +0 -0
  1056. data/spec/data/kitchen/openldap/attributes/default.rb +0 -0
  1057. data/spec/data/kitchen/openldap/attributes/robinson.rb +0 -0
  1058. data/spec/data/kitchen/openldap/definitions/client.rb +0 -0
  1059. data/spec/data/kitchen/openldap/definitions/drewbarrymore.rb +0 -0
  1060. data/spec/data/kitchen/openldap/recipes/gigantor.rb +0 -0
  1061. data/spec/data/kitchen/openldap/recipes/ignoreme.rb +0 -0
  1062. data/spec/data/kitchen/openldap/recipes/woot.rb +0 -0
  1063. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  1064. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  1065. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -0
  1066. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -0
  1067. data/spec/data/knife_subcommand/test_yourself.rb +0 -0
  1068. data/spec/data/lwrp/providers/buck_passer.rb +0 -0
  1069. data/spec/data/lwrp/providers/buck_passer_2.rb +0 -0
  1070. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +0 -0
  1071. data/spec/data/lwrp/providers/inline_compiler.rb +0 -0
  1072. data/spec/data/lwrp/providers/monkey_name_printer.rb +0 -0
  1073. data/spec/data/lwrp/providers/paint_drying_watcher.rb +0 -0
  1074. data/spec/data/lwrp/providers/thumb_twiddler.rb +0 -0
  1075. data/spec/data/lwrp/resources/bar.rb +0 -0
  1076. data/spec/data/lwrp/resources/buck_passer.rb +0 -0
  1077. data/spec/data/lwrp/resources/buck_passer_2.rb +0 -0
  1078. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +0 -0
  1079. data/spec/data/lwrp/resources/foo.rb +0 -0
  1080. data/spec/data/lwrp/resources/inline_compiler.rb +0 -0
  1081. data/spec/data/lwrp/resources/monkey_name_printer.rb +0 -0
  1082. data/spec/data/lwrp/resources/paint_drying_watcher.rb +0 -0
  1083. data/spec/data/lwrp/resources/thumb_twiddler.rb +0 -0
  1084. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +0 -0
  1085. data/spec/data/lwrp_const_scoping/resources/conflict.rb +0 -0
  1086. data/spec/data/lwrp_override/providers/buck_passer.rb +0 -0
  1087. data/spec/data/lwrp_override/resources/foo.rb +0 -0
  1088. data/spec/data/mac_users/10.9.plist.xml +0 -0
  1089. data/spec/data/mac_users/10.9.shadow.xml +0 -0
  1090. data/spec/data/metadata/quick_start/metadata.rb +0 -0
  1091. data/spec/data/mixin/invalid_data.rb +0 -0
  1092. data/spec/data/mixin/real_data.rb +0 -0
  1093. data/spec/data/nested.json +0 -0
  1094. data/spec/data/nodes/default.rb +0 -0
  1095. data/spec/data/nodes/test.example.com.rb +0 -0
  1096. data/spec/data/nodes/test.rb +0 -0
  1097. data/spec/data/null_config.rb +0 -0
  1098. data/spec/data/object_loader/environments/test.json +0 -0
  1099. data/spec/data/object_loader/environments/test.rb +0 -0
  1100. data/spec/data/object_loader/environments/test_json_class.json +0 -0
  1101. data/spec/data/object_loader/nodes/test.json +0 -0
  1102. data/spec/data/object_loader/nodes/test.rb +0 -0
  1103. data/spec/data/object_loader/nodes/test_json_class.json +0 -0
  1104. data/spec/data/object_loader/roles/test.json +0 -0
  1105. data/spec/data/object_loader/roles/test.rb +0 -0
  1106. data/spec/data/object_loader/roles/test_json_class.json +0 -0
  1107. data/spec/data/old_home_dir/my-dot-emacs +0 -0
  1108. data/spec/data/old_home_dir/my-dot-vim +0 -0
  1109. data/spec/data/partial_one.erb +0 -0
  1110. data/spec/data/prefer_metadata_json/metadata.json +0 -0
  1111. data/spec/data/prefer_metadata_json/metadata.rb +0 -0
  1112. data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
  1113. data/spec/data/recipes.tgz +0 -0
  1114. data/spec/data/recipes/test.rb +0 -0
  1115. data/spec/data/remote_directory_data/remote_dir_file.txt +0 -0
  1116. data/spec/data/remote_directory_data/remote_subdirectory/remote_subdir_file.txt +0 -0
  1117. data/spec/data/remote_file/nyan_cat.png +0 -0
  1118. data/spec/data/remote_file/nyan_cat.png.gz +0 -0
  1119. data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +0 -0
  1120. data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +0 -0
  1121. data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +0 -0
  1122. data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +0 -0
  1123. data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +0 -0
  1124. data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +0 -0
  1125. data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +0 -0
  1126. data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +0 -0
  1127. data/spec/data/root_alias_cookbooks/simple/attributes.rb +0 -0
  1128. data/spec/data/root_alias_cookbooks/simple/metadata.rb +0 -0
  1129. data/spec/data/root_alias_cookbooks/simple/recipe.rb +0 -0
  1130. data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +0 -0
  1131. data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +0 -0
  1132. data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +0 -0
  1133. data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +0 -0
  1134. data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +0 -0
  1135. data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
  1136. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +0 -0
  1137. data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +0 -0
  1138. data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +0 -0
  1139. data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +0 -0
  1140. data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +0 -0
  1141. data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +0 -0
  1142. data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
  1143. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +0 -0
  1144. data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +0 -0
  1145. data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +0 -0
  1146. data/spec/data/run_context/cookbooks/dependency1/attributes/unparsed_file +1 -0
  1147. data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +0 -0
  1148. data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +0 -0
  1149. data/spec/data/run_context/cookbooks/dependency1/definitions/unparsed_file +1 -0
  1150. data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +0 -0
  1151. data/spec/data/run_context/cookbooks/dependency1/libraries/unparsed_file +1 -0
  1152. data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +0 -0
  1153. data/spec/data/run_context/cookbooks/dependency1/providers/unparsed_file +1 -0
  1154. data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
  1155. data/spec/data/run_context/cookbooks/dependency1/recipes/unparsed_file +1 -0
  1156. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +0 -0
  1157. data/spec/data/run_context/cookbooks/dependency1/resources/unparsed_file +1 -0
  1158. data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +0 -0
  1159. data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +0 -0
  1160. data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +0 -0
  1161. data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +0 -0
  1162. data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
  1163. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +0 -0
  1164. data/spec/data/run_context/cookbooks/include/recipes/default.rb +0 -0
  1165. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +0 -0
  1166. data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +0 -0
  1167. data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +0 -0
  1168. data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +0 -0
  1169. data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
  1170. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +0 -0
  1171. data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +0 -0
  1172. data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +0 -0
  1173. data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +0 -0
  1174. data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +0 -0
  1175. data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +0 -0
  1176. data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
  1177. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +0 -0
  1178. data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +0 -0
  1179. data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +0 -0
  1180. data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +0 -0
  1181. data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +0 -0
  1182. data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +0 -0
  1183. data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
  1184. data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
  1185. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +0 -0
  1186. data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
  1187. data/spec/data/run_context/cookbooks/test/attributes/george.rb +0 -0
  1188. data/spec/data/run_context/cookbooks/test/definitions/new_animals.rb +0 -0
  1189. data/spec/data/run_context/cookbooks/test/definitions/new_cat.rb +0 -0
  1190. data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +0 -0
  1191. data/spec/data/run_context/cookbooks/test/providers/provider.rb +0 -0
  1192. data/spec/data/run_context/cookbooks/test/recipes/default.rb +0 -0
  1193. data/spec/data/run_context/cookbooks/test/recipes/one.rb +0 -0
  1194. data/spec/data/run_context/cookbooks/test/recipes/two.rb +0 -0
  1195. data/spec/data/run_context/cookbooks/test/resources/resource.rb +0 -0
  1196. data/spec/data/run_context/nodes/run_context.rb +0 -0
  1197. data/spec/data/sample_msu1.xml +0 -0
  1198. data/spec/data/sample_msu2.xml +0 -0
  1199. data/spec/data/sample_msu3.xml +0 -0
  1200. data/spec/data/search_queries_to_transform.txt +0 -0
  1201. data/spec/data/shef-config.rb +0 -0
  1202. data/spec/data/snap_package/async_result_success.json +6 -0
  1203. data/spec/data/snap_package/change_id_result.json +175 -0
  1204. data/spec/data/snap_package/find_result_failure.json +10 -0
  1205. data/spec/data/snap_package/find_result_success.json +70 -0
  1206. data/spec/data/snap_package/get_by_name_result_failure.json +10 -0
  1207. data/spec/data/snap_package/get_by_name_result_success.json +38 -0
  1208. data/spec/data/snap_package/get_conf_success.json +10 -0
  1209. data/spec/data/snap_package/result_failure.json +9 -0
  1210. data/spec/data/ssl/5e707473.0 +0 -0
  1211. data/spec/data/ssl/chef-rspec.cert +0 -0
  1212. data/spec/data/ssl/chef-rspec.key +0 -0
  1213. data/spec/data/ssl/key.pem +0 -0
  1214. data/spec/data/ssl/private_key.pem +0 -0
  1215. data/spec/data/ssl/private_key_with_whitespace.pem +0 -0
  1216. data/spec/data/standalone_cookbook/Gemfile +0 -0
  1217. data/spec/data/standalone_cookbook/chefignore +0 -0
  1218. data/spec/data/standalone_cookbook/recipes/default.rb +0 -0
  1219. data/spec/data/standalone_cookbook/vendor/bundle/ruby/2.0.0/gems/multi_json-1.9.0/lib/multi_json.rb +0 -0
  1220. data/spec/data/templates/chef-seattle20160930-4388-1crv7ef.txt +0 -0
  1221. data/spec/data/templates/chef-seattle20160930-4388-jjfoae.txt +0 -0
  1222. data/spec/data/templates/chef-seattle20160930-4388-umeq2c.txt +0 -0
  1223. data/spec/data/templates/seattle.txt +0 -0
  1224. data/spec/data/trusted_certs/example.crt +0 -0
  1225. data/spec/data/trusted_certs/example_no_cn.crt +0 -0
  1226. data/spec/data/trusted_certs/intermediate.pem +0 -0
  1227. data/spec/data/trusted_certs/opscode.pem +0 -0
  1228. data/spec/data/trusted_certs/root.pem +0 -0
  1229. data/spec/data/trusted_certs_empty/.gitkeep +0 -0
  1230. data/spec/data/trusted_certs_empty/README.md +1 -0
  1231. data/spec/data/windows_certificates/base64_test.cer +0 -0
  1232. data/spec/data/windows_certificates/othertest.cer +0 -0
  1233. data/spec/data/windows_certificates/test.cer +0 -0
  1234. data/spec/data/windows_certificates/test.p7b +0 -0
  1235. data/spec/data/windows_certificates/test.pem +0 -0
  1236. data/spec/data/windows_certificates/test.pfx +0 -0
  1237. data/spec/functional/application_spec.rb +0 -0
  1238. data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
  1239. data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
  1240. data/spec/functional/assets/chocolatey_feed/test-A.1.0.nupkg +0 -0
  1241. data/spec/functional/assets/chocolatey_feed/test-A.1.5.nupkg +0 -0
  1242. data/spec/functional/assets/chocolatey_feed/test-A.2.0.nupkg +0 -0
  1243. data/spec/functional/assets/chocolatey_feed/test-B.1.0.nupkg +0 -0
  1244. data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
  1245. data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
  1246. data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
  1247. data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
  1248. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  1249. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
  1250. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  1251. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  1252. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  1253. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
  1254. data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  1255. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  1256. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
  1257. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  1258. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  1259. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  1260. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
  1261. data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  1262. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  1263. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  1264. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  1265. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  1266. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  1267. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  1268. data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
  1269. data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
  1270. data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
  1271. data/spec/functional/assets/yumrepo/repodata/repomd.xml +0 -0
  1272. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
  1273. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.i686.rpm +0 -0
  1274. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
  1275. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
  1276. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.s390x.rpm +0 -0
  1277. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.src.rpm +0 -0
  1278. data/spec/functional/assets/zypprepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
  1279. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
  1280. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.i686.rpm +0 -0
  1281. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
  1282. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
  1283. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.s390x.rpm +0 -0
  1284. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.src.rpm +0 -0
  1285. data/spec/functional/assets/zypprepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
  1286. data/spec/functional/dsl/reboot_pending_spec.rb +6 -7
  1287. data/spec/functional/dsl/registry_helper_spec.rb +0 -0
  1288. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -8
  1289. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  1290. data/spec/functional/http/simple_spec.rb +0 -0
  1291. data/spec/functional/knife/configure_spec.rb +0 -0
  1292. data/spec/functional/knife/cookbook_delete_spec.rb +0 -0
  1293. data/spec/functional/knife/exec_spec.rb +1 -1
  1294. data/spec/functional/knife/rehash_spec.rb +0 -0
  1295. data/spec/functional/knife/smoke_test.rb +0 -0
  1296. data/spec/functional/knife/ssh_spec.rb +3 -3
  1297. data/spec/functional/mixin/from_file_spec.rb +0 -0
  1298. data/spec/functional/mixin/powershell_out_spec.rb +0 -0
  1299. data/spec/functional/mixin/shell_out_spec.rb +0 -30
  1300. data/spec/functional/mixin/user_context_spec.rb +1 -3
  1301. data/spec/functional/notifications_spec.rb +0 -0
  1302. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +0 -0
  1303. data/spec/functional/rebooter_spec.rb +1 -1
  1304. data/spec/functional/resource/aix_service_spec.rb +1 -1
  1305. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  1306. data/spec/functional/resource/apt_package_spec.rb +0 -0
  1307. data/spec/functional/resource/base.rb +0 -0
  1308. data/spec/functional/resource/bash_spec.rb +0 -0
  1309. data/spec/functional/resource/batch_spec.rb +0 -0
  1310. data/spec/functional/resource/bff_spec.rb +0 -0
  1311. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  1312. data/spec/functional/resource/cookbook_file_spec.rb +3 -1
  1313. data/spec/functional/resource/cron_spec.rb +0 -1
  1314. data/spec/functional/resource/directory_spec.rb +0 -0
  1315. data/spec/functional/resource/dnf_package_spec.rb +5 -5
  1316. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  1317. data/spec/functional/resource/dsc_resource_spec.rb +1 -2
  1318. data/spec/functional/resource/dsc_script_spec.rb +11 -7
  1319. data/spec/functional/resource/execute_spec.rb +0 -0
  1320. data/spec/functional/resource/file_spec.rb +0 -0
  1321. data/spec/functional/resource/git_spec.rb +5 -5
  1322. data/spec/functional/resource/group_spec.rb +8 -43
  1323. data/spec/functional/resource/ifconfig_spec.rb +5 -3
  1324. data/spec/functional/resource/link_spec.rb +2 -2
  1325. data/spec/functional/resource/locale_spec.rb +97 -0
  1326. data/spec/functional/resource/mount_spec.rb +7 -3
  1327. data/spec/functional/resource/msu_package_spec.rb +0 -0
  1328. data/spec/functional/resource/ohai_spec.rb +0 -0
  1329. data/spec/functional/resource/powershell_script_spec.rb +21 -16
  1330. data/spec/functional/resource/reboot_spec.rb +1 -1
  1331. data/spec/functional/resource/registry_spec.rb +0 -0
  1332. data/spec/functional/resource/remote_directory_spec.rb +0 -0
  1333. data/spec/functional/resource/remote_file_spec.rb +2 -2
  1334. data/spec/functional/resource/rpm_spec.rb +0 -0
  1335. data/spec/functional/resource/template_spec.rb +1 -1
  1336. data/spec/functional/resource/timezone_spec.rb +0 -0
  1337. data/spec/functional/resource/user/dscl_spec.rb +3 -10
  1338. data/spec/functional/resource/user/windows_spec.rb +2 -2
  1339. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  1340. data/spec/functional/resource/windows_env_spec.rb +0 -0
  1341. data/spec/functional/resource/windows_package_spec.rb +0 -0
  1342. data/spec/functional/resource/windows_path_spec.rb +0 -0
  1343. data/spec/functional/resource/windows_service_spec.rb +3 -3
  1344. data/spec/functional/resource/windows_task_spec.rb +13 -12
  1345. data/spec/functional/resource/yum_package_spec.rb +20 -1
  1346. data/spec/functional/resource/zypper_package_spec.rb +0 -0
  1347. data/spec/functional/root_alias_spec.rb +0 -0
  1348. data/spec/functional/run_lock_spec.rb +3 -10
  1349. data/spec/functional/shell_spec.rb +1 -2
  1350. data/spec/functional/tiny_server_spec.rb +0 -0
  1351. data/spec/functional/util/path_helper_spec.rb +0 -0
  1352. data/spec/functional/util/powershell/cmdlet_spec.rb +3 -3
  1353. data/spec/functional/version_spec.rb +1 -1
  1354. data/spec/functional/win32/crypto_spec.rb +0 -0
  1355. data/spec/functional/win32/registry_spec.rb +0 -0
  1356. data/spec/functional/win32/security_spec.rb +7 -12
  1357. data/spec/functional/win32/service_manager_spec.rb +1 -1
  1358. data/spec/functional/win32/sid_spec.rb +0 -0
  1359. data/spec/functional/win32/version_info_spec.rb +4 -4
  1360. data/spec/functional/win32/versions_spec.rb +0 -0
  1361. data/spec/integration/client/client_spec.rb +142 -135
  1362. data/spec/integration/client/exit_code_spec.rb +3 -31
  1363. data/spec/integration/client/ipv6_spec.rb +2 -2
  1364. data/spec/integration/knife/chef_fs_data_store_spec.rb +25 -25
  1365. data/spec/integration/knife/chef_repo_path_spec.rb +6 -8
  1366. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -0
  1367. data/spec/integration/knife/chefignore_spec.rb +0 -0
  1368. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -0
  1369. data/spec/integration/knife/client_create_spec.rb +0 -0
  1370. data/spec/integration/knife/client_delete_spec.rb +0 -0
  1371. data/spec/integration/knife/client_key_create_spec.rb +0 -0
  1372. data/spec/integration/knife/client_key_delete_spec.rb +0 -0
  1373. data/spec/integration/knife/client_key_list_spec.rb +0 -0
  1374. data/spec/integration/knife/client_key_show_spec.rb +0 -0
  1375. data/spec/integration/knife/client_list_spec.rb +0 -0
  1376. data/spec/integration/knife/client_show_spec.rb +0 -0
  1377. data/spec/integration/knife/common_options_spec.rb +0 -0
  1378. data/spec/integration/knife/config_get_profile_spec.rb +0 -0
  1379. data/spec/integration/knife/config_get_spec.rb +1 -8
  1380. data/spec/integration/knife/config_list_profiles_spec.rb +1 -2
  1381. data/spec/integration/knife/config_use_profile_spec.rb +0 -0
  1382. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  1383. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -0
  1384. data/spec/integration/knife/cookbook_download_spec.rb +1 -1
  1385. data/spec/integration/knife/cookbook_list_spec.rb +0 -0
  1386. data/spec/integration/knife/cookbook_show_spec.rb +0 -2
  1387. data/spec/integration/knife/cookbook_upload_spec.rb +0 -0
  1388. data/spec/integration/knife/data_bag_create_spec.rb +0 -0
  1389. data/spec/integration/knife/data_bag_delete_spec.rb +0 -0
  1390. data/spec/integration/knife/data_bag_edit_spec.rb +0 -0
  1391. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -0
  1392. data/spec/integration/knife/data_bag_list_spec.rb +0 -0
  1393. data/spec/integration/knife/data_bag_show_spec.rb +0 -0
  1394. data/spec/integration/knife/delete_spec.rb +0 -0
  1395. data/spec/integration/knife/deps_spec.rb +0 -0
  1396. data/spec/integration/knife/diff_spec.rb +9 -9
  1397. data/spec/integration/knife/download_spec.rb +1 -1
  1398. data/spec/integration/knife/environment_compare_spec.rb +0 -0
  1399. data/spec/integration/knife/environment_create_spec.rb +0 -0
  1400. data/spec/integration/knife/environment_delete_spec.rb +0 -0
  1401. data/spec/integration/knife/environment_from_file_spec.rb +0 -0
  1402. data/spec/integration/knife/environment_list_spec.rb +0 -0
  1403. data/spec/integration/knife/environment_show_spec.rb +0 -0
  1404. data/spec/integration/knife/list_spec.rb +0 -0
  1405. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -0
  1406. data/spec/integration/knife/node_create_spec.rb +0 -0
  1407. data/spec/integration/knife/node_delete_spec.rb +0 -0
  1408. data/spec/integration/knife/node_environment_set_spec.rb +0 -0
  1409. data/spec/integration/knife/node_from_file_spec.rb +0 -0
  1410. data/spec/integration/knife/node_list_spec.rb +0 -0
  1411. data/spec/integration/knife/node_run_list_add_spec.rb +0 -0
  1412. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -0
  1413. data/spec/integration/knife/node_run_list_set_spec.rb +0 -0
  1414. data/spec/integration/knife/node_show_spec.rb +0 -0
  1415. data/spec/integration/knife/raw_spec.rb +6 -6
  1416. data/spec/integration/knife/redirection_spec.rb +1 -1
  1417. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -0
  1418. data/spec/integration/knife/role_create_spec.rb +0 -0
  1419. data/spec/integration/knife/role_delete_spec.rb +0 -0
  1420. data/spec/integration/knife/role_from_file_spec.rb +0 -0
  1421. data/spec/integration/knife/role_list_spec.rb +0 -0
  1422. data/spec/integration/knife/role_show_spec.rb +0 -0
  1423. data/spec/integration/knife/search_node_spec.rb +0 -0
  1424. data/spec/integration/knife/serve_spec.rb +0 -0
  1425. data/spec/integration/knife/show_spec.rb +4 -4
  1426. data/spec/integration/knife/upload_spec.rb +4 -4
  1427. data/spec/integration/recipes/accumulator_spec.rb +5 -5
  1428. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +6 -6
  1429. data/spec/integration/recipes/lwrp_spec.rb +3 -3
  1430. data/spec/integration/recipes/noop_resource_spec.rb +0 -0
  1431. data/spec/integration/recipes/notifies_spec.rb +21 -21
  1432. data/spec/integration/recipes/notifying_block_spec.rb +6 -6
  1433. data/spec/integration/recipes/provider_choice.rb +2 -1
  1434. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  1435. data/spec/integration/recipes/remote_directory.rb +3 -3
  1436. data/spec/integration/recipes/resource_action_spec.rb +0 -0
  1437. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +0 -0
  1438. data/spec/integration/recipes/resource_load_spec.rb +0 -0
  1439. data/spec/integration/solo/solo_spec.rb +24 -24
  1440. data/spec/rcov.opts +0 -0
  1441. data/spec/scripts/ssl-serve.rb +0 -0
  1442. data/spec/spec_helper.rb +13 -16
  1443. data/spec/stress/win32/file_spec.rb +0 -0
  1444. data/spec/stress/win32/memory_spec.rb +0 -0
  1445. data/spec/stress/win32/security_spec.rb +1 -1
  1446. data/spec/support/chef_helpers.rb +3 -4
  1447. data/spec/support/key_helpers.rb +0 -0
  1448. data/spec/support/lib/chef/provider/easy.rb +0 -0
  1449. data/spec/support/lib/chef/provider/openldap_includer.rb +0 -0
  1450. data/spec/support/lib/chef/provider/snakeoil.rb +0 -0
  1451. data/spec/support/lib/chef/resource/cat.rb +0 -0
  1452. data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -0
  1453. data/spec/support/lib/chef/resource/openldap_includer.rb +0 -0
  1454. data/spec/support/lib/chef/resource/with_state.rb +0 -0
  1455. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  1456. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  1457. data/spec/support/lib/library_load_order.rb +0 -0
  1458. data/spec/support/matchers/leak.rb +0 -0
  1459. data/spec/support/mock/constant.rb +0 -0
  1460. data/spec/support/mock/platform.rb +2 -2
  1461. data/spec/support/platform_helpers.rb +0 -34
  1462. data/spec/support/platforms/prof/gc.rb +1 -1
  1463. data/spec/support/platforms/prof/win32.rb +0 -0
  1464. data/spec/support/platforms/win32/spec_service.rb +10 -6
  1465. data/spec/support/shared/context/config.rb +0 -0
  1466. data/spec/support/shared/context/win32.rb +0 -0
  1467. data/spec/support/shared/functional/diff_disabled.rb +0 -0
  1468. data/spec/support/shared/functional/directory_resource.rb +0 -0
  1469. data/spec/support/shared/functional/execute_resource.rb +4 -4
  1470. data/spec/support/shared/functional/file_resource.rb +3 -1
  1471. data/spec/support/shared/functional/http.rb +39 -15
  1472. data/spec/support/shared/functional/knife.rb +0 -0
  1473. data/spec/support/shared/functional/securable_resource.rb +8 -4
  1474. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -0
  1475. data/spec/support/shared/functional/win32_service.rb +1 -1
  1476. data/spec/support/shared/functional/windows_script.rb +1 -2
  1477. data/spec/support/shared/integration/app_server_support.rb +4 -3
  1478. data/spec/support/shared/integration/integration_helper.rb +0 -1
  1479. data/spec/support/shared/integration/knife_support.rb +5 -5
  1480. data/spec/support/shared/matchers/exit_with_code.rb +0 -0
  1481. data/spec/support/shared/matchers/match_environment_variable.rb +0 -0
  1482. data/spec/support/shared/shared_examples.rb +0 -0
  1483. data/spec/support/shared/unit/api_error_inspector.rb +0 -0
  1484. data/spec/support/shared/unit/api_versioning.rb +0 -0
  1485. data/spec/support/shared/unit/application_dot_d.rb +4 -10
  1486. data/spec/support/shared/unit/execute_resource.rb +0 -0
  1487. data/spec/support/shared/unit/file_system_support.rb +2 -3
  1488. data/spec/support/shared/unit/knife_shared.rb +0 -0
  1489. data/spec/support/shared/unit/mock_shellout.rb +0 -0
  1490. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  1491. data/spec/support/shared/unit/provider/file.rb +1 -1
  1492. data/spec/support/shared/unit/provider/package/package_shared.rb +95 -0
  1493. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +0 -0
  1494. data/spec/support/shared/unit/resource/static_provider_resolution.rb +0 -0
  1495. data/spec/support/shared/unit/script_resource.rb +2 -2
  1496. data/spec/support/shared/unit/user_and_client_shared.rb +0 -0
  1497. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  1498. data/spec/tiny_server.rb +1 -1
  1499. data/{bin/chef-apply → spec/unit/action_collection_spec.rb} +4 -9
  1500. data/spec/unit/api_client/registration_spec.rb +1 -1
  1501. data/spec/unit/api_client_spec.rb +5 -5
  1502. data/spec/unit/api_client_v1_spec.rb +6 -6
  1503. data/spec/unit/application/agent_spec.rb +0 -0
  1504. data/spec/unit/application/apply_spec.rb +0 -0
  1505. data/spec/unit/application/client_spec.rb +117 -81
  1506. data/spec/unit/application/exit_code_spec.rb +2 -13
  1507. data/spec/unit/application/knife_spec.rb +3 -6
  1508. data/spec/unit/application/server_spec.rb +0 -0
  1509. data/spec/unit/application/solo_spec.rb +2 -7
  1510. data/spec/unit/application_spec.rb +9 -2
  1511. data/spec/unit/chef_class_spec.rb +0 -0
  1512. data/spec/unit/chef_fs/config_spec.rb +3 -3
  1513. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +0 -0
  1514. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +0 -0
  1515. data/spec/unit/chef_fs/data_handler/group_handler_spec.rb +0 -0
  1516. data/spec/unit/chef_fs/diff_spec.rb +0 -0
  1517. data/spec/unit/chef_fs/file_pattern_spec.rb +0 -0
  1518. data/spec/unit/chef_fs/file_system/cookbook_subdir_spec.rb +0 -0
  1519. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +0 -0
  1520. data/spec/unit/chef_fs/file_system/repository/base_file_spec.rb +0 -0
  1521. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  1522. data/spec/unit/chef_fs/file_system_spec.rb +0 -0
  1523. data/spec/unit/chef_fs/parallelizer.rb +2 -4
  1524. data/spec/unit/chef_fs/path_util_spec.rb +0 -0
  1525. data/spec/unit/chef_spec.rb +0 -0
  1526. data/spec/unit/client_spec.rb +260 -70
  1527. data/spec/unit/config_fetcher_spec.rb +1 -1
  1528. data/spec/unit/config_spec.rb +0 -0
  1529. data/spec/unit/cookbook/chefignore_spec.rb +0 -0
  1530. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +2 -2
  1531. data/spec/unit/cookbook/file_vendor_spec.rb +0 -0
  1532. data/spec/unit/cookbook/gem_installer_spec.rb +2 -23
  1533. data/spec/unit/cookbook/manifest_v0_spec.rb +0 -0
  1534. data/spec/unit/cookbook/manifest_v2_spec.rb +0 -0
  1535. data/spec/unit/cookbook/metadata_spec.rb +4 -296
  1536. data/spec/unit/cookbook/synchronizer_spec.rb +4 -4
  1537. data/spec/unit/cookbook/syntax_check_spec.rb +0 -0
  1538. data/spec/unit/cookbook_loader_spec.rb +26 -63
  1539. data/spec/unit/cookbook_manifest_spec.rb +0 -0
  1540. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +2 -1
  1541. data/spec/unit/cookbook_spec.rb +0 -0
  1542. data/spec/unit/cookbook_uploader_spec.rb +0 -0
  1543. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  1544. data/spec/unit/cookbook_version_spec.rb +1 -1
  1545. data/spec/unit/daemon_spec.rb +0 -0
  1546. data/spec/unit/data_bag_item_spec.rb +7 -7
  1547. data/spec/unit/data_bag_spec.rb +1 -1
  1548. data/spec/unit/data_collector_spec.rb +667 -661
  1549. data/spec/unit/decorator/lazy_array_spec.rb +0 -0
  1550. data/spec/unit/decorator/lazy_spec.rb +0 -0
  1551. data/spec/unit/decorator_spec.rb +2 -2
  1552. data/spec/unit/deprecated_spec.rb +2 -2
  1553. data/spec/unit/deprecation_spec.rb +0 -0
  1554. data/spec/unit/digester_spec.rb +0 -0
  1555. data/spec/unit/dsl/data_query_spec.rb +2 -3
  1556. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  1557. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  1558. data/spec/unit/dsl/reboot_pending_spec.rb +0 -0
  1559. data/spec/unit/dsl/recipe_spec.rb +0 -0
  1560. data/spec/unit/dsl/registry_helper_spec.rb +0 -0
  1561. data/spec/unit/dsl/resources_spec.rb +0 -0
  1562. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +1 -2
  1563. data/spec/unit/encrypted_data_bag_item_spec.rb +1 -2
  1564. data/spec/unit/environment_spec.rb +9 -9
  1565. data/spec/unit/event_dispatch/dispatcher_spec.rb +51 -4
  1566. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  1567. data/spec/unit/exceptions_spec.rb +0 -0
  1568. data/spec/unit/file_access_control_spec.rb +0 -0
  1569. data/spec/unit/file_cache_spec.rb +0 -0
  1570. data/spec/unit/file_content_management/deploy/cp_spec.rb +0 -0
  1571. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  1572. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  1573. data/spec/unit/file_content_management/tempfile_spec.rb +0 -0
  1574. data/spec/unit/formatters/base_spec.rb +0 -0
  1575. data/spec/unit/formatters/doc_spec.rb +0 -18
  1576. data/spec/unit/formatters/error_description_spec.rb +0 -0
  1577. data/spec/unit/formatters/error_inspectors/api_error_formatting_spec.rb +0 -0
  1578. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +0 -0
  1579. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +0 -0
  1580. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +0 -0
  1581. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +0 -0
  1582. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +0 -0
  1583. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  1584. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +0 -0
  1585. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  1586. data/spec/unit/guard_interpreter_spec.rb +0 -0
  1587. data/spec/unit/handler/json_file_spec.rb +0 -0
  1588. data/spec/unit/handler_spec.rb +0 -0
  1589. data/spec/unit/http/api_versions_spec.rb +0 -0
  1590. data/spec/unit/http/authenticator_spec.rb +2 -3
  1591. data/spec/unit/http/basic_client_spec.rb +0 -0
  1592. data/spec/unit/http/http_request_spec.rb +0 -0
  1593. data/spec/unit/http/json_input_spec.rb +1 -1
  1594. data/spec/unit/http/simple_spec.rb +0 -0
  1595. data/spec/unit/http/socketless_chef_zero_client_spec.rb +0 -0
  1596. data/spec/unit/http/ssl_policies_spec.rb +0 -0
  1597. data/spec/unit/http/validate_content_length_spec.rb +0 -0
  1598. data/spec/unit/http_spec.rb +0 -0
  1599. data/spec/unit/json_compat_spec.rb +0 -0
  1600. data/spec/unit/key_spec.rb +7 -7
  1601. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -0
  1602. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -0
  1603. data/spec/unit/knife/bootstrap/train_connector_spec.rb +216 -0
  1604. data/spec/unit/knife/bootstrap_spec.rb +1438 -255
  1605. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  1606. data/spec/unit/knife/client_create_spec.rb +1 -18
  1607. data/spec/unit/knife/client_delete_spec.rb +0 -0
  1608. data/spec/unit/knife/client_edit_spec.rb +0 -0
  1609. data/spec/unit/knife/client_list_spec.rb +0 -0
  1610. data/spec/unit/knife/client_reregister_spec.rb +0 -0
  1611. data/spec/unit/knife/client_show_spec.rb +0 -0
  1612. data/spec/unit/knife/configure_client_spec.rb +1 -1
  1613. data/spec/unit/knife/configure_spec.rb +1 -1
  1614. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  1615. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  1616. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  1617. data/spec/unit/knife/cookbook_list_spec.rb +0 -0
  1618. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -0
  1619. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  1620. data/spec/unit/knife/cookbook_show_spec.rb +0 -1
  1621. data/spec/unit/knife/cookbook_upload_spec.rb +4 -33
  1622. data/spec/unit/knife/core/bootstrap_context_spec.rb +38 -55
  1623. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -0
  1624. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  1625. data/spec/unit/knife/core/hashed_command_loader_spec.rb +2 -4
  1626. data/spec/unit/knife/core/node_editor_spec.rb +8 -8
  1627. data/spec/unit/knife/core/object_loader_spec.rb +0 -0
  1628. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -0
  1629. data/spec/unit/knife/core/ui_spec.rb +0 -0
  1630. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +278 -0
  1631. data/spec/unit/knife/data_bag_create_spec.rb +0 -0
  1632. data/spec/unit/knife/data_bag_edit_spec.rb +0 -0
  1633. data/spec/unit/knife/data_bag_from_file_spec.rb +1 -2
  1634. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -0
  1635. data/spec/unit/knife/data_bag_show_spec.rb +1 -2
  1636. data/spec/unit/knife/environment_compare_spec.rb +0 -0
  1637. data/spec/unit/knife/environment_create_spec.rb +0 -0
  1638. data/spec/unit/knife/environment_delete_spec.rb +0 -0
  1639. data/spec/unit/knife/environment_edit_spec.rb +0 -0
  1640. data/spec/unit/knife/environment_from_file_spec.rb +0 -0
  1641. data/spec/unit/knife/environment_list_spec.rb +0 -0
  1642. data/spec/unit/knife/environment_show_spec.rb +0 -0
  1643. data/spec/unit/knife/key_create_spec.rb +1 -1
  1644. data/spec/unit/knife/key_delete_spec.rb +3 -3
  1645. data/spec/unit/knife/key_edit_spec.rb +4 -4
  1646. data/spec/unit/knife/key_helper.rb +0 -0
  1647. data/spec/unit/knife/key_list_spec.rb +1 -1
  1648. data/spec/unit/knife/key_show_spec.rb +3 -3
  1649. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  1650. data/spec/unit/knife/node_delete_spec.rb +2 -2
  1651. data/spec/unit/knife/node_edit_spec.rb +1 -1
  1652. data/spec/unit/knife/node_environment_set_spec.rb +1 -1
  1653. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  1654. data/spec/unit/knife/node_list_spec.rb +0 -0
  1655. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  1656. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  1657. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  1658. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  1659. data/spec/unit/knife/node_show_spec.rb +1 -1
  1660. data/spec/unit/knife/raw_spec.rb +2 -2
  1661. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  1662. data/spec/unit/knife/role_create_spec.rb +1 -1
  1663. data/spec/unit/knife/role_delete_spec.rb +1 -1
  1664. data/spec/unit/knife/role_edit_spec.rb +1 -1
  1665. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  1666. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  1667. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  1668. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  1669. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  1670. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  1671. data/spec/unit/knife/role_list_spec.rb +0 -0
  1672. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  1673. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  1674. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  1675. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  1676. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  1677. data/spec/unit/knife/role_show_spec.rb +0 -0
  1678. data/spec/unit/knife/ssh_spec.rb +17 -27
  1679. data/spec/unit/knife/ssl_check_spec.rb +0 -0
  1680. data/spec/unit/knife/ssl_fetch_spec.rb +0 -0
  1681. data/spec/unit/knife/status_spec.rb +2 -3
  1682. data/spec/unit/knife/supermarket_download_spec.rb +0 -0
  1683. data/spec/unit/knife/supermarket_install_spec.rb +4 -5
  1684. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  1685. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -0
  1686. data/spec/unit/knife/tag_create_spec.rb +0 -0
  1687. data/spec/unit/knife/tag_delete_spec.rb +0 -0
  1688. data/spec/unit/knife/tag_list_spec.rb +0 -0
  1689. data/spec/unit/knife/user_create_spec.rb +0 -30
  1690. data/spec/unit/knife/user_delete_spec.rb +1 -20
  1691. data/spec/unit/knife/user_edit_spec.rb +0 -18
  1692. data/spec/unit/knife/user_list_spec.rb +0 -0
  1693. data/spec/unit/knife/user_reregister_spec.rb +0 -18
  1694. data/spec/unit/knife/user_show_spec.rb +0 -19
  1695. data/spec/unit/knife_spec.rb +77 -53
  1696. data/spec/unit/log/syslog_spec.rb +0 -0
  1697. data/spec/unit/log/winevt_spec.rb +0 -0
  1698. data/spec/unit/log_spec.rb +0 -0
  1699. data/spec/unit/lwrp_spec.rb +19 -19
  1700. data/spec/unit/mash_spec.rb +0 -0
  1701. data/spec/unit/mixin/api_version_request_handling_spec.rb +0 -0
  1702. data/spec/unit/mixin/checksum_spec.rb +0 -0
  1703. data/spec/unit/mixin/convert_to_class_name_spec.rb +0 -0
  1704. data/spec/unit/mixin/deep_merge_spec.rb +0 -0
  1705. data/spec/unit/mixin/deprecation_spec.rb +0 -0
  1706. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +0 -0
  1707. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  1708. data/spec/unit/mixin/lazy_module_include.rb +0 -0
  1709. data/spec/unit/mixin/openssl_helper_spec.rb +0 -0
  1710. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  1711. data/spec/unit/mixin/path_sanity_spec.rb +0 -0
  1712. data/spec/unit/mixin/powershell_exec_spec.rb +0 -0
  1713. data/spec/unit/mixin/powershell_out_spec.rb +0 -0
  1714. data/spec/unit/mixin/powershell_type_coercions_spec.rb +0 -0
  1715. data/spec/unit/mixin/properties_spec.rb +4 -4
  1716. data/spec/unit/mixin/proxified_socket_spec.rb +0 -0
  1717. data/spec/unit/mixin/securable_spec.rb +0 -0
  1718. data/spec/unit/mixin/shell_out_spec.rb +3 -135
  1719. data/spec/unit/mixin/subclass_directive_spec.rb +0 -0
  1720. data/spec/unit/mixin/template_spec.rb +8 -49
  1721. data/spec/unit/mixin/unformatter_spec.rb +2 -1
  1722. data/spec/unit/mixin/uris_spec.rb +0 -0
  1723. data/spec/unit/mixin/user_context_spec.rb +2 -1
  1724. data/spec/unit/mixin/versioned_api_spec.rb +0 -0
  1725. data/spec/unit/mixin/which.rb +0 -2
  1726. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  1727. data/spec/unit/mixin/xml_escape_spec.rb +0 -0
  1728. data/spec/unit/monkey_patches/uri_spec.rb +0 -0
  1729. data/spec/unit/monologger_spec.rb +0 -0
  1730. data/spec/unit/node/attribute_spec.rb +45 -21
  1731. data/spec/unit/node/immutable_collections_spec.rb +49 -50
  1732. data/spec/unit/node/vivid_mash_spec.rb +106 -1
  1733. data/spec/unit/node_map_spec.rb +37 -3
  1734. data/spec/unit/node_spec.rb +12 -20
  1735. data/spec/unit/org_spec.rb +3 -3
  1736. data/spec/unit/platform/query_helpers_spec.rb +0 -0
  1737. data/spec/unit/policy_builder/dynamic_spec.rb +0 -12
  1738. data/spec/unit/policy_builder/expand_node_object_spec.rb +3 -3
  1739. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  1740. data/spec/unit/policy_builder_spec.rb +0 -0
  1741. data/spec/unit/property/state_spec.rb +25 -26
  1742. data/spec/unit/property/validation_spec.rb +13 -14
  1743. data/spec/unit/property_spec.rb +102 -10
  1744. data/spec/unit/provider/apt_preference_spec.rb +0 -0
  1745. data/spec/unit/provider/apt_repository_spec.rb +0 -0
  1746. data/spec/unit/provider/apt_update_spec.rb +6 -6
  1747. data/spec/unit/provider/cookbook_file/content_spec.rb +0 -0
  1748. data/spec/unit/provider/cookbook_file_spec.rb +0 -0
  1749. data/spec/unit/provider/cron/unix_spec.rb +0 -0
  1750. data/spec/unit/provider/cron_spec.rb +1 -1
  1751. data/spec/unit/provider/directory_spec.rb +0 -0
  1752. data/spec/unit/provider/dsc_resource_spec.rb +3 -6
  1753. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  1754. data/spec/unit/provider/execute_spec.rb +0 -0
  1755. data/spec/unit/provider/file/content_spec.rb +0 -0
  1756. data/spec/unit/provider/file_spec.rb +0 -0
  1757. data/spec/unit/provider/git_spec.rb +38 -38
  1758. data/spec/unit/provider/group/dscl_spec.rb +1 -1
  1759. data/spec/unit/provider/group/gpasswd_spec.rb +0 -0
  1760. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1761. data/spec/unit/provider/group/groupmod_spec.rb +0 -0
  1762. data/spec/unit/provider/group/pw_spec.rb +0 -0
  1763. data/spec/unit/provider/group/solaris_spec.rb +106 -0
  1764. data/spec/unit/provider/group/suse_spec.rb +0 -0
  1765. data/spec/unit/provider/group/usermod_spec.rb +0 -3
  1766. data/spec/unit/provider/group/windows_spec.rb +0 -0
  1767. data/spec/unit/provider/group_spec.rb +3 -2
  1768. data/spec/unit/provider/http_request_spec.rb +0 -0
  1769. data/spec/unit/provider/ifconfig/aix_spec.rb +0 -0
  1770. data/spec/unit/provider/ifconfig/debian_spec.rb +0 -0
  1771. data/spec/unit/provider/ifconfig/redhat_spec.rb +0 -0
  1772. data/spec/unit/provider/ifconfig_spec.rb +13 -53
  1773. data/spec/unit/provider/launchd_spec.rb +8 -16
  1774. data/spec/unit/provider/link_spec.rb +11 -22
  1775. data/spec/unit/provider/log_spec.rb +0 -0
  1776. data/spec/unit/provider/mdadm_spec.rb +0 -0
  1777. data/spec/unit/provider/mount/aix_spec.rb +0 -0
  1778. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  1779. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  1780. data/spec/unit/provider/mount/windows_spec.rb +0 -0
  1781. data/spec/unit/provider/mount_spec.rb +0 -0
  1782. data/spec/unit/provider/ohai_spec.rb +1 -1
  1783. data/spec/unit/provider/osx_profile_spec.rb +7 -5
  1784. data/spec/unit/provider/package/apt_spec.rb +31 -9
  1785. data/spec/unit/provider/package/bff_spec.rb +1 -1
  1786. data/spec/unit/provider/package/cab_spec.rb +1 -1
  1787. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  1788. data/spec/unit/provider/package/deb_spec.rb +135 -0
  1789. data/spec/unit/provider/package/dnf/python_helper_spec.rb +0 -0
  1790. data/spec/unit/provider/package/dpkg_spec.rb +28 -1
  1791. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +0 -1
  1792. data/spec/unit/provider/package/freebsd/port_spec.rb +2 -14
  1793. data/spec/unit/provider/package/homebrew_spec.rb +0 -0
  1794. data/spec/unit/provider/package/ips_spec.rb +0 -0
  1795. data/spec/unit/provider/package/macports_spec.rb +0 -0
  1796. data/spec/unit/provider/package/msu_spec.rb +1 -1
  1797. data/spec/unit/provider/package/openbsd_spec.rb +11 -15
  1798. data/spec/unit/provider/package/pacman_spec.rb +0 -0
  1799. data/spec/unit/provider/package/paludis_spec.rb +0 -0
  1800. data/spec/unit/provider/package/portage_spec.rb +0 -0
  1801. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  1802. data/spec/unit/provider/package/rpm_spec.rb +18 -7
  1803. data/spec/unit/provider/package/rubygems_spec.rb +0 -0
  1804. data/spec/unit/provider/package/smartos_spec.rb +3 -3
  1805. data/spec/unit/provider/package/snap_spec.rb +208 -0
  1806. data/spec/unit/provider/package/solaris_spec.rb +0 -0
  1807. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  1808. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  1809. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +0 -0
  1810. data/spec/unit/provider/package/windows_spec.rb +1 -2
  1811. data/spec/unit/provider/package/yum/python_helper_spec.rb +0 -0
  1812. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  1813. data/spec/unit/provider/package/zypper_spec.rb +22 -31
  1814. data/spec/unit/provider/package_spec.rb +1 -223
  1815. data/spec/unit/provider/powershell_script_spec.rb +25 -16
  1816. data/spec/unit/provider/registry_key_spec.rb +1 -1
  1817. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  1818. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +0 -0
  1819. data/spec/unit/provider/remote_file/content_spec.rb +0 -0
  1820. data/spec/unit/provider/remote_file/fetcher_spec.rb +0 -0
  1821. data/spec/unit/provider/remote_file/ftp_spec.rb +0 -0
  1822. data/spec/unit/provider/remote_file/http_spec.rb +0 -0
  1823. data/spec/unit/provider/remote_file/local_file_spec.rb +0 -0
  1824. data/spec/unit/provider/remote_file/network_file_spec.rb +0 -0
  1825. data/spec/unit/provider/remote_file/sftp_spec.rb +0 -0
  1826. data/spec/unit/provider/remote_file_spec.rb +0 -0
  1827. data/spec/unit/provider/route_spec.rb +11 -11
  1828. data/spec/unit/provider/ruby_block_spec.rb +0 -0
  1829. data/spec/unit/provider/script_spec.rb +0 -0
  1830. data/spec/unit/provider/service/aix_service_spec.rb +0 -0
  1831. data/spec/unit/provider/service/aixinit_service_spec.rb +0 -0
  1832. data/spec/unit/provider/service/arch_service_spec.rb +11 -11
  1833. data/spec/unit/provider/service/debian_service_spec.rb +1 -2
  1834. data/spec/unit/provider/service/freebsd_service_spec.rb +19 -23
  1835. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  1836. data/spec/unit/provider/service/init_service_spec.rb +9 -9
  1837. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  1838. data/spec/unit/provider/service/invokercd_service_spec.rb +9 -9
  1839. data/spec/unit/provider/service/macosx_spec.rb +1 -1
  1840. data/spec/unit/provider/service/openbsd_service_spec.rb +11 -15
  1841. data/spec/unit/provider/service/redhat_spec.rb +0 -0
  1842. data/spec/unit/provider/service/simple_service_spec.rb +5 -5
  1843. data/spec/unit/provider/service/solaris_smf_service_spec.rb +0 -0
  1844. data/spec/unit/provider/service/systemd_service_spec.rb +2 -26
  1845. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  1846. data/spec/unit/provider/service/windows_spec.rb +168 -144
  1847. data/spec/unit/provider/service_spec.rb +0 -0
  1848. data/spec/unit/provider/subversion_spec.rb +4 -8
  1849. data/spec/unit/provider/systemd_unit_spec.rb +148 -197
  1850. data/spec/unit/provider/template/content_spec.rb +28 -28
  1851. data/spec/unit/provider/template_spec.rb +0 -0
  1852. data/spec/unit/provider/user/aix_spec.rb +0 -0
  1853. data/spec/unit/provider/user/dscl_spec.rb +99 -321
  1854. data/spec/unit/provider/user/linux_spec.rb +0 -1
  1855. data/spec/unit/provider/user/pw_spec.rb +0 -0
  1856. data/spec/unit/provider/user/solaris_spec.rb +0 -0
  1857. data/spec/unit/provider/user/windows_spec.rb +0 -0
  1858. data/spec/unit/provider/user_spec.rb +46 -62
  1859. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -0
  1860. data/spec/unit/provider/windows_env_spec.rb +0 -0
  1861. data/spec/unit/provider/windows_path_spec.rb +0 -0
  1862. data/spec/unit/provider/windows_task_spec.rb +2 -7
  1863. data/spec/unit/provider/yum_repository_spec.rb +0 -0
  1864. data/spec/unit/provider/zypper_repository_spec.rb +0 -0
  1865. data/spec/unit/provider_resolver_spec.rb +8 -31
  1866. data/spec/unit/provider_spec.rb +4 -2
  1867. data/spec/unit/pure_application_spec.rb +0 -0
  1868. data/spec/unit/recipe_spec.rb +3 -8
  1869. data/spec/unit/resource/apt_package_spec.rb +10 -0
  1870. data/spec/unit/resource/apt_preference_spec.rb +0 -0
  1871. data/spec/unit/resource/apt_repository_spec.rb +0 -0
  1872. data/spec/unit/resource/apt_update_spec.rb +0 -0
  1873. data/spec/unit/resource/archive_file_spec.rb +47 -0
  1874. data/spec/unit/resource/bash_spec.rb +0 -0
  1875. data/spec/unit/resource/batch_spec.rb +1 -1
  1876. data/spec/unit/resource/bff_package_spec.rb +0 -0
  1877. data/spec/unit/resource/breakpoint_spec.rb +0 -0
  1878. data/spec/unit/resource/build_essential_spec.rb +0 -0
  1879. data/spec/unit/resource/cab_package_spec.rb +0 -0
  1880. data/spec/unit/resource/chef_gem_spec.rb +1 -4
  1881. data/spec/unit/resource/chef_handler_spec.rb +0 -0
  1882. data/spec/unit/resource/chocolatey_config_spec.rb +0 -5
  1883. data/spec/unit/resource/chocolatey_package_spec.rb +0 -0
  1884. data/spec/unit/resource/chocolatey_source_spec.rb +0 -5
  1885. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +0 -0
  1886. data/spec/unit/resource/conditional_spec.rb +0 -0
  1887. data/spec/unit/resource/cookbook_file_spec.rb +0 -0
  1888. data/spec/unit/resource/cron_access_spec.rb +0 -0
  1889. data/spec/unit/resource/cron_d_spec.rb +0 -0
  1890. data/spec/unit/resource/cron_spec.rb +0 -0
  1891. data/spec/unit/resource/csh_spec.rb +0 -0
  1892. data/spec/unit/resource/directory_spec.rb +1 -1
  1893. data/spec/unit/resource/dmg_package_spec.rb +0 -0
  1894. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  1895. data/spec/unit/resource/dpkg_package_spec.rb +10 -0
  1896. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  1897. data/spec/unit/resource/dsc_script_spec.rb +0 -0
  1898. data/spec/unit/resource/execute_spec.rb +0 -0
  1899. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +0 -0
  1900. data/spec/unit/resource/file/verification_spec.rb +2 -1
  1901. data/spec/unit/resource/file_spec.rb +1 -1
  1902. data/spec/unit/resource/freebsd_package_spec.rb +1 -27
  1903. data/spec/unit/resource/gem_package_spec.rb +0 -0
  1904. data/spec/unit/resource/git_spec.rb +0 -0
  1905. data/spec/unit/resource/group_spec.rb +1 -1
  1906. data/spec/unit/resource/homebrew_cask_spec.rb +0 -0
  1907. data/spec/unit/resource/homebrew_package_spec.rb +0 -0
  1908. data/spec/unit/resource/homebrew_tap_spec.rb +0 -0
  1909. data/spec/unit/resource/hostname_spec.rb +0 -0
  1910. data/spec/unit/resource/http_request_spec.rb +0 -0
  1911. data/spec/unit/resource/ifconfig_spec.rb +0 -0
  1912. data/spec/unit/resource/ips_package_spec.rb +0 -0
  1913. data/spec/unit/resource/kernel_module_spec.rb +0 -5
  1914. data/spec/unit/resource/ksh_spec.rb +0 -0
  1915. data/spec/unit/resource/launchd_spec.rb +0 -0
  1916. data/spec/unit/resource/link_spec.rb +1 -1
  1917. data/spec/unit/resource/locale_spec.rb +185 -22
  1918. data/spec/unit/resource/log_spec.rb +0 -0
  1919. data/spec/unit/resource/macos_user_defaults_spec.rb +0 -0
  1920. data/spec/unit/{knife/osc_user_list_spec.rb → resource/macosx_service.rb} +14 -14
  1921. data/spec/unit/resource/macports_package_spec.rb +0 -0
  1922. data/spec/unit/resource/mdadm_spec.rb +0 -0
  1923. data/spec/unit/resource/mount_spec.rb +0 -0
  1924. data/spec/unit/resource/msu_package_spec.rb +0 -0
  1925. data/spec/unit/resource/ohai_hint_spec.rb +0 -0
  1926. data/spec/unit/resource/ohai_spec.rb +0 -4
  1927. data/spec/unit/resource/openbsd_package_spec.rb +0 -0
  1928. data/spec/unit/resource/{openssl_dhparam.rb → openssl_dhparam_spec.rb} +0 -0
  1929. data/spec/unit/resource/openssl_ec_private_key_spec.rb +0 -0
  1930. data/spec/unit/resource/openssl_ec_public_key_spec.rb +0 -0
  1931. data/spec/unit/resource/openssl_rsa_private_key_spec.rb +0 -0
  1932. data/spec/unit/resource/openssl_rsa_public_key_spec.rb +0 -0
  1933. data/spec/unit/resource/openssl_x509_certificate_spec.rb +0 -0
  1934. data/spec/unit/resource/openssl_x509_crl_spec.rb +0 -0
  1935. data/spec/unit/resource/openssl_x509_request.rb +0 -0
  1936. data/spec/unit/resource/osx_profile_spec.rb +1 -2
  1937. data/spec/unit/resource/package_spec.rb +0 -10
  1938. data/spec/unit/resource/pacman_package_spec.rb +0 -0
  1939. data/spec/unit/resource/paludis_package_spec.rb +0 -0
  1940. data/spec/unit/resource/perl_spec.rb +0 -0
  1941. data/spec/unit/resource/portage_package_spec.rb +0 -0
  1942. data/spec/unit/resource/powershell_package_source_spec.rb +0 -0
  1943. data/spec/unit/resource/powershell_package_spec.rb +0 -0
  1944. data/spec/unit/resource/powershell_script_spec.rb +30 -13
  1945. data/spec/unit/resource/python_spec.rb +0 -0
  1946. data/spec/unit/resource/reboot_spec.rb +0 -0
  1947. data/spec/unit/resource/registry_key_spec.rb +3 -3
  1948. data/spec/unit/resource/remote_directory_spec.rb +22 -9
  1949. data/spec/unit/resource/remote_file_spec.rb +0 -0
  1950. data/spec/unit/resource/resource_notification_spec.rb +0 -0
  1951. data/spec/unit/resource/rhsm_errata_level_spec.rb +0 -0
  1952. data/spec/unit/resource/rhsm_errata_spec.rb +0 -0
  1953. data/spec/unit/resource/rhsm_register_spec.rb +0 -0
  1954. data/spec/unit/resource/rhsm_repo_spec.rb +0 -0
  1955. data/spec/unit/resource/rhsm_subscription_spec.rb +0 -0
  1956. data/spec/unit/resource/route_spec.rb +7 -2
  1957. data/spec/unit/resource/rpm_package_spec.rb +0 -0
  1958. data/spec/unit/resource/ruby_block_spec.rb +0 -0
  1959. data/spec/unit/resource/ruby_spec.rb +0 -0
  1960. data/spec/unit/resource/scm_spec.rb +0 -0
  1961. data/spec/unit/resource/script_spec.rb +0 -0
  1962. data/spec/unit/resource/service_spec.rb +76 -83
  1963. data/spec/unit/resource/smartos_package_spec.rb +0 -0
  1964. data/spec/unit/resource/snap_package_spec.rb +60 -0
  1965. data/spec/unit/resource/solaris_package_spec.rb +0 -0
  1966. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +0 -5
  1967. data/spec/unit/resource/subversion_spec.rb +0 -0
  1968. data/spec/unit/resource/sudo_spec.rb +0 -0
  1969. data/spec/unit/resource/swap_file_spec.rb +0 -0
  1970. data/spec/unit/resource/sysctl_spec.rb +0 -0
  1971. data/spec/unit/resource/systemd_unit_spec.rb +0 -0
  1972. data/spec/unit/resource/template_spec.rb +2 -2
  1973. data/spec/unit/resource/{timezone.rb → timezone_spec.rb} +0 -0
  1974. data/spec/unit/resource/user_spec.rb +21 -22
  1975. data/spec/unit/resource/windows_ad_join_spec.rb +0 -0
  1976. data/spec/unit/resource/windows_auto_run_spec.rb +0 -0
  1977. data/spec/unit/resource/{windows_certificate.rb → windows_certificate_spec.rb} +0 -0
  1978. data/spec/unit/resource/windows_dfs_folder_spec.rb +39 -0
  1979. data/spec/unit/resource/windows_dfs_namespace_spec.rb +39 -0
  1980. data/spec/unit/{audit/rspec_formatter_spec.rb → resource/windows_dfs_server_spec.rb} +14 -9
  1981. data/spec/unit/resource/windows_dns_record_spec.rb +55 -0
  1982. data/spec/unit/resource/windows_dns_zone_spec.rb +51 -0
  1983. data/spec/unit/resource/windows_env_spec.rb +1 -1
  1984. data/spec/unit/resource/{windows_feature_dism.rb → windows_feature_dism_spec.rb} +0 -0
  1985. data/spec/unit/resource/{windows_feature_powershell.rb → windows_feature_powershell_spec.rb} +0 -0
  1986. data/spec/unit/resource/{windows_feature.rb → windows_feature_spec.rb} +0 -0
  1987. data/spec/unit/resource/windows_firewall_rule_spec.rb +0 -0
  1988. data/spec/unit/resource/windows_font_spec.rb +0 -0
  1989. data/spec/unit/resource/windows_package_spec.rb +0 -0
  1990. data/spec/unit/resource/windows_pagefile_spec.rb +0 -0
  1991. data/spec/unit/resource/windows_path_spec.rb +0 -0
  1992. data/spec/unit/resource/windows_printer_port_spec.rb +0 -0
  1993. data/spec/unit/resource/windows_printer_spec.rb +0 -0
  1994. data/spec/unit/resource/windows_service_spec.rb +33 -18
  1995. data/spec/unit/resource/{windows_share.rb → windows_share_spec.rb} +0 -0
  1996. data/spec/unit/resource/windows_shortcut_spec.rb +0 -0
  1997. data/spec/unit/resource/windows_task_spec.rb +2 -2
  1998. data/spec/unit/resource/windows_uac_spec.rb +50 -0
  1999. data/spec/unit/resource/windows_workgroup_spec.rb +0 -0
  2000. data/spec/unit/resource/yum_package_spec.rb +1 -1
  2001. data/spec/unit/resource/yum_repository_spec.rb +0 -0
  2002. data/spec/unit/resource/zypper_package_spec.rb +0 -0
  2003. data/spec/unit/resource/zypper_repository_spec.rb +0 -0
  2004. data/spec/unit/resource_builder_spec.rb +0 -0
  2005. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  2006. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  2007. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  2008. data/spec/unit/resource_collection_spec.rb +4 -12
  2009. data/spec/unit/resource_definition_spec.rb +2 -2
  2010. data/spec/unit/resource_inspector_spec.rb +1 -1
  2011. data/spec/unit/resource_reporter_spec.rb +224 -198
  2012. data/spec/unit/resource_resolver_spec.rb +0 -0
  2013. data/spec/unit/resource_spec.rb +44 -21
  2014. data/spec/unit/role_spec.rb +2 -2
  2015. data/spec/unit/run_context/child_run_context_spec.rb +0 -7
  2016. data/spec/unit/run_context/cookbook_compiler_spec.rb +36 -24
  2017. data/spec/unit/run_context_spec.rb +1 -1
  2018. data/spec/unit/run_list/run_list_expansion_spec.rb +6 -9
  2019. data/spec/unit/run_list/run_list_item_spec.rb +0 -0
  2020. data/spec/unit/run_list/versioned_recipe_list_spec.rb +0 -0
  2021. data/spec/unit/run_list_spec.rb +1 -1
  2022. data/spec/unit/run_lock_spec.rb +0 -0
  2023. data/spec/unit/run_status_spec.rb +0 -0
  2024. data/spec/unit/runner_spec.rb +3 -3
  2025. data/spec/unit/scan_access_control_spec.rb +0 -0
  2026. data/spec/unit/search/query_spec.rb +2 -3
  2027. data/spec/unit/server_api_spec.rb +0 -0
  2028. data/spec/unit/server_api_versions_spec.rb +0 -0
  2029. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  2030. data/spec/unit/shell/shell_ext_spec.rb +0 -0
  2031. data/spec/unit/shell/shell_session_spec.rb +11 -8
  2032. data/spec/unit/shell_spec.rb +2 -1
  2033. data/spec/unit/train_transport_spec.rb +79 -0
  2034. data/spec/unit/user_spec.rb +4 -4
  2035. data/spec/unit/user_v1_spec.rb +3 -3
  2036. data/spec/unit/util/backup_spec.rb +1 -1
  2037. data/spec/unit/util/diff_spec.rb +0 -0
  2038. data/spec/unit/util/dsc/configuration_generator_spec.rb +0 -0
  2039. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +0 -0
  2040. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +0 -0
  2041. data/spec/unit/util/dsc/resource_store.rb +0 -0
  2042. data/spec/unit/util/editor_spec.rb +1 -1
  2043. data/spec/unit/util/file_edit_spec.rb +0 -0
  2044. data/spec/unit/util/powershell/cmdlet_spec.rb +0 -0
  2045. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -3
  2046. data/spec/unit/util/selinux_spec.rb +0 -0
  2047. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  2048. data/spec/unit/util/windows/logon_session_spec.rb +0 -0
  2049. data/spec/unit/version/platform_spec.rb +0 -0
  2050. data/spec/unit/version_class_spec.rb +4 -4
  2051. data/spec/unit/version_constraint/platform_spec.rb +0 -0
  2052. data/spec/unit/version_constraint_spec.rb +0 -0
  2053. data/spec/unit/version_string_spec.rb +0 -0
  2054. data/spec/unit/win32/error_spec.rb +0 -0
  2055. data/spec/unit/win32/link_spec.rb +0 -0
  2056. data/spec/unit/win32/registry_spec.rb +5 -5
  2057. data/spec/unit/win32/security_spec.rb +1 -2
  2058. data/spec/unit/windows_service_spec.rb +0 -0
  2059. data/tasks/announce.rb +0 -0
  2060. data/tasks/bin/run_external_test +5 -1
  2061. data/tasks/dependencies.rb +0 -0
  2062. data/tasks/rspec.rb +0 -0
  2063. data/tasks/templates/release.md.erb +0 -0
  2064. metadata +169 -162
  2065. data/bin/chef-client +0 -25
  2066. data/bin/chef-resource-inspector +0 -26
  2067. data/bin/chef-shell +0 -31
  2068. data/lib/chef/audit/audit_event_proxy.rb +0 -93
  2069. data/lib/chef/audit/audit_reporter.rb +0 -176
  2070. data/lib/chef/audit/control_group_data.rb +0 -145
  2071. data/lib/chef/audit/logger.rb +0 -36
  2072. data/lib/chef/audit/rspec_formatter.rb +0 -37
  2073. data/lib/chef/audit/runner.rb +0 -196
  2074. data/lib/chef/data_collector/messages.rb +0 -100
  2075. data/lib/chef/data_collector/messages/helpers.rb +0 -159
  2076. data/lib/chef/data_collector/resource_report.rb +0 -123
  2077. data/lib/chef/dsl/audit.rb +0 -51
  2078. data/lib/chef/dsl/chef_provisioning.rb +0 -57
  2079. data/lib/chef/knife/cookbook_create.rb +0 -29
  2080. data/lib/chef/knife/cookbook_test.rb +0 -95
  2081. data/lib/chef/knife/osc_user_create.rb +0 -97
  2082. data/lib/chef/knife/osc_user_delete.rb +0 -51
  2083. data/lib/chef/knife/osc_user_edit.rb +0 -58
  2084. data/lib/chef/knife/osc_user_list.rb +0 -47
  2085. data/lib/chef/knife/osc_user_reregister.rb +0 -64
  2086. data/lib/chef/knife/osc_user_show.rb +0 -53
  2087. data/lib/chef/provider/package/freebsd/pkg.rb +0 -114
  2088. data/lib/chef/provider/user/useradd.rb +0 -161
  2089. data/spec/data/mac_users/10.7-8.plist.xml +0 -559
  2090. data/spec/data/mac_users/10.7-8.shadow.xml +0 -11
  2091. data/spec/data/mac_users/10.7.plist.xml +0 -559
  2092. data/spec/data/mac_users/10.7.shadow.xml +0 -11
  2093. data/spec/data/mac_users/10.8.plist.xml +0 -559
  2094. data/spec/data/mac_users/10.8.shadow.xml +0 -21
  2095. data/spec/data/templates/failed.erb +0 -5
  2096. data/spec/functional/assets/inittest +0 -36
  2097. data/spec/functional/audit/rspec_formatter_spec.rb +0 -54
  2098. data/spec/functional/audit/runner_spec.rb +0 -121
  2099. data/spec/functional/resource/insserv_spec.rb +0 -206
  2100. data/spec/integration/recipes/unified_mode_spec.rb +0 -876
  2101. data/spec/support/shared/context/client.rb +0 -306
  2102. data/spec/support/shared/examples/client.rb +0 -104
  2103. data/spec/unit/audit/audit_event_proxy_spec.rb +0 -325
  2104. data/spec/unit/audit/audit_reporter_spec.rb +0 -444
  2105. data/spec/unit/audit/control_group_data_spec.rb +0 -487
  2106. data/spec/unit/audit/logger_spec.rb +0 -42
  2107. data/spec/unit/audit/runner_spec.rb +0 -144
  2108. data/spec/unit/data_collector/messages/helpers_spec.rb +0 -202
  2109. data/spec/unit/data_collector/messages_spec.rb +0 -329
  2110. data/spec/unit/data_collector/resource_report_spec.rb +0 -145
  2111. data/spec/unit/dsl/audit_spec.rb +0 -43
  2112. data/spec/unit/knife/cookbook_create_spec.rb +0 -42
  2113. data/spec/unit/knife/cookbook_test_spec.rb +0 -84
  2114. data/spec/unit/knife/osc_user_create_spec.rb +0 -93
  2115. data/spec/unit/knife/osc_user_delete_spec.rb +0 -44
  2116. data/spec/unit/knife/osc_user_edit_spec.rb +0 -52
  2117. data/spec/unit/knife/osc_user_reregister_spec.rb +0 -58
  2118. data/spec/unit/knife/osc_user_show_spec.rb +0 -46
  2119. data/spec/unit/provider/package/freebsd/pkg_spec.rb +0 -274
@@ -20,13 +20,13 @@
20
20
 
21
21
  require "forwardable"
22
22
 
23
- require "chef/config"
24
- require "chef/mixin/params_validate"
25
- require "chef/mixin/from_file"
26
- require "chef/data_bag"
27
- require "chef/mash"
28
- require "chef/server_api"
29
- require "chef/json_compat"
23
+ require_relative "config"
24
+ require_relative "mixin/params_validate"
25
+ require_relative "mixin/from_file"
26
+ require_relative "data_bag"
27
+ require_relative "mash"
28
+ require_relative "server_api"
29
+ require_relative "json_compat"
30
30
 
31
31
  class Chef
32
32
  class DataBagItem
@@ -36,7 +36,7 @@ class Chef
36
36
  include Chef::Mixin::FromFile
37
37
  include Chef::Mixin::ParamsValidate
38
38
 
39
- VALID_ID = /^[\.\-[:alnum:]_]+$/
39
+ VALID_ID = /^[\.\-[:alnum:]_]+$/.freeze
40
40
 
41
41
  def self.validate_id!(id_str)
42
42
  if id_str.nil? || ( id_str !~ VALID_ID )
@@ -113,11 +113,11 @@ class Chef
113
113
  # Serialize this object as a hash
114
114
  def to_json(*a)
115
115
  result = {
116
- "name" => object_name,
116
+ "name" => object_name,
117
117
  "json_class" => self.class.name,
118
- "chef_type" => "data_bag_item",
119
- "data_bag" => data_bag,
120
- "raw_data" => raw_data,
118
+ "chef_type" => "data_bag_item",
119
+ "data_bag" => data_bag,
120
+ "raw_data" => raw_data,
121
121
  }
122
122
  Chef::JSONCompat.to_json(result, *a)
123
123
  end
@@ -2,7 +2,7 @@
2
2
  # Author:: Adam Leff (<adamleff@chef.io>)
3
3
  # Author:: Ryan Cragun (<ryan@chef.io>)
4
4
  #
5
- # Copyright:: Copyright 2012-2018, Chef Software Inc.
5
+ # Copyright:: Copyright 2012-2019, Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,321 +18,174 @@
18
18
  # limitations under the License.
19
19
  #
20
20
 
21
- require "uri"
22
- require "chef/server_api"
23
- require "chef/http/simple_json"
24
- require "chef/event_dispatch/base"
25
- require "chef/data_collector/messages"
26
- require "chef/data_collector/resource_report"
27
- require "ostruct"
21
+ require_relative "server_api"
22
+ require_relative "http/simple_json"
23
+ require_relative "event_dispatch/base"
28
24
  require "set"
25
+ require_relative "data_collector/run_end_message"
26
+ require_relative "data_collector/run_start_message"
27
+ require_relative "data_collector/config_validation"
28
+ require_relative "data_collector/error_handlers"
29
+ require_relative "dist"
29
30
 
30
31
  class Chef
31
-
32
- # == Chef::DataCollector
33
- # Provides methods for determinine whether a reporter should be registered.
34
32
  class DataCollector
33
+ # The DataCollector is mode-agnostic reporting tool which can be used with
34
+ # server-based and solo-based clients. It can report to a file, to an
35
+ # authenticated Chef Automate reporting endpoint, or to a user-supplied
36
+ # webhook. It sends two messages: one at the start of the run and one
37
+ # at the end of the run. Most early failures in the actual Chef::Client itself
38
+ # are reported, but parsing of the client.rb must have succeeded and some code
39
+ # in Chef::Application could throw so early as to prevent reporting. If
40
+ # exceptions are thrown both run-start and run-end messages are still sent in
41
+ # pairs.
42
+ #
43
+ class Reporter < EventDispatch::Base
44
+ include Chef::DataCollector::ErrorHandlers
35
45
 
36
- # Whether or not to enable data collection:
37
- # * always disabled for why run mode
38
- # * disabled when the user sets `Chef::Config[:data_collector][:mode]` to a
39
- # value that excludes the mode (client or solo) that we are running as
40
- # * disabled in solo mode if the user did not configure the auth token
41
- # * disabled if `Chef::Config[:data_collector][:server_url]` is set to a
42
- # falsey value
43
- def self.register_reporter?
44
- if why_run?
45
- Chef::Log.trace("data collector is disabled for why run mode")
46
- return false
47
- end
48
- unless reporter_enabled_for_current_mode?
49
- Chef::Log.trace("data collector is configured to only run in " \
50
- "#{Chef::Config[:data_collector][:mode].inspect} modes, disabling it")
51
- return false
52
- end
53
- unless data_collector_url_configured? || data_collector_output_locations_configured?
54
- Chef::Log.trace("Neither data collector URL or output locations have been configured, disabling data collector")
55
- return false
56
- end
57
- if solo? && !token_auth_configured?
58
- Chef::Log.trace("Data collector token must be configured to use Chef Automate data collector with Chef Solo")
59
- end
60
- if !solo? && token_auth_configured?
61
- Chef::Log.warn("Data collector token authentication is not recommended for client-server mode" \
62
- "Please upgrade Chef Server to 12.11.0 and remove the token from your config file " \
63
- "to use key based authentication instead")
64
- end
65
- true
66
- end
67
-
68
- def self.data_collector_url_configured?
69
- !!Chef::Config[:data_collector][:server_url]
70
- end
71
-
72
- def self.data_collector_output_locations_configured?
73
- !!Chef::Config[:data_collector][:output_locations]
74
- end
46
+ # @return [Chef::RunList::RunListExpansion] the expanded run list
47
+ attr_reader :expanded_run_list
75
48
 
76
- def self.why_run?
77
- !!Chef::Config[:why_run]
78
- end
49
+ # @return [Chef::RunStatus] the run status
50
+ attr_reader :run_status
79
51
 
80
- def self.token_auth_configured?
81
- !!Chef::Config[:data_collector][:token]
82
- end
52
+ # @return [Chef::Node] the chef node
53
+ attr_reader :node
83
54
 
84
- def self.solo?
85
- !!Chef::Config[:solo] || !!Chef::Config[:local_mode]
86
- end
55
+ # @return [Set<Hash>] the acculumated list of deprecation warnings
56
+ attr_reader :deprecations
87
57
 
88
- def self.reporter_enabled_for_current_mode?
89
- if Chef::Config[:solo] || Chef::Config[:local_mode]
90
- acceptable_modes = [:solo, :both]
91
- else
92
- acceptable_modes = [:client, :both]
93
- end
58
+ # @return [Chef::ActionCollection] the action collection object
59
+ attr_reader :action_collection
94
60
 
95
- acceptable_modes.include?(Chef::Config[:data_collector][:mode])
96
- end
61
+ # @return [Chef::EventDispatch::Dispatcher] the event dispatcher
62
+ attr_reader :events
97
63
 
98
- # == Chef::DataCollector::Reporter
99
- # Provides an event handler that can be registered to report on Chef
100
- # run data. Unlike the existing Chef::ResourceReporter event handler,
101
- # the DataCollector handler is not tied to a Chef Server / Chef Reporting
102
- # and exports its data through a webhook-like mechanism to a configured
103
- # endpoint.
104
- class Reporter < EventDispatch::Base
105
- attr_reader :all_resource_reports, :status, :exception, :error_descriptions,
106
- :expanded_run_list, :run_context, :run_status, :http,
107
- :current_resource_report, :enabled, :deprecations
108
-
109
- def initialize
110
- validate_data_collector_server_url!
111
- validate_data_collector_output_locations! if data_collector_output_locations
112
- @all_resource_reports = []
113
- @current_resource_loaded = nil
114
- @error_descriptions = {}
64
+ # @param events [Chef::EventDispatch::Dispatcher] the event dispatcher
65
+ def initialize(events)
66
+ @events = events
115
67
  @expanded_run_list = {}
116
68
  @deprecations = Set.new
117
- @enabled = true
118
-
119
- @http = setup_http_client(data_collector_server_url)
120
- if data_collector_output_locations
121
- @http_output_locations = setup_http_output_locations if data_collector_output_locations[:urls]
122
- end
123
- end
124
-
125
- # see EventDispatch::Base#run_started
126
- # Upon receipt, we will send our run start message to the
127
- # configured DataCollector endpoint. Depending on whether
128
- # the user has configured raise_on_failure, if we cannot
129
- # send the message, we will either disable the DataCollector
130
- # Reporter for the duration of this run, or we'll raise an
131
- # exception.
132
- def run_started(current_run_status)
133
- update_run_status(current_run_status)
134
-
135
- message = Chef::DataCollector::Messages.run_start_message(current_run_status)
136
- disable_reporter_on_error do
137
- send_to_data_collector(message)
138
- end
139
- send_to_output_locations(message) if data_collector_output_locations
140
- end
141
-
142
- # see EventDispatch::Base#run_completed
143
- # Upon receipt, we will send our run completion message to the
144
- # configured DataCollector endpoint.
145
- def run_completed(node)
146
- send_run_completion(status: "success")
147
- end
148
-
149
- # see EventDispatch::Base#run_failed
150
- def run_failed(exception)
151
- send_run_completion(status: "failure")
152
69
  end
153
70
 
154
- # see EventDispatch::Base#converge_start
155
- # Upon receipt, we stash the run_context for use at the
156
- # end of the run in order to determine what resource+action
157
- # combinations have not yet fired so we can report on
158
- # unprocessed resources.
159
- def converge_start(run_context)
160
- @run_context = run_context
161
- end
162
-
163
- # see EventDispatch::Base#converge_complete
164
- # At the end of the converge, we add any unprocessed resources
165
- # to our report list.
166
- def converge_complete
167
- detect_unprocessed_resources
168
- end
169
-
170
- # see EventDispatch::Base#converge_failed
171
- # At the end of the converge, we add any unprocessed resources
172
- # to our report list
173
- def converge_failed(exception)
174
- detect_unprocessed_resources
175
- end
176
-
177
- # see EventDispatch::Base#resource_current_state_loaded
178
- # Create a new ResourceReport instance that we'll use to track
179
- # the state of this resource during the run. Nested resources are
180
- # ignored as they are assumed to be an inline resource of a custom
181
- # resource, and we only care about tracking top-level resources.
182
- def resource_current_state_loaded(new_resource, action, current_resource)
183
- return if nested_resource?(new_resource)
184
- initialize_resource_report_if_needed(new_resource, action, current_resource)
185
- end
186
-
187
- # see EventDispatch::Base#resource_up_to_date
188
- # Mark our ResourceReport status accordingly
189
- def resource_up_to_date(new_resource, action)
190
- initialize_resource_report_if_needed(new_resource, action)
191
- current_resource_report.up_to_date unless nested_resource?(new_resource)
192
- end
193
-
194
- # see EventDispatch::Base#resource_skipped
195
- # If this is a top-level resource, we create a ResourceReport
196
- # instance (because a skipped resource does not trigger the
197
- # resource_current_state_loaded event), and flag it as skipped.
198
- def resource_skipped(new_resource, action, conditional)
199
- return if nested_resource?(new_resource)
200
-
201
- initialize_resource_report_if_needed(new_resource, action)
202
- current_resource_report.skipped(conditional)
203
- end
204
-
205
- # see EventDispatch::Base#resource_updated
206
- # Flag the current ResourceReport instance as updated (as long as it's
207
- # a top-level resource).
208
- def resource_updated(new_resource, action)
209
- initialize_resource_report_if_needed(new_resource, action)
210
- current_resource_report.updated unless nested_resource?(new_resource)
211
- end
212
-
213
- # see EventDispatch::Base#resource_failed
214
- # Flag the current ResourceReport as failed and supply the exception as
215
- # long as it's a top-level resource, and update the run error text
216
- # with the proper Formatter.
217
- def resource_failed(new_resource, action, exception)
218
- initialize_resource_report_if_needed(new_resource, action)
219
- current_resource_report.failed(exception) unless nested_resource?(new_resource)
220
- update_error_description(
221
- Formatters::ErrorMapper.resource_failed(
222
- new_resource,
223
- action,
224
- exception
225
- ).for_json
226
- )
71
+ # Hook to grab the run_status. We also make the decision to run or not run here (our
72
+ # config has been parsed so we should know if we need to run, we unregister if we do
73
+ # not want to run).
74
+ #
75
+ # (see EventDispatch::Base#run_start)
76
+ #
77
+ def run_start(chef_version, run_status)
78
+ events.unregister(self) unless should_be_enabled?
79
+ @run_status = run_status
227
80
  end
228
81
 
229
- # see EventDispatch::Base#resource_completed
230
- # Mark the ResourceReport instance as finished (for timing details).
231
- # This marks the end of this resource during this run.
232
- def resource_completed(new_resource)
233
- if current_resource_report && !nested_resource?(new_resource)
234
- current_resource_report.finish
235
- add_resource_report(current_resource_report)
236
- clear_current_resource_report
237
- end
82
+ # Hook to grab the node object after it has been successfully loaded
83
+ #
84
+ # (see EventDispatch::Base#node_load_success)
85
+ #
86
+ def node_load_success(node)
87
+ @node = node
238
88
  end
239
89
 
240
- # see EventDispatch::Base#run_list_expanded
241
90
  # The expanded run list is stored for later use by the run_completed
242
91
  # event and message.
92
+ #
93
+ # (see EventDispatch::Base#run_list_expanded)
94
+ #
243
95
  def run_list_expanded(run_list_expansion)
244
96
  @expanded_run_list = run_list_expansion
245
97
  end
246
98
 
247
- # see EventDispatch::Base#run_list_expand_failed
248
- # The run error text is updated with the output of the appropriate
249
- # formatter.
250
- def run_list_expand_failed(node, exception)
251
- update_error_description(
252
- Formatters::ErrorMapper.run_list_expand_failed(
253
- node,
254
- exception
255
- ).for_json
256
- )
99
+ # Hook event to register with the action_collection if we are still enabled.
100
+ #
101
+ # This is also how we wire up to the action_collection since it passes itself as the argument.
102
+ #
103
+ # (see EventDispatch::Base#action_collection_registration)
104
+ #
105
+ def action_collection_registration(action_collection)
106
+ @action_collection = action_collection
107
+ action_collection.register(self)
257
108
  end
258
109
 
259
- # see EventDispatch::Base#cookbook_resolution_failed
260
- # The run error text is updated with the output of the appropriate
261
- # formatter.
262
- def cookbook_resolution_failed(expanded_run_list, exception)
263
- update_error_description(
264
- Formatters::ErrorMapper.cookbook_resolution_failed(
265
- expanded_run_list,
266
- exception
267
- ).for_json
268
- )
269
- end
110
+ # - Creates and writes our NodeUUID back to the node object
111
+ # - Sanity checks the data collector
112
+ # - Sends the run start message
113
+ # - If the run_start message fails, this may disable the rest of data collection or fail hard
114
+ #
115
+ # (see EventDispatch::Base#run_started)
116
+ #
117
+ def run_started(run_status)
118
+ Chef::DataCollector::ConfigValidation.validate_server_url!
119
+ Chef::DataCollector::ConfigValidation.validate_output_locations!
270
120
 
271
- # see EventDispatch::Base#cookbook_sync_failed
272
- # The run error text is updated with the output of the appropriate
273
- # formatter.
274
- def cookbook_sync_failed(cookbooks, exception)
275
- update_error_description(
276
- Formatters::ErrorMapper.cookbook_sync_failed(
277
- cookbooks,
278
- exception
279
- ).for_json
280
- )
121
+ send_run_start
281
122
  end
282
123
 
283
- # see EventDispatch::Base#deprecation
284
- # Append a received deprecation to the list of deprecations
124
+ # Hook event to accumulating deprecation messages
125
+ #
126
+ # (see EventDispatch::Base#deprecation)
127
+ #
285
128
  def deprecation(message, location = caller(2..2)[0])
286
- add_deprecation(message.message, message.url, location)
129
+ @deprecations << { message: message.message, url: message.url, location: message.location }
130
+ end
131
+
132
+ # Hook to send the run completion message with a status of success
133
+ #
134
+ # (see EventDispatch::Base#run_completed)
135
+ #
136
+ def run_completed(node)
137
+ send_run_completion("success")
138
+ end
139
+
140
+ # Hook to send the run completion message with a status of failed
141
+ #
142
+ # (see EventDispatch::Base#run_failed)
143
+ #
144
+ def run_failed(exception)
145
+ send_run_completion("failure")
287
146
  end
288
147
 
289
148
  private
290
149
 
291
- # Selects the type of HTTP client to use based on whether we are using
292
- # token-based or signed header authentication. Token authentication is
293
- # intended to be used primarily for Chef Solo in which case no signing
294
- # key will be available (in which case `Chef::ServerAPI.new()` would
295
- # raise an exception.
150
+ # Construct a http client for either the main data collector or for the http output_locations.
151
+ #
152
+ # Note that based on the token setting either the main data collector and all the http output_locations
153
+ # are going to all require chef-server authentication or not. There is no facility to mix-and-match on
154
+ # a per-url basis.
155
+ #
156
+ # @param url [String] the string url to connect to
157
+ # @returns [Chef::HTTP] the appropriate Chef::HTTP subclass instance to use
158
+ #
296
159
  def setup_http_client(url)
297
- if data_collector_token.nil?
160
+ if Chef::Config[:data_collector][:token].nil?
298
161
  Chef::ServerAPI.new(url, validate_utf8: false)
299
162
  else
300
163
  Chef::HTTP::SimpleJSON.new(url, validate_utf8: false)
301
164
  end
302
165
  end
303
166
 
304
- def setup_http_output_locations
305
- Chef::Config[:data_collector][:output_locations][:urls].each_with_object({}) do |location_url, http_output_locations|
306
- http_output_locations[location_url] = setup_http_client(location_url)
307
- end
308
- end
309
-
167
+ # Handle POST'ing data to the data collector. Note that this is a totally separate concern
168
+ # from the array of URI's in the extra configured output_locations.
310
169
  #
311
- # Yields to the passed-in block (which is expected to be some interaction
312
- # with the DataCollector endpoint). If some communication failure occurs,
313
- # either disable any future communications to the DataCollector endpoint, or
314
- # raise an exception (if the user has set
315
- # Chef::Config.data_collector.raise_on_failure to true.)
170
+ # On failure this will unregister the data collector (if there are no other configured output_locations)
171
+ # and optionally will either silently continue or fail hard depending on configuration.
316
172
  #
317
- # @param block [Proc] A ruby block to run. Ignored if a command is given.
173
+ # @param message [Hash] message to send
318
174
  #
319
- def disable_reporter_on_error
320
- yield
175
+ def send_to_data_collector(message)
176
+ return unless Chef::Config[:data_collector][:server_url]
177
+ @http ||= setup_http_client(Chef::Config[:data_collector][:server_url])
178
+ @http.post(nil, message, headers)
321
179
  rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET,
322
- Errno::ECONNREFUSED, EOFError, Net::HTTPBadResponse,
323
- Net::HTTPHeaderSyntaxError, Net::ProtocolError, OpenSSL::SSL::SSLError,
324
- Errno::EHOSTDOWN => e
180
+ Errno::ECONNREFUSED, EOFError, Net::HTTPBadResponse,
181
+ Net::HTTPHeaderSyntaxError, Net::ProtocolError, OpenSSL::SSL::SSLError,
182
+ Errno::EHOSTDOWN => e
325
183
  # Do not disable data collector reporter if additional output_locations have been specified
326
- disable_data_collector_reporter unless data_collector_output_locations
327
- code = if e.respond_to?(:response) && e.response.code
328
- e.response.code.to_s
329
- else
330
- "Exception Code Empty"
331
- end
184
+ events.unregister(self) unless Chef::Config[:data_collector][:output_locations]
185
+
186
+ code = e&.response&.code&.to_s || "Exception Code Empty"
332
187
 
333
- msg = "Error while reporting run start to Data Collector. " \
334
- "URL: #{data_collector_server_url} " \
335
- "Exception: #{code} -- #{e.message} "
188
+ msg = "Error while reporting run start to Data Collector. URL: #{Chef::Config[:data_collector][:server_url]} Exception: #{code} -- #{e.message} "
336
189
 
337
190
  if Chef::Config[:data_collector][:raise_on_failure]
338
191
  Chef::Log.error(msg)
@@ -344,222 +197,128 @@ class Chef
344
197
  end
345
198
  end
346
199
 
347
- def send_to_data_collector(message)
348
- return unless data_collector_accessible?
349
- http.post(nil, message, headers) if data_collector_server_url
350
- end
351
-
200
+ # Process sending the configured message to all the extra output locations.
201
+ #
202
+ # @param message [Hash] message to send
203
+ #
352
204
  def send_to_output_locations(message)
353
- data_collector_output_locations.each do |type, location_list|
354
- location_list.each do |l|
355
- handle_output_location(type, l, message)
205
+ return unless Chef::Config[:data_collector][:output_locations]
206
+
207
+ Chef::Config[:data_collector][:output_locations].each do |type, locations|
208
+ locations.each do |location|
209
+ send_to_file_location(location, message) if type == :files
210
+ send_to_http_location(location, message) if type == :urls
356
211
  end
357
212
  end
358
213
  end
359
214
 
360
- def handle_output_location(type, loc, message)
361
- type == :urls ? send_to_http_location(loc, message) : send_to_file_location(loc, message)
362
- end
363
-
215
+ # Sends a single message to a file, rendered as JSON.
216
+ #
217
+ # @param file_name [String] the file to write to
218
+ # @param message [Hash] the message to render as JSON
219
+ #
364
220
  def send_to_file_location(file_name, message)
365
- open(file_name, "a") { |f| f.puts message }
221
+ File.open(file_name, "a") do |fh|
222
+ fh.puts Chef::JSONCompat.to_json(message, validate_utf8: false)
223
+ end
366
224
  end
367
225
 
226
+ # Sends a single message to a http uri, rendered as JSON. Maintains a cache of Chef::HTTP
227
+ # objects to use on subsequent requests.
228
+ #
229
+ # @param http_url [String] the configured http uri string endpoint to send to
230
+ # @param message [Hash] the message to render as JSON
231
+ #
368
232
  def send_to_http_location(http_url, message)
369
- @http_output_locations[http_url].post(nil, message, headers) if @http_output_locations[http_url]
233
+ @http_output_locations_clients[http_url] ||= setup_http_client(http_url)
234
+ @http_output_locations_clients[http_url].post(nil, message, headers)
370
235
  rescue
371
- Chef::Log.trace("Data collector failed to send to URL location #{http_url}. Please check your configured data_collector.output_locations")
236
+ # FIXME: we do all kinds of complexity to deal with errors in send_to_data_collector and we just don't care here, which feels like
237
+ # like poor behavior on several different levels, at least its a warn now... (I don't quite understand why it was written this way)
238
+ Chef::Log.warn("Data collector failed to send to URL location #{http_url}. Please check your configured data_collector.output_locations")
372
239
  end
373
240
 
241
+ # @return [Boolean] if we've sent a run_start message yet
242
+ def sent_run_start?
243
+ !!@sent_run_start
244
+ end
245
+
246
+ # Send the run start message to the configured server or output locations
374
247
  #
375
- # Send any messages to the DataCollector endpoint that are necessary to
376
- # indicate the run has completed. Currently, two messages are sent:
377
- #
378
- # - An "action" message with the node object indicating it's been updated
379
- # - An "run_converge" (i.e. RunEnd) message with details about the run,
380
- # what resources were modified/up-to-date/skipped, etc.
248
+ def send_run_start
249
+ message = Chef::DataCollector::RunStartMessage.construct_message(self)
250
+ send_to_data_collector(message)
251
+ send_to_output_locations(message)
252
+ @sent_run_start = true
253
+ end
254
+
255
+ # Send the run completion message to the configured server or output locations
381
256
  #
382
- # @param opts [Hash] Additional details about the run, such as its success/failure.
257
+ # @param status [String] Either "success" or "failed"
383
258
  #
384
- def send_run_completion(opts)
385
- # If run_status is nil we probably failed before the client triggered
386
- # the run_started callback. In this case we'll skip updating because
387
- # we have nothing to report.
388
- return unless run_status
259
+ def send_run_completion(status)
260
+ # this is necessary to send a run_start message when we fail before the run_started chef event.
261
+ # we adhere to a contract that run_start + run_completion events happen in pairs.
262
+ send_run_start unless sent_run_start?
389
263
 
390
- message = Chef::DataCollector::Messages.run_end_message(
391
- run_status: run_status,
392
- expanded_run_list: expanded_run_list,
393
- resources: all_resource_reports,
394
- status: opts[:status],
395
- error_descriptions: error_descriptions,
396
- deprecations: deprecations.to_a
397
- )
398
- disable_reporter_on_error do
399
- send_to_data_collector(message)
400
- end
401
- send_to_output_locations(message) if data_collector_output_locations
264
+ message = Chef::DataCollector::RunEndMessage.construct_message(self, status)
265
+ send_to_data_collector(message)
266
+ send_to_output_locations(message)
402
267
  end
403
268
 
269
+ # @return [Hash] HTTP headers for the data collector endpoint
404
270
  def headers
405
271
  headers = { "Content-Type" => "application/json" }
406
272
 
407
- unless data_collector_token.nil?
408
- headers["x-data-collector-token"] = data_collector_token
273
+ unless Chef::Config[:data_collector][:token].nil?
274
+ headers["x-data-collector-token"] = Chef::Config[:data_collector][:token]
409
275
  headers["x-data-collector-auth"] = "version=1.0"
410
276
  end
411
277
 
412
278
  headers
413
279
  end
414
280
 
415
- def data_collector_server_url
416
- Chef::Config[:data_collector][:server_url]
417
- end
418
-
419
- def data_collector_output_locations
420
- Chef::Config[:data_collector][:output_locations]
421
- end
422
-
423
- def data_collector_token
424
- Chef::Config[:data_collector][:token]
425
- end
426
-
427
- def add_resource_report(resource_report)
428
- @all_resource_reports << OpenStruct.new(
429
- resource: resource_report.new_resource,
430
- action: resource_report.action,
431
- report_data: resource_report.to_h
432
- )
433
- end
434
-
435
- def disable_data_collector_reporter
436
- @enabled = false
437
- end
438
-
439
- def data_collector_accessible?
440
- @enabled
441
- end
442
-
443
- def update_run_status(run_status)
444
- @run_status = run_status
445
- end
446
-
447
- def update_error_description(discription_hash)
448
- @error_descriptions = discription_hash
449
- end
450
-
451
- def add_deprecation(message, url, location)
452
- @deprecations << { message: message, url: url, location: location }
453
- end
454
-
455
- def initialize_resource_report_if_needed(new_resource, action, current_resource = nil)
456
- return unless current_resource_report.nil?
457
- @current_resource_report = create_resource_report(new_resource, action, current_resource)
458
- end
459
-
460
- def create_resource_report(new_resource, action, current_resource = nil)
461
- Chef::DataCollector::ResourceReport.new(
462
- new_resource,
463
- action,
464
- current_resource
465
- )
466
- end
467
-
468
- def clear_current_resource_report
469
- @current_resource_report = nil
470
- end
471
-
472
- def detect_unprocessed_resources
473
- # create a Hash (for performance reasons, rather than an Array) containing all
474
- # resource+action combinations from the Resource Collection
475
- #
476
- # We use the object ID instead of the resource itself in the Hash key because
477
- # we currently allow users to create a property called "hash" which creates
478
- # a #hash instance method on the resource. Ruby expects that to be a Fixnum,
479
- # so bad things happen when adding an object to an Array or a Hash if it's not.
480
- collection_resources = {}
481
- run_context.resource_collection.all_resources.each do |resource|
482
- Array(resource.action).each do |action|
483
- collection_resources[[resource.__id__, action]] = resource
484
- end
485
- end
486
-
487
- # Delete from the Hash any resource+action combination we have
488
- # already processed.
489
- all_resource_reports.each do |report|
490
- collection_resources.delete([report.resource.__id__, report.action])
491
- end
492
-
493
- # The items remaining in the Hash are unprocessed resource+actions,
494
- # so we'll create new resource reports for them which default to
495
- # a state of "unprocessed".
496
- collection_resources.each do |key, resource|
497
- # The Hash key is an array of the Resource's object ID and the action.
498
- # We need to pluck out the action.
499
- add_resource_report(create_resource_report(resource, key[1]))
500
- end
501
- end
502
-
503
- # If we are getting messages about a resource while we are in the middle of
504
- # another resource's update, we assume that the nested resource is just the
505
- # implementation of a provider, and we want to hide it from the reporting
506
- # output.
507
- def nested_resource?(new_resource)
508
- @current_resource_report && @current_resource_report.new_resource != new_resource
509
- end
510
-
511
- def validate_and_return_uri(uri)
512
- URI(uri)
513
- rescue URI::InvalidURIError
514
- nil
515
- end
516
-
517
- def validate_and_create_file(file)
518
- send_to_file_location(file, "")
519
- true
520
- # Rescue exceptions raised by the file path being non-existent or not writeable and re-raise them to the user
521
- # with clearer explanatory text.
522
- rescue Errno::ENOENT
523
- raise Chef::Exceptions::ConfigurationError,
524
- "Chef::Config[:data_collector][:output_locations][:files] contains the location #{file}, which is a non existent file path."
525
- rescue Errno::EACCES
526
- raise Chef::Exceptions::ConfigurationError,
527
- "Chef::Config[:data_collector][:output_locations][:files] contains the location #{file}, which cannnot be written to by Chef."
528
- end
529
-
530
- def validate_data_collector_server_url!
531
- unless !data_collector_server_url && data_collector_output_locations
532
- uri = validate_and_return_uri(data_collector_server_url)
533
- unless uri
534
- raise Chef::Exceptions::ConfigurationError, "Chef::Config[:data_collector][:server_url] (#{data_collector_server_url}) is not a valid URI."
535
- end
536
-
537
- if uri.host.nil?
538
- raise Chef::Exceptions::ConfigurationError,
539
- "Chef::Config[:data_collector][:server_url] (#{data_collector_server_url}) is a URI with no host. Please supply a valid URL."
540
- end
281
+ # Main logic controlling the data collector being enabled or disabled:
282
+ #
283
+ # * disabled in why-run mode
284
+ # * disabled when `Chef::Config[:data_collector][:mode]` excludes the solo-vs-client mode
285
+ # * disabled if there is no server_url or no output_locations to log to
286
+ # * enabled if there is a configured output_location even without a token
287
+ # * disabled in solo mode if the user did not configure the auth token
288
+ #
289
+ # @return [Boolean] true if the data collector should be enabled
290
+ #
291
+ def should_be_enabled?
292
+ running_mode = ( Chef::Config[:solo_legacy_mode] || Chef::Config[:local_mode] ) ? :solo : :client
293
+ want_mode = Chef::Config[:data_collector][:mode]
294
+
295
+ case
296
+ when Chef::Config[:why_run]
297
+ Chef::Log.trace("data collector is disabled for why run mode")
298
+ return false
299
+ when (want_mode != :both) && running_mode != want_mode
300
+ Chef::Log.trace("data collector is configured to only run in #{Chef::Config[:data_collector][:mode]} modes, disabling it")
301
+ return false
302
+ when !(Chef::Config[:data_collector][:server_url] || Chef::Config[:data_collector][:output_locations])
303
+ Chef::Log.trace("Neither data collector URL or output locations have been configured, disabling data collector")
304
+ return false
305
+ when running_mode == :client && Chef::Config[:data_collector][:token]
306
+ Chef::Log.warn("Data collector token authentication is not recommended for client-server mode. " \
307
+ "Please upgrade #{Chef::Dist::SERVER_PRODUCT} to 12.11 or later and remove the token from your config file " \
308
+ "to use key based authentication instead")
309
+ return true
310
+ when Chef::Config[:data_collector][:output_locations] && Chef::Config[:data_collector][:output_locations][:files] && !Chef::Config[:data_collector][:output_locations][:files].empty?
311
+ # we can run fine to a file without a token, even in solo mode.
312
+ return true
313
+ when running_mode == :solo && !Chef::Config[:data_collector][:token]
314
+ # we are in solo mode and are not logging to a file, so must have a token
315
+ Chef::Log.trace("Data collector token must be configured to use Chef Automate data collector with #{Chef::Dist::PRODUCT} Solo")
316
+ return false
317
+ else
318
+ return true
541
319
  end
542
320
  end
543
321
 
544
- def handle_type(type, loc)
545
- type == :urls ? validate_and_return_uri(loc) : validate_and_create_file(loc)
546
- end
547
-
548
- def validate_data_collector_output_locations!
549
- if data_collector_output_locations.empty?
550
- raise Chef::Exceptions::ConfigurationError,
551
- "Chef::Config[:data_collector][:output_locations] is empty. Please supply an hash of valid URLs and / or local file paths."
552
- end
553
-
554
- data_collector_output_locations.each do |type, locations|
555
- locations.each do |l|
556
- unless handle_type(type, l)
557
- raise Chef::Exceptions::ConfigurationError,
558
- "Chef::Config[:data_collector][:output_locations] contains the location #{l} which is not valid."
559
- end
560
- end
561
- end
562
- end
563
322
  end
564
323
  end
565
324
  end