chef 16.2.44 → 16.4.35

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 (385) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/Rakefile +3 -16
  4. data/chef-universal-mingw32.gemspec +2 -3
  5. data/chef.gemspec +4 -3
  6. data/lib/chef/action_collection.rb +4 -0
  7. data/lib/chef/api_client/registration.rb +8 -8
  8. data/lib/chef/application.rb +18 -1
  9. data/lib/chef/application/apply.rb +6 -5
  10. data/lib/chef/application/base.rb +2 -0
  11. data/lib/chef/application/client.rb +3 -0
  12. data/lib/chef/application/windows_service.rb +27 -27
  13. data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
  14. data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
  15. data/lib/chef/chef_class.rb +0 -1
  16. data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
  17. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
  18. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
  19. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  20. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
  21. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
  22. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
  23. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
  24. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  25. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  26. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
  27. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  28. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  29. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  30. data/lib/chef/client.rb +14 -14
  31. data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
  32. data/lib/chef/cookbook/syntax_check.rb +1 -2
  33. data/lib/chef/cookbook_loader.rb +15 -29
  34. data/lib/chef/data_bag.rb +1 -2
  35. data/lib/chef/data_collector/run_end_message.rb +11 -1
  36. data/lib/chef/deprecated.rb +8 -0
  37. data/lib/chef/digester.rb +3 -2
  38. data/lib/chef/dsl/platform_introspection.rb +9 -7
  39. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  40. data/lib/chef/environment.rb +3 -4
  41. data/lib/chef/exceptions.rb +4 -1
  42. data/lib/chef/file_access_control/windows.rb +2 -2
  43. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  44. data/lib/chef/file_content_management/tempfile.rb +9 -9
  45. data/lib/chef/handler.rb +2 -0
  46. data/lib/chef/http.rb +12 -12
  47. data/lib/chef/http/authenticator.rb +3 -1
  48. data/lib/chef/json_compat.rb +1 -1
  49. data/lib/chef/knife.rb +4 -4
  50. data/lib/chef/knife/bootstrap.rb +18 -15
  51. data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
  52. data/lib/chef/knife/config_get.rb +1 -0
  53. data/lib/chef/knife/config_list_profiles.rb +4 -1
  54. data/lib/chef/knife/config_use_profile.rb +15 -5
  55. data/lib/chef/knife/configure.rb +1 -1
  56. data/lib/chef/knife/cookbook_download.rb +1 -1
  57. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  58. data/lib/chef/knife/cookbook_upload.rb +29 -37
  59. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  60. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  61. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  62. data/lib/chef/knife/core/hashed_command_loader.rb +3 -2
  63. data/lib/chef/knife/core/subcommand_loader.rb +20 -1
  64. data/lib/chef/knife/core/ui.rb +8 -2
  65. data/lib/chef/knife/core/windows_bootstrap_context.rb +33 -26
  66. data/lib/chef/knife/delete.rb +15 -15
  67. data/lib/chef/knife/exec.rb +2 -2
  68. data/lib/chef/knife/rehash.rb +3 -21
  69. data/lib/chef/knife/ssh.rb +11 -7
  70. data/lib/chef/knife/xargs.rb +19 -19
  71. data/lib/chef/knife/yaml_convert.rb +1 -1
  72. data/lib/chef/log.rb +7 -2
  73. data/lib/chef/mixin/checksum.rb +0 -1
  74. data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
  75. data/lib/chef/mixin/deep_merge.rb +35 -6
  76. data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
  77. data/lib/chef/mixin/openssl_helper.rb +30 -6
  78. data/lib/chef/mixin/path_sanity.rb +5 -4
  79. data/lib/chef/mixin/shell_out.rb +4 -188
  80. data/lib/chef/mixin/template.rb +1 -0
  81. data/lib/chef/mixin/which.rb +6 -3
  82. data/lib/chef/mixins.rb +1 -0
  83. data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
  84. data/lib/chef/node.rb +36 -12
  85. data/lib/chef/node/attribute.rb +2 -4
  86. data/lib/chef/node_map.rb +21 -18
  87. data/lib/chef/platform/service_helpers.rb +31 -28
  88. data/lib/chef/property.rb +1 -1
  89. data/lib/chef/provider/cron/unix.rb +0 -2
  90. data/lib/chef/provider/git.rb +17 -9
  91. data/lib/chef/provider/group.rb +0 -2
  92. data/lib/chef/provider/group/suse.rb +5 -5
  93. data/lib/chef/provider/ifconfig.rb +1 -4
  94. data/lib/chef/provider/mount.rb +0 -2
  95. data/lib/chef/provider/mount/solaris.rb +0 -1
  96. data/lib/chef/provider/package.rb +0 -2
  97. data/lib/chef/provider/package/rubygems.rb +1 -1
  98. data/lib/chef/provider/package/snap.rb +3 -4
  99. data/lib/chef/provider/package/windows.rb +9 -4
  100. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -9
  101. data/lib/chef/provider/package/zypper.rb +0 -1
  102. data/lib/chef/provider/powershell_script.rb +21 -5
  103. data/lib/chef/provider/route.rb +1 -1
  104. data/lib/chef/provider/service.rb +2 -2
  105. data/lib/chef/provider/service/arch.rb +1 -1
  106. data/lib/chef/provider/service/debian.rb +1 -1
  107. data/lib/chef/provider/service/gentoo.rb +2 -2
  108. data/lib/chef/provider/service/macosx.rb +2 -2
  109. data/lib/chef/provider/service/openbsd.rb +1 -4
  110. data/lib/chef/provider/service/redhat.rb +2 -2
  111. data/lib/chef/provider/service/upstart.rb +1 -1
  112. data/lib/chef/provider/service/windows.rb +10 -10
  113. data/lib/chef/provider/systemd_unit.rb +0 -2
  114. data/lib/chef/provider/template/content.rb +1 -0
  115. data/lib/chef/provider/user/dscl.rb +2 -2
  116. data/lib/chef/provider/user/mac.rb +9 -9
  117. data/lib/chef/provider/windows_task.rb +0 -3
  118. data/lib/chef/provider/yum_repository.rb +1 -1
  119. data/lib/chef/provider/zypper_repository.rb +1 -2
  120. data/lib/chef/providers.rb +0 -1
  121. data/lib/chef/recipe.rb +1 -1
  122. data/lib/chef/resource.rb +9 -11
  123. data/lib/chef/resource/alternatives.rb +1 -1
  124. data/lib/chef/resource/apt_repository.rb +1 -10
  125. data/lib/chef/resource/build_essential.rb +2 -2
  126. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  127. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  128. data/lib/chef/resource/chef_gem.rb +57 -21
  129. data/lib/chef/resource/chef_vault_secret.rb +13 -13
  130. data/lib/chef/resource/chocolatey_feature.rb +1 -2
  131. data/lib/chef/resource/cron/cron_d.rb +1 -1
  132. data/lib/chef/resource/cron_access.rb +2 -2
  133. data/lib/chef/resource/dmg_package.rb +2 -2
  134. data/lib/chef/resource/execute.rb +4 -5
  135. data/lib/chef/resource/gem_package.rb +35 -2
  136. data/lib/chef/resource/homebrew_update.rb +2 -2
  137. data/lib/chef/resource/hostname.rb +18 -18
  138. data/lib/chef/resource/launchd.rb +1 -1
  139. data/lib/chef/resource/lwrp_base.rb +1 -0
  140. data/lib/chef/resource/macos_userdefaults.rb +176 -61
  141. data/lib/chef/resource/openssl_dhparam.rb +2 -0
  142. data/lib/chef/resource/openssl_ec_private_key.rb +2 -0
  143. data/lib/chef/resource/openssl_ec_public_key.rb +2 -0
  144. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  145. data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
  146. data/lib/chef/resource/openssl_x509_certificate.rb +35 -35
  147. data/lib/chef/resource/openssl_x509_crl.rb +3 -2
  148. data/lib/chef/resource/openssl_x509_request.rb +23 -20
  149. data/lib/chef/resource/osx_profile.rb +227 -5
  150. data/lib/chef/resource/powershell_package_source.rb +1 -1
  151. data/lib/chef/resource/powershell_script.rb +24 -30
  152. data/lib/chef/resource/service.rb +2 -2
  153. data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
  154. data/lib/chef/resource/sudo.rb +31 -4
  155. data/lib/chef/resource/swap_file.rb +17 -0
  156. data/lib/chef/resource/sysctl.rb +5 -5
  157. data/lib/chef/resource/timezone.rb +15 -0
  158. data/lib/chef/resource/user_ulimit.rb +1 -1
  159. data/lib/chef/resource/windows_ad_join.rb +2 -0
  160. data/lib/chef/resource/windows_audit_policy.rb +3 -0
  161. data/lib/chef/resource/windows_auto_run.rb +2 -0
  162. data/lib/chef/resource/windows_certificate.rb +2 -0
  163. data/lib/chef/resource/windows_dfs_folder.rb +2 -0
  164. data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
  165. data/lib/chef/resource/windows_dfs_server.rb +2 -0
  166. data/lib/chef/resource/windows_dns_record.rb +25 -5
  167. data/lib/chef/resource/windows_dns_zone.rb +12 -7
  168. data/lib/chef/resource/windows_feature.rb +2 -0
  169. data/lib/chef/resource/windows_feature_dism.rb +10 -0
  170. data/lib/chef/resource/windows_feature_powershell.rb +14 -2
  171. data/lib/chef/resource/windows_firewall_profile.rb +199 -0
  172. data/lib/chef/resource/windows_firewall_rule.rb +5 -3
  173. data/lib/chef/resource/windows_font.rb +3 -1
  174. data/lib/chef/resource/windows_pagefile.rb +4 -0
  175. data/lib/chef/resource/windows_printer.rb +17 -18
  176. data/lib/chef/resource/windows_printer_port.rb +14 -13
  177. data/lib/chef/resource/windows_security_policy.rb +52 -21
  178. data/lib/chef/resource/windows_share.rb +5 -3
  179. data/lib/chef/resource/windows_shortcut.rb +2 -0
  180. data/lib/chef/resource/windows_uac.rb +2 -0
  181. data/lib/chef/resource/windows_user_privilege.rb +27 -2
  182. data/lib/chef/resource/windows_workgroup.rb +2 -3
  183. data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
  184. data/lib/chef/resource_inspector.rb +7 -1
  185. data/lib/chef/resources.rb +1 -0
  186. data/lib/chef/role.rb +3 -4
  187. data/lib/chef/run_context/cookbook_compiler.rb +20 -20
  188. data/lib/chef/run_status.rb +2 -6
  189. data/lib/chef/server_api_versions.rb +4 -0
  190. data/lib/chef/shell.rb +1 -1
  191. data/lib/chef/shell/shell_session.rb +2 -0
  192. data/lib/chef/util/backup.rb +1 -1
  193. data/lib/chef/util/diff.rb +11 -12
  194. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  195. data/lib/chef/version.rb +2 -2
  196. data/lib/chef/win32/file.rb +2 -2
  197. data/lib/chef/win32/file/version_info.rb +5 -5
  198. data/lib/chef/win32/registry.rb +1 -2
  199. data/spec/data/ssl/chef-rspec.cert +15 -15
  200. data/spec/functional/knife/configure_spec.rb +1 -1
  201. data/spec/functional/knife/ssh_spec.rb +5 -16
  202. data/spec/functional/resource/aix_service_spec.rb +9 -2
  203. data/spec/functional/resource/aixinit_service_spec.rb +8 -9
  204. data/spec/functional/resource/apt_package_spec.rb +0 -1
  205. data/spec/functional/resource/bash_spec.rb +3 -2
  206. data/spec/functional/resource/bff_spec.rb +3 -3
  207. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  208. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  209. data/spec/functional/resource/cron_spec.rb +10 -2
  210. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  211. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  212. data/spec/functional/resource/dsc_script_spec.rb +0 -1
  213. data/spec/functional/resource/execute_spec.rb +1 -1
  214. data/spec/functional/resource/git_spec.rb +23 -1
  215. data/spec/functional/resource/group_spec.rb +21 -9
  216. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  217. data/spec/functional/resource/insserv_spec.rb +7 -7
  218. data/spec/functional/resource/link_spec.rb +22 -25
  219. data/spec/functional/resource/mount_spec.rb +9 -1
  220. data/spec/functional/resource/msu_package_spec.rb +9 -3
  221. data/spec/functional/resource/powershell_script_spec.rb +8 -8
  222. data/spec/functional/resource/remote_file_spec.rb +7 -13
  223. data/spec/functional/resource/rpm_spec.rb +3 -3
  224. data/spec/functional/resource/timezone_spec.rb +2 -0
  225. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  226. data/spec/functional/resource/windows_font_spec.rb +49 -0
  227. data/spec/functional/resource/windows_package_spec.rb +0 -1
  228. data/spec/functional/resource/windows_path_spec.rb +4 -0
  229. data/spec/functional/resource/windows_security_policy_spec.rb +0 -4
  230. data/spec/functional/resource/windows_service_spec.rb +4 -0
  231. data/spec/functional/resource/windows_task_spec.rb +4 -3
  232. data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
  233. data/spec/functional/resource/yum_package_spec.rb +4 -1
  234. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  235. data/spec/functional/run_lock_spec.rb +26 -25
  236. data/spec/functional/shell_spec.rb +5 -6
  237. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  238. data/spec/functional/version_spec.rb +1 -1
  239. data/spec/functional/win32/crypto_spec.rb +1 -1
  240. data/spec/functional/win32/registry_spec.rb +8 -8
  241. data/spec/functional/win32/service_manager_spec.rb +1 -1
  242. data/spec/integration/knife/common_options_spec.rb +12 -12
  243. data/spec/integration/knife/config_get_profile_spec.rb +69 -68
  244. data/spec/integration/knife/config_get_spec.rb +126 -125
  245. data/spec/integration/knife/config_list_profiles_spec.rb +181 -152
  246. data/spec/integration/knife/config_use_profile_spec.rb +115 -61
  247. data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
  248. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  249. data/spec/integration/knife/diff_spec.rb +3 -1
  250. data/spec/integration/knife/download_spec.rb +3 -1
  251. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  252. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  253. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  254. data/spec/integration/knife/serve_spec.rb +5 -5
  255. data/spec/integration/knife/upload_spec.rb +3 -1
  256. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  257. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +2 -2
  258. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  259. data/spec/integration/recipes/notifies_spec.rb +1 -1
  260. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  261. data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
  262. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
  263. data/spec/integration/recipes/resource_load_spec.rb +4 -2
  264. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  265. data/spec/integration/recipes/use_partial_spec.rb +1 -1
  266. data/spec/scripts/ssl-serve.rb +1 -1
  267. data/spec/spec_helper.rb +16 -10
  268. data/spec/support/chef_helpers.rb +1 -20
  269. data/spec/support/platform_helpers.rb +9 -11
  270. data/spec/support/platforms/win32/spec_service.rb +1 -1
  271. data/spec/support/shared/functional/directory_resource.rb +1 -1
  272. data/spec/support/shared/functional/execute_resource.rb +1 -1
  273. data/spec/support/shared/functional/file_resource.rb +20 -21
  274. data/spec/support/shared/functional/securable_resource.rb +1 -2
  275. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  276. data/spec/support/shared/functional/win32_service.rb +1 -1
  277. data/spec/support/shared/functional/windows_script.rb +5 -5
  278. data/spec/support/shared/integration/integration_helper.rb +22 -52
  279. data/spec/support/shared/integration/knife_support.rb +2 -9
  280. data/spec/support/shared/unit/application_dot_d.rb +0 -1
  281. data/spec/support/shared/unit/provider/file.rb +12 -8
  282. data/spec/support/shared/unit/script_resource.rb +6 -20
  283. data/spec/support/shared/unit/windows_script_resource.rb +15 -28
  284. data/spec/unit/application/solo_spec.rb +4 -2
  285. data/spec/unit/application_spec.rb +4 -2
  286. data/spec/unit/chef_fs/config_spec.rb +2 -2
  287. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  288. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
  289. data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
  290. data/spec/unit/client_spec.rb +4 -1
  291. data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
  292. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  293. data/spec/unit/data_bag_spec.rb +6 -3
  294. data/spec/unit/data_collector_spec.rb +23 -1
  295. data/spec/unit/decorator_spec.rb +23 -23
  296. data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
  297. data/spec/unit/environment_spec.rb +12 -8
  298. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
  299. data/spec/unit/guard_interpreter_spec.rb +1 -1
  300. data/spec/unit/http/api_versions_spec.rb +20 -2
  301. data/spec/unit/json_compat_spec.rb +1 -1
  302. data/spec/unit/knife/bootstrap_spec.rb +17 -20
  303. data/spec/unit/knife/cookbook_download_spec.rb +6 -6
  304. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
  305. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  306. data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
  307. data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
  308. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
  309. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  310. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  311. data/spec/unit/log/syslog_spec.rb +6 -10
  312. data/spec/unit/log/winevt_spec.rb +21 -13
  313. data/spec/unit/lwrp_spec.rb +9 -6
  314. data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
  315. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  316. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  317. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  318. data/spec/unit/mixin/securable_spec.rb +0 -1
  319. data/spec/unit/mixin/shell_out_spec.rb +25 -26
  320. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  321. data/spec/unit/mixin/template_spec.rb +30 -30
  322. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  323. data/spec/unit/mixin/uris_spec.rb +1 -1
  324. data/spec/unit/mixin/which.rb +8 -0
  325. data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
  326. data/spec/unit/node/immutable_collections_spec.rb +6 -2
  327. data/spec/unit/node_spec.rb +103 -16
  328. data/spec/unit/property_spec.rb +5 -5
  329. data/spec/unit/provider/batch_spec.rb +1 -1
  330. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  331. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  332. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  333. data/spec/unit/provider/execute_spec.rb +1 -8
  334. data/spec/unit/provider/git_spec.rb +3 -3
  335. data/spec/unit/provider/ifconfig_spec.rb +0 -1
  336. data/spec/unit/provider/mdadm_spec.rb +1 -3
  337. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  338. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  339. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  340. data/spec/unit/provider/package/rubygems_spec.rb +5 -10
  341. data/spec/unit/provider/package/smartos_spec.rb +1 -1
  342. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  343. data/spec/unit/provider/package/windows_spec.rb +30 -53
  344. data/spec/unit/provider/powershell_script_spec.rb +11 -4
  345. data/spec/unit/provider/remote_directory_spec.rb +9 -9
  346. data/spec/unit/provider/service/arch_service_spec.rb +3 -2
  347. data/spec/unit/provider/service/debian_service_spec.rb +1 -1
  348. data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
  349. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  350. data/spec/unit/provider/service/redhat_spec.rb +3 -3
  351. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  352. data/spec/unit/provider/service/windows_spec.rb +2 -6
  353. data/spec/unit/provider/systemd_unit_spec.rb +28 -24
  354. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  355. data/spec/unit/provider/windows_env_spec.rb +5 -4
  356. data/spec/unit/provider_resolver_spec.rb +6 -6
  357. data/spec/unit/provider_spec.rb +1 -0
  358. data/spec/unit/resource/batch_spec.rb +6 -6
  359. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  360. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  361. data/spec/unit/resource/execute_spec.rb +123 -118
  362. data/spec/unit/resource/file/verification_spec.rb +2 -1
  363. data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
  364. data/spec/unit/resource/osx_profile_spec.rb +233 -0
  365. data/spec/unit/resource/powershell_script_spec.rb +11 -29
  366. data/spec/unit/resource/script_spec.rb +6 -1
  367. data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
  368. data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
  369. data/spec/unit/resource/windows_package_spec.rb +1 -0
  370. data/spec/unit/resource_reporter_spec.rb +1 -1
  371. data/spec/unit/resource_spec.rb +25 -8
  372. data/spec/unit/role_spec.rb +30 -28
  373. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  374. data/spec/unit/run_lock_spec.rb +1 -1
  375. data/spec/unit/scan_access_control_spec.rb +1 -1
  376. data/spec/unit/server_api_spec.rb +43 -16
  377. data/spec/unit/util/backup_spec.rb +1 -1
  378. data/spec/unit/util/diff_spec.rb +1 -15
  379. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  380. data/spec/unit/util/selinux_spec.rb +2 -1
  381. data/spec/unit/win32/security_spec.rb +4 -3
  382. data/tasks/rspec.rb +1 -1
  383. metadata +45 -24
  384. data/lib/chef/provider/osx_profile.rb +0 -255
  385. data/spec/unit/provider/osx_profile_spec.rb +0 -255
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6996ed71a2c95519f3ec64ba83fec62bacb6944505504bb8fdd126e4a2f312a5
4
- data.tar.gz: ecee3228486fa1cd0618eee10c7e77eac2f1a787e8f601f15391e5dca152e70c
3
+ metadata.gz: 5cd173a8bc2e595b0c39776bd219be73951547e20a8ea7ca42e10ab9f4caf301
4
+ data.tar.gz: 8868bce6fe0f624417e2b431bdd0bd160b7747f1801ce93a2ab73b9225c210dc
5
5
  SHA512:
6
- metadata.gz: 5f622f40caea4d2fc817252c71918a5bdbc3bb66fb6afd18225c2a65cf29fd12b9449422ea7932f32b56dd66937a8b48d52f4fa37cdb80c831a5305005df50cd
7
- data.tar.gz: 58de487e3f809781ea7ce1a9abebaf101f96598aaf1ad6175e28d10a7ca351bccf279fba12b943a232410565e2b36719c34c9bed3055f2b7e39ccc9efd4815a4
6
+ metadata.gz: 2880171bce3ce18571abc3142417189f5a31f768adfa4654a1d7b3bf7acdee3483032bd0b5da61e895cb3c1613cccbf95edd76788a44bc2290fe0e4c6823534b
7
+ data.tar.gz: c1d9c41879c5db64c0d104cc41ceb8c3c97a7188d6d2f11333ef33b06ec4574833e586a507c5f1dbbf3c0da43f6df97e462c1c54983cccabdba98075437425f5
data/Gemfile CHANGED
@@ -9,12 +9,12 @@ gem "chef", path: "."
9
9
 
10
10
  gem "ohai", git: "https://github.com/chef/ohai.git", branch: "master"
11
11
 
12
- gem "chef-utils", path: File.expand_path("../chef-utils", __FILE__) if File.exist?(File.expand_path("../chef-utils", __FILE__))
13
- gem "chef-config", path: File.expand_path("../chef-config", __FILE__) if File.exist?(File.expand_path("../chef-config", __FILE__))
12
+ gem "chef-utils", path: File.expand_path("chef-utils", __dir__) if File.exist?(File.expand_path("chef-utils", __dir__))
13
+ gem "chef-config", path: File.expand_path("chef-config", __dir__) if File.exist?(File.expand_path("chef-config", __dir__))
14
14
 
15
- if File.exist?(File.expand_path("../chef-bin", __FILE__))
15
+ if File.exist?(File.expand_path("chef-bin", __dir__))
16
16
  # bundling in a git checkout
17
- gem "chef-bin", path: File.expand_path("../chef-bin", __FILE__)
17
+ gem "chef-bin", path: File.expand_path("chef-bin", __dir__)
18
18
  else
19
19
  # bundling in omnibus
20
20
  gem "chef-bin" # rubocop:disable Bundler/DuplicatedGem
data/Rakefile CHANGED
@@ -18,13 +18,14 @@
18
18
  #
19
19
 
20
20
  # we need this to resolve files required by lib/chef/dist
21
- $LOAD_PATH.unshift(File.expand_path("../chef-config/lib", __FILE__))
21
+ $LOAD_PATH.unshift(File.expand_path("chef-config/lib", __dir__))
22
22
 
23
23
  begin
24
24
  require_relative "tasks/rspec"
25
25
  require_relative "tasks/dependencies"
26
26
  require_relative "tasks/announce"
27
27
  require_relative "tasks/docs"
28
+ require_relative "tasks/spellcheck"
28
29
  require_relative "lib/chef/dist"
29
30
  rescue LoadError => e
30
31
  puts "Skipping missing rake dep: #{e}"
@@ -107,18 +108,4 @@ begin
107
108
  end
108
109
  rescue LoadError
109
110
  puts "yard is not available. bundle install first to make sure all dependencies are installed."
110
- end
111
-
112
- namespace :spellcheck do
113
- task :run do
114
- sh 'cspell "**/*"'
115
- end
116
-
117
- desc "List the unique unrecognized words in the project."
118
- task :unknown_words do
119
- sh 'cspell "**/*" --wordsOnly --no-summary | sort | uniq'
120
- end
121
- end
122
-
123
- desc "Run spellcheck on the project."
124
- task spellcheck: "spellcheck:run"
111
+ end
@@ -1,9 +1,8 @@
1
- gemspec = eval(IO.read(File.expand_path("../chef.gemspec", __FILE__)))
1
+ gemspec = eval(IO.read(File.expand_path("chef.gemspec", __dir__)))
2
2
 
3
3
  gemspec.platform = Gem::Platform.new(%w{universal mingw32})
4
4
 
5
5
  gemspec.add_dependency "win32-api", "~> 1.5.3"
6
- gemspec.add_dependency "win32-dir", "~> 0.5.0"
7
6
  gemspec.add_dependency "win32-event", "~> 0.6.1"
8
7
  # TODO: Relax this pin and make the necessary updaets. The issue originally
9
8
  # leading to this pin has been fixed in 0.6.5.
@@ -14,7 +13,7 @@ gemspec.add_dependency "win32-process", "~> 0.8.2"
14
13
  gemspec.add_dependency "win32-service", ">= 2.1.5", "< 3.0"
15
14
  gemspec.add_dependency "wmi-lite", "~> 1.0"
16
15
  gemspec.add_dependency "win32-taskscheduler", "~> 2.0"
17
- gemspec.add_dependency "iso8601", "~> 0.12.1"
16
+ gemspec.add_dependency "iso8601", ">= 0.12.1", "< 0.14" # validate 0.14 when it comes out
18
17
  gemspec.add_dependency "win32-certstore", "~> 0.3"
19
18
  gemspec.extensions << "ext/win32-eventlog/Rakefile"
20
19
  gemspec.files += Dir.glob("{distro,ext}/**/*")
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_dependency "mixlib-cli", ">= 2.1.1", "< 3.0"
25
25
  s.add_dependency "mixlib-log", ">= 2.0.3", "< 4.0"
26
26
  s.add_dependency "mixlib-authentication", ">= 2.1", "< 4"
27
- s.add_dependency "mixlib-shellout", ">= 3.0.3", "< 4.0"
27
+ s.add_dependency "mixlib-shellout", ">= 3.1.1", "< 4.0"
28
28
  s.add_dependency "mixlib-archive", ">= 0.4", "< 2.0"
29
29
  s.add_dependency "ohai", "~> 16.0"
30
30
 
@@ -36,11 +36,12 @@ Gem::Specification.new do |s|
36
36
  s.add_dependency "ed25519", "~> 1.2" # ed25519 ssh key support
37
37
  s.add_dependency "bcrypt_pbkdf", "= 1.1.0.rc1" # ed25519 ssh key support
38
38
  s.add_dependency "highline", ">= 1.6.9", "< 3"
39
+ s.add_dependency "tty-prompt", "~> 0.21" # knife ui.ask prompt
39
40
  s.add_dependency "tty-screen", "~> 0.6" # knife list
40
41
  s.add_dependency "pastel" # knife ui.color
41
42
  s.add_dependency "erubis", "~> 2.7"
42
- s.add_dependency "diff-lcs", "~> 1.2", ">= 1.2.4"
43
- s.add_dependency "ffi-libarchive"
43
+ s.add_dependency "diff-lcs", ">= 1.2.4", "< 1.4.0" # 1.4 breaks output
44
+ s.add_dependency "ffi-libarchive", "~> 1.0", ">= 1.0.3"
44
45
  s.add_dependency "chef-zero", ">= 14.0.11"
45
46
  s.add_dependency "chef-vault"
46
47
 
@@ -44,6 +44,9 @@ class Chef
44
44
  # @return [Exception] The exception that was thrown
45
45
  attr_accessor :exception
46
46
 
47
+ # @return [Hash] JSON-formatted error description from the Chef::Formatters::ErrorMapper
48
+ attr_accessor :error_description
49
+
47
50
  # @return [Numeric] The elapsed time in seconds with machine precision
48
51
  attr_accessor :elapsed_time
49
52
 
@@ -223,6 +226,7 @@ class Chef
223
226
 
224
227
  current_record.status = :failed
225
228
  current_record.exception = exception
229
+ current_record.error_description = Formatters::ErrorMapper.resource_failed(new_resource, action, exception).for_json
226
230
  end
227
231
 
228
232
  # Hook called after an action is completed. This is always called, even if the action fails.
@@ -72,14 +72,14 @@ class Chef
72
72
 
73
73
  def assert_destination_writable!
74
74
  abs_path = File.expand_path(destination)
75
- unless File.exists?(File.dirname(abs_path))
75
+ unless File.exist?(File.dirname(abs_path))
76
76
  begin
77
77
  FileUtils.mkdir_p(File.dirname(abs_path))
78
78
  rescue Errno::EACCES
79
79
  raise Chef::Exceptions::CannotWritePrivateKey, "I can't create the configuration directory at #{File.dirname(abs_path)} - check permissions?"
80
80
  end
81
81
  end
82
- if (File.exists?(abs_path) && !File.writable?(abs_path)) || !File.writable?(File.dirname(abs_path))
82
+ if (File.exist?(abs_path) && !File.writable?(abs_path)) || !File.writable?(File.dirname(abs_path))
83
83
  raise Chef::Exceptions::CannotWritePrivateKey, "I can't write your private key to #{abs_path} - check permissions?"
84
84
  end
85
85
  end
@@ -157,12 +157,12 @@ class Chef
157
157
  end
158
158
 
159
159
  def http_api
160
- @http_api ||= Chef::ServerAPI.new(Chef::Config[:chef_server_url],
161
- {
162
- api_version: "0",
163
- client_name: Chef::Config[:validation_client_name],
164
- signing_key_filename: Chef::Config[:validation_key],
165
- })
160
+ options = {}
161
+ options[:api_version] = "0"
162
+ options[:client_name] = Chef::Config[:validation_client_name]
163
+ options[:raw_key] = Chef::Config[:validation_key_contents]
164
+ options[:signing_key_filename] = Chef::Config[:validation_key] unless options[:raw_key]
165
+ @http_api ||= Chef::ServerAPI.new(Chef::Config[:chef_server_url], options)
166
166
  end
167
167
 
168
168
  # Whether or not to generate keys locally and post the public key to the
@@ -19,13 +19,14 @@
19
19
  require "pp" unless defined?(PP)
20
20
  require "socket" unless defined?(Socket)
21
21
  require_relative "config"
22
+ require "chef-config/mixin/chef_cloud"
22
23
  require_relative "exceptions"
23
24
  require_relative "local_mode"
24
25
  require_relative "log"
25
26
  require_relative "platform"
26
27
  require "mixlib/cli" unless defined?(Mixlib::CLI)
27
28
  require "tmpdir" unless defined?(Dir.mktmpdir)
28
- require "rbconfig"
29
+ require "rbconfig" unless defined?(RbConfig)
29
30
  require_relative "application/exit_code"
30
31
  require_relative "dist"
31
32
  require "license_acceptance/acceptor"
@@ -136,6 +137,10 @@ class Chef
136
137
 
137
138
  if config[:config_file].nil?
138
139
  logger.warn("No config file found or specified on command line. Using command line options instead.")
140
+ elsif ChefConfig::Mixin::ChefCloud.cloud_config?
141
+ logger.warn("*****************************************")
142
+ logger.warn("Found Chef Cloud configuration. Overriding local values from cloud.")
143
+ logger.warn("*****************************************")
139
144
  elsif config_fetcher.config_missing?
140
145
  logger.warn("*****************************************")
141
146
  logger.warn("Did not find config file: #{config[:config_file]}. Using command line options instead.")
@@ -194,8 +199,10 @@ class Chef
194
199
  chef_config[:log_location].map! do |log_location|
195
200
  case log_location
196
201
  when :syslog, "syslog"
202
+ force_force_logger
197
203
  logger::Syslog.new
198
204
  when :win_evt, "win_evt"
205
+ force_force_logger
199
206
  logger::WinEvt.new
200
207
  else
201
208
  # should be a path or STDOUT
@@ -204,6 +211,16 @@ class Chef
204
211
  end
205
212
  end
206
213
 
214
+ # Force the logger by default for the :winevt and :syslog loggers. Since we do not and cannot
215
+ # support multiple log levels in a mix-and-match situation with formatters and loggers, and the
216
+ # formatters do not support syslog, we force the formatter off by default and the log level is
217
+ # thus info by default. Users can add `--force-formatter -l info` to get back formatter output
218
+ # on STDOUT along with syslog logging.
219
+ #
220
+ def force_force_logger
221
+ chef_config[:force_logger] = true unless chef_config[:force_formatter]
222
+ end
223
+
207
224
  # Use of output formatters is assumed if `force_formatter` is set or if `force_logger` is not set
208
225
  def using_output_formatter?
209
226
  chef_config[:force_formatter] || !chef_config[:force_logger]
@@ -21,6 +21,7 @@ require_relative "../../chef"
21
21
  require_relative "../application"
22
22
  require_relative "../client"
23
23
  require_relative "../config"
24
+ require_relative "../config_fetcher"
24
25
  require_relative "../log"
25
26
  require "fileutils" unless defined?(FileUtils)
26
27
  require "tempfile" unless defined?(Tempfile)
@@ -212,11 +213,11 @@ class Chef::Application::Apply < Chef::Application
212
213
  end
213
214
  runner = Chef::Runner.new(run_context)
214
215
  catch(:end_client_run_early) do
215
- begin
216
- runner.converge
217
- ensure
218
- @recipe_fh.close
219
- end
216
+
217
+ runner.converge
218
+ ensure
219
+ @recipe_fh.close
220
+
220
221
  end
221
222
  Chef::Platform::Rebooter.reboot_if_needed!(runner)
222
223
  end
@@ -22,6 +22,7 @@ require_relative "../mixin/shell_out"
22
22
  require_relative "../config_fetcher"
23
23
  require_relative "../dist"
24
24
  require_relative "../daemon"
25
+ require "chef-config/mixin/chef_cloud"
25
26
  require "chef-config/mixin/dot_d"
26
27
  require "license_acceptance/cli_flags/mixlib_cli"
27
28
  require "mixlib/archive" unless defined?(Mixlib::Archive)
@@ -39,6 +40,7 @@ require "mixlib/archive" unless defined?(Mixlib::Archive)
39
40
  #
40
41
  class Chef::Application::Base < Chef::Application
41
42
  include Chef::Mixin::ShellOut
43
+ include ChefConfig::Mixin::ChefCloud
42
44
  include ChefConfig::Mixin::DotD
43
45
  include LicenseAcceptance::CLIFlags::MixlibCLI
44
46
 
@@ -156,6 +156,9 @@ class Chef::Application::Client < Chef::Application::Base
156
156
 
157
157
  # Load all config files in client.d
158
158
  load_dot_d(Chef::Config[:client_d_dir]) if Chef::Config[:client_d_dir]
159
+
160
+ # Load cloud config if present
161
+ load_cloud_config
159
162
  end
160
163
 
161
164
  def configure_logging
@@ -78,33 +78,33 @@ class Chef
78
78
  while running?
79
79
  # Grab the service_action_mutex to make a chef-client run
80
80
  @service_action_mutex.synchronize do
81
- begin
82
- Chef::Log.info("Next #{Chef::Dist::CLIENT} run will happen in #{timeout} seconds")
83
- @service_signal.wait(@service_action_mutex, timeout)
84
-
85
- # Continue only if service is RUNNING
86
- next if state != RUNNING
87
-
88
- # Reconfigure each time through to pick up any changes in the client file
89
- Chef::Log.info("Reconfiguring with startup parameters")
90
- reconfigure(startup_parameters)
91
- timeout = Chef::Config[:interval]
92
-
93
- # Honor splay sleep config
94
- timeout += rand Chef::Config[:splay]
95
-
96
- # run chef-client only if service is in RUNNING state
97
- next if state != RUNNING
98
-
99
- Chef::Log.info("#{Chef::Dist::CLIENT} service is starting a #{Chef::Dist::CLIENT} run...")
100
- run_chef_client
101
- rescue SystemExit => e
102
- # Do not raise any of the errors here in order to
103
- # prevent service crash
104
- Chef::Log.error("#{e.class}: #{e}")
105
- rescue Exception => e
106
- Chef::Log.error("#{e.class}: #{e}")
107
- end
81
+
82
+ Chef::Log.info("Next #{Chef::Dist::CLIENT} run will happen in #{timeout} seconds")
83
+ @service_signal.wait(@service_action_mutex, timeout)
84
+
85
+ # Continue only if service is RUNNING
86
+ next if state != RUNNING
87
+
88
+ # Reconfigure each time through to pick up any changes in the client file
89
+ Chef::Log.info("Reconfiguring with startup parameters")
90
+ reconfigure(startup_parameters)
91
+ timeout = Chef::Config[:interval]
92
+
93
+ # Honor splay sleep config
94
+ timeout += rand Chef::Config[:splay]
95
+
96
+ # run chef-client only if service is in RUNNING state
97
+ next if state != RUNNING
98
+
99
+ Chef::Log.info("#{Chef::Dist::CLIENT} service is starting a #{Chef::Dist::CLIENT} run...")
100
+ run_chef_client
101
+ rescue SystemExit => e
102
+ # Do not raise any of the errors here in order to
103
+ # prevent service crash
104
+ Chef::Log.error("#{e.class}: #{e}")
105
+ rescue Exception => e
106
+ Chef::Log.error("#{e.class}: #{e}")
107
+
108
108
  end
109
109
  end
110
110
 
@@ -2,14 +2,14 @@
2
2
  require_relative "exceptions"
3
3
 
4
4
  class Chef
5
- class Whitelist
5
+ class AttributeAllowlist
6
6
 
7
- # filter takes two arguments - the data you want to filter, and a whitelisted array
8
- # of keys you want included. You can capture a subtree of the data to filter by
7
+ # filter takes two arguments - the data you want to filter, and an array of
8
+ # keys you want included. You can capture a subtree of the data to filter by
9
9
  # providing a "/"-delimited string of keys. If some key includes "/"-characters,
10
10
  # you must provide an array of keys instead.
11
11
  #
12
- # Whitelist.filter(
12
+ # AttributeAllowlist.filter(
13
13
  # { "filesystem" => {
14
14
  # "/dev/disk" => {
15
15
  # "size" => "10mb"
@@ -27,18 +27,18 @@ class Chef
27
27
  # },
28
28
  # ["network/interfaces/eth0", ["filesystem", "/dev/disk"]])
29
29
  # will capture the eth0 and /dev/disk subtrees.
30
- def self.filter(data, whitelist = nil)
31
- return data if whitelist.nil?
30
+ def self.filter(data, allowlist = nil)
31
+ return data if allowlist.nil?
32
32
 
33
33
  new_data = {}
34
- whitelist.each do |item|
34
+ allowlist.each do |item|
35
35
  add_data(data, new_data, item)
36
36
  end
37
37
  new_data
38
38
  end
39
39
 
40
- # Walk the data has according to the keys provided by the whitelisted item
41
- # and add the data to the whitelisting result.
40
+ # Walk the data has according to the keys provided by the allowlisted item
41
+ # and add the data to the allowlisting result.
42
42
  def self.add_data(data, new_data, item)
43
43
  parts = to_array(item)
44
44
 
@@ -46,7 +46,7 @@ class Chef
46
46
  filtered_data = new_data
47
47
  parts[0..-2].each do |part|
48
48
  unless all_data.key?(part)
49
- Chef::Log.warn("Could not find whitelist attribute #{item}.")
49
+ Chef::Log.warn("Could not find allowlist attribute #{item}.")
50
50
  return nil
51
51
  end
52
52
 
@@ -58,7 +58,7 @@ class Chef
58
58
  # Note: You can't do all_data[parts[-1]] here because the value
59
59
  # may be false-y
60
60
  unless all_data.key?(parts[-1])
61
- Chef::Log.warn("Could not find whitelist attribute #{item}.")
61
+ Chef::Log.warn("Could not find allowlist attribute #{item}.")
62
62
  return nil
63
63
  end
64
64
 
@@ -2,14 +2,14 @@
2
2
  require_relative "exceptions"
3
3
 
4
4
  class Chef
5
- class Blacklist
5
+ class AttributeBlocklist
6
6
 
7
- # filter takes two arguments - the data you want to filter, and a blacklisted array
7
+ # filter takes two arguments - the data you want to filter, and an array
8
8
  # of keys you want discarded. You can capture a subtree of the data to filter by
9
9
  # providing a "/"-delimited string of keys. If some key includes "/"-characters,
10
10
  # you must provide an array of keys instead.
11
11
  #
12
- # Blacklist.filter(
12
+ # AttributeBlocklist.filter(
13
13
  # { "filesystem" => {
14
14
  # "/dev/disk" => {
15
15
  # "size" => "10mb"
@@ -27,17 +27,17 @@ class Chef
27
27
  # },
28
28
  # ["network/interfaces/eth0", ["filesystem", "/dev/disk"]])
29
29
  # will exclude the eth0 and /dev/disk subtrees.
30
- def self.filter(data, blacklist = nil)
31
- return data if blacklist.nil?
30
+ def self.filter(data, blocklist = nil)
31
+ return data if blocklist.nil?
32
32
 
33
- blacklist.each do |item|
33
+ blocklist.each do |item|
34
34
  Chef::Log.warn("Removing item #{item}")
35
35
  remove_data(data, item)
36
36
  end
37
37
  data
38
38
  end
39
39
 
40
- # Walk the data according to the keys provided by the blacklisted item
40
+ # Walk the data according to the keys provided by the blocklisted item
41
41
  # to get a reference to the item that will be removed.
42
42
  def self.remove_data(data, item)
43
43
  parts = to_array(item)
@@ -45,7 +45,7 @@ class Chef
45
45
  item_ref = data
46
46
  parts[0..-2].each do |part|
47
47
  unless item_ref[part]
48
- Chef::Log.warn("Could not find blacklist attribute #{item}.")
48
+ Chef::Log.warn("Could not find blocklist attribute #{item}.")
49
49
  return nil
50
50
  end
51
51
 
@@ -53,7 +53,7 @@ class Chef
53
53
  end
54
54
 
55
55
  unless item_ref.key?(parts[-1])
56
- Chef::Log.warn("Could not find blacklist attribute #{item}.")
56
+ Chef::Log.warn("Could not find blocklist attribute #{item}.")
57
57
  return nil
58
58
  end
59
59