chef 14.14.29 → 14.15.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (367) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +18 -7
  4. data/Rakefile +7 -4
  5. data/chef.gemspec +1 -1
  6. data/lib/chef/knife/ssh.rb +6 -0
  7. data/lib/chef/provider/ifconfig.rb +14 -5
  8. data/lib/chef/provider/windows_task.rb +9 -5
  9. data/lib/chef/resource/kernel_module.rb +61 -0
  10. data/lib/chef/resource/windows_task.rb +4 -0
  11. data/lib/chef/version.rb +1 -1
  12. data/lib/chef/win32/system.rb +0 -0
  13. data/spec/data/cookbooks/openldap/metadata.rb +2 -2
  14. data/spec/data/metadata/quick_start/metadata.rb +2 -7
  15. data/spec/functional/audit/runner_spec.rb +1 -1
  16. data/spec/functional/dsl/reboot_pending_spec.rb +7 -25
  17. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
  18. data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
  19. data/spec/functional/knife/exec_spec.rb +1 -1
  20. data/spec/functional/knife/ssh_spec.rb +3 -3
  21. data/spec/functional/mixin/user_context_spec.rb +3 -1
  22. data/spec/functional/rebooter_spec.rb +1 -1
  23. data/spec/functional/resource/aix_service_spec.rb +1 -1
  24. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  25. data/spec/functional/resource/apt_package_spec.rb +1 -1
  26. data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
  27. data/spec/functional/resource/cookbook_file_spec.rb +1 -3
  28. data/spec/functional/resource/cron_spec.rb +4 -3
  29. data/spec/functional/resource/dpkg_package_spec.rb +4 -4
  30. data/spec/functional/resource/dsc_resource_spec.rb +2 -1
  31. data/spec/functional/resource/dsc_script_spec.rb +16 -20
  32. data/spec/functional/resource/execute_spec.rb +2 -2
  33. data/spec/functional/resource/git_spec.rb +6 -6
  34. data/spec/functional/resource/group_spec.rb +8 -6
  35. data/spec/functional/resource/ifconfig_spec.rb +3 -5
  36. data/spec/functional/resource/link_spec.rb +2 -2
  37. data/spec/functional/resource/mount_spec.rb +3 -7
  38. data/spec/functional/resource/powershell_script_spec.rb +9 -8
  39. data/spec/functional/resource/reboot_spec.rb +1 -1
  40. data/spec/functional/resource/remote_file_spec.rb +2 -2
  41. data/spec/functional/resource/template_spec.rb +1 -1
  42. data/spec/functional/resource/user/windows_spec.rb +2 -2
  43. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  44. data/spec/functional/resource/windows_service_spec.rb +3 -3
  45. data/spec/functional/resource/windows_task_spec.rb +51 -0
  46. data/spec/functional/run_lock_spec.rb +10 -3
  47. data/spec/functional/shell_spec.rb +1 -1
  48. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  49. data/spec/functional/version_spec.rb +1 -1
  50. data/spec/functional/win32/security_spec.rb +12 -7
  51. data/spec/functional/win32/service_manager_spec.rb +1 -1
  52. data/spec/functional/win32/version_info_spec.rb +4 -4
  53. data/spec/integration/client/client_spec.rb +114 -132
  54. data/spec/integration/client/exit_code_spec.rb +8 -8
  55. data/spec/integration/client/ipv6_spec.rb +5 -5
  56. data/spec/integration/knife/chef_fs_data_store_spec.rb +38 -38
  57. data/spec/integration/knife/chef_repo_path_spec.rb +42 -42
  58. data/spec/integration/knife/chef_repository_file_system_spec.rb +9 -9
  59. data/spec/integration/knife/chefignore_spec.rb +13 -13
  60. data/spec/integration/knife/client_bulk_delete_spec.rb +8 -8
  61. data/spec/integration/knife/client_create_spec.rb +1 -1
  62. data/spec/integration/knife/client_delete_spec.rb +4 -4
  63. data/spec/integration/knife/client_key_delete_spec.rb +1 -1
  64. data/spec/integration/knife/client_key_list_spec.rb +1 -1
  65. data/spec/integration/knife/client_list_spec.rb +1 -1
  66. data/spec/integration/knife/common_options_spec.rb +1 -1
  67. data/spec/integration/knife/config_get_spec.rb +1 -1
  68. data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
  69. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +3 -3
  70. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +3 -3
  71. data/spec/integration/knife/cookbook_download_spec.rb +4 -4
  72. data/spec/integration/knife/cookbook_list_spec.rb +2 -2
  73. data/spec/integration/knife/cookbook_show_spec.rb +3 -3
  74. data/spec/integration/knife/cookbook_upload_spec.rb +6 -6
  75. data/spec/integration/knife/data_bag_delete_spec.rb +4 -4
  76. data/spec/integration/knife/data_bag_from_file_spec.rb +7 -7
  77. data/spec/integration/knife/data_bag_list_spec.rb +1 -1
  78. data/spec/integration/knife/delete_spec.rb +37 -37
  79. data/spec/integration/knife/deps_spec.rb +23 -23
  80. data/spec/integration/knife/diff_spec.rb +23 -23
  81. data/spec/integration/knife/download_spec.rb +79 -79
  82. data/spec/integration/knife/environment_compare_spec.rb +3 -3
  83. data/spec/integration/knife/environment_from_file_spec.rb +6 -6
  84. data/spec/integration/knife/environment_list_spec.rb +1 -1
  85. data/spec/integration/knife/environment_show_spec.rb +4 -4
  86. data/spec/integration/knife/list_spec.rb +25 -25
  87. data/spec/integration/knife/node_bulk_delete_spec.rb +2 -2
  88. data/spec/integration/knife/node_delete_spec.rb +2 -2
  89. data/spec/integration/knife/node_environment_set_spec.rb +1 -1
  90. data/spec/integration/knife/node_from_file_spec.rb +2 -2
  91. data/spec/integration/knife/node_list_spec.rb +1 -1
  92. data/spec/integration/knife/raw_spec.rb +12 -12
  93. data/spec/integration/knife/redirection_spec.rb +1 -1
  94. data/spec/integration/knife/role_bulk_delete_spec.rb +2 -2
  95. data/spec/integration/knife/role_delete_spec.rb +2 -2
  96. data/spec/integration/knife/role_from_file_spec.rb +5 -5
  97. data/spec/integration/knife/role_list_spec.rb +1 -1
  98. data/spec/integration/knife/role_show_spec.rb +1 -1
  99. data/spec/integration/knife/show_spec.rb +10 -10
  100. data/spec/integration/knife/upload_spec.rb +85 -85
  101. data/spec/integration/recipes/accumulator_spec.rb +4 -4
  102. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +6 -6
  103. data/spec/integration/recipes/lwrp_spec.rb +6 -6
  104. data/spec/integration/recipes/notifies_spec.rb +45 -45
  105. data/spec/integration/recipes/notifying_block_spec.rb +4 -4
  106. data/spec/integration/recipes/provider_choice.rb +1 -2
  107. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  108. data/spec/integration/recipes/remote_directory.rb +2 -2
  109. data/spec/integration/recipes/resource_action_spec.rb +1 -1
  110. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +19 -19
  111. data/spec/integration/solo/solo_spec.rb +29 -29
  112. data/spec/scripts/ssl-serve.rb +1 -1
  113. data/spec/spec_helper.rb +11 -14
  114. data/spec/stress/win32/security_spec.rb +1 -1
  115. data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
  116. data/spec/support/lib/chef/resource/zen_master.rb +1 -1
  117. data/spec/support/mock/platform.rb +2 -2
  118. data/spec/support/platform_helpers.rb +12 -3
  119. data/spec/support/platforms/win32/spec_service.rb +6 -10
  120. data/spec/support/shared/context/client.rb +2 -1
  121. data/spec/support/shared/functional/execute_resource.rb +4 -4
  122. data/spec/support/shared/functional/file_resource.rb +1 -3
  123. data/spec/support/shared/functional/http.rb +20 -44
  124. data/spec/support/shared/functional/securable_resource.rb +4 -8
  125. data/spec/support/shared/functional/win32_service.rb +1 -1
  126. data/spec/support/shared/functional/windows_script.rb +2 -1
  127. data/spec/support/shared/integration/app_server_support.rb +3 -4
  128. data/spec/support/shared/integration/integration_helper.rb +1 -0
  129. data/spec/support/shared/integration/knife_support.rb +5 -5
  130. data/spec/support/shared/unit/application_dot_d.rb +10 -4
  131. data/spec/support/shared/unit/file_system_support.rb +3 -2
  132. data/spec/support/shared/unit/platform_introspector.rb +12 -12
  133. data/spec/support/shared/unit/provider/file.rb +1 -1
  134. data/spec/support/shared/unit/script_resource.rb +1 -1
  135. data/spec/support/shared/unit/windows_script_resource.rb +1 -1
  136. data/spec/tiny_server.rb +1 -1
  137. data/spec/unit/api_client/registration_spec.rb +1 -1
  138. data/spec/unit/api_client_spec.rb +5 -5
  139. data/spec/unit/api_client_v1_spec.rb +6 -6
  140. data/spec/unit/application/client_spec.rb +8 -8
  141. data/spec/unit/application/exit_code_spec.rb +3 -2
  142. data/spec/unit/application/knife_spec.rb +1 -2
  143. data/spec/unit/audit/audit_event_proxy_spec.rb +14 -7
  144. data/spec/unit/audit/audit_reporter_spec.rb +20 -11
  145. data/spec/unit/audit/control_group_data_spec.rb +17 -12
  146. data/spec/unit/chef_fs/config_spec.rb +3 -3
  147. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  148. data/spec/unit/chef_fs/parallelizer.rb +1 -1
  149. data/spec/unit/client_spec.rb +3 -3
  150. data/spec/unit/config_fetcher_spec.rb +1 -1
  151. data/spec/unit/cookbook/metadata_spec.rb +13 -13
  152. data/spec/unit/cookbook/synchronizer_spec.rb +6 -6
  153. data/spec/unit/cookbook_loader_spec.rb +17 -17
  154. data/spec/unit/cookbook_manifest_spec.rb +9 -9
  155. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
  156. data/spec/unit/cookbook_uploader_spec.rb +2 -2
  157. data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
  158. data/spec/unit/cookbook_version_spec.rb +2 -2
  159. data/spec/unit/data_bag_item_spec.rb +7 -7
  160. data/spec/unit/data_bag_spec.rb +1 -1
  161. data/spec/unit/data_collector_spec.rb +23 -23
  162. data/spec/unit/decorator_spec.rb +2 -2
  163. data/spec/unit/deprecated_spec.rb +2 -2
  164. data/spec/unit/dsl/data_query_spec.rb +3 -2
  165. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  166. data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
  167. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
  168. data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
  169. data/spec/unit/environment_spec.rb +13 -13
  170. data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
  171. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  172. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
  173. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
  174. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
  175. data/spec/unit/http/authenticator_spec.rb +4 -3
  176. data/spec/unit/http/json_input_spec.rb +1 -1
  177. data/spec/unit/http/socketless_chef_zero_client_spec.rb +15 -15
  178. data/spec/unit/key_spec.rb +8 -8
  179. data/spec/unit/knife/bootstrap_spec.rb +14 -10
  180. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  181. data/spec/unit/knife/configure_client_spec.rb +1 -1
  182. data/spec/unit/knife/configure_spec.rb +1 -1
  183. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  184. data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
  185. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  186. data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
  187. data/spec/unit/knife/cookbook_upload_spec.rb +7 -5
  188. data/spec/unit/knife/core/bootstrap_context_spec.rb +1 -1
  189. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +2 -2
  190. data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
  191. data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
  192. data/spec/unit/knife/core/node_editor_spec.rb +12 -12
  193. data/spec/unit/knife/core/ui_spec.rb +11 -11
  194. data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
  195. data/spec/unit/knife/data_bag_show_spec.rb +2 -1
  196. data/spec/unit/knife/key_create_spec.rb +1 -1
  197. data/spec/unit/knife/key_delete_spec.rb +3 -3
  198. data/spec/unit/knife/key_edit_spec.rb +4 -4
  199. data/spec/unit/knife/key_list_spec.rb +1 -1
  200. data/spec/unit/knife/key_show_spec.rb +3 -3
  201. data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
  202. data/spec/unit/knife/node_delete_spec.rb +2 -2
  203. data/spec/unit/knife/node_edit_spec.rb +1 -1
  204. data/spec/unit/knife/node_environment_set_spec.rb +1 -1
  205. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  206. data/spec/unit/knife/node_policy_set_spec.rb +1 -1
  207. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  208. data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
  209. data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
  210. data/spec/unit/knife/node_show_spec.rb +1 -1
  211. data/spec/unit/knife/raw_spec.rb +2 -2
  212. data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
  213. data/spec/unit/knife/role_create_spec.rb +1 -1
  214. data/spec/unit/knife/role_delete_spec.rb +1 -1
  215. data/spec/unit/knife/role_edit_spec.rb +1 -1
  216. data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
  217. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  218. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  219. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  220. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  221. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  222. data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
  223. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  224. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  225. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  226. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  227. data/spec/unit/knife/ssh_spec.rb +27 -17
  228. data/spec/unit/knife/ssl_check_spec.rb +4 -4
  229. data/spec/unit/knife/ssl_fetch_spec.rb +5 -5
  230. data/spec/unit/knife/status_spec.rb +3 -2
  231. data/spec/unit/knife/supermarket_download_spec.rb +4 -4
  232. data/spec/unit/knife/supermarket_install_spec.rb +5 -4
  233. data/spec/unit/knife/supermarket_share_spec.rb +1 -1
  234. data/spec/unit/knife_spec.rb +34 -33
  235. data/spec/unit/lwrp_spec.rb +19 -19
  236. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  237. data/spec/unit/mixin/params_validate_spec.rb +10 -10
  238. data/spec/unit/mixin/properties_spec.rb +4 -4
  239. data/spec/unit/mixin/shell_out_spec.rb +27 -27
  240. data/spec/unit/mixin/template_spec.rb +4 -8
  241. data/spec/unit/mixin/unformatter_spec.rb +1 -2
  242. data/spec/unit/mixin/user_context_spec.rb +1 -2
  243. data/spec/unit/mixin/which.rb +2 -0
  244. data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
  245. data/spec/unit/node/attribute_spec.rb +79 -79
  246. data/spec/unit/node/immutable_collections_spec.rb +50 -50
  247. data/spec/unit/node_spec.rb +16 -16
  248. data/spec/unit/org_spec.rb +3 -3
  249. data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
  250. data/spec/unit/property/state_spec.rb +26 -25
  251. data/spec/unit/property/validation_spec.rb +14 -13
  252. data/spec/unit/property_spec.rb +10 -9
  253. data/spec/unit/provider/apt_update_spec.rb +6 -6
  254. data/spec/unit/provider/cron_spec.rb +15 -15
  255. data/spec/unit/provider/dsc_resource_spec.rb +6 -3
  256. data/spec/unit/provider/dsc_script_spec.rb +1 -1
  257. data/spec/unit/provider/execute_spec.rb +5 -5
  258. data/spec/unit/provider/git_spec.rb +39 -39
  259. data/spec/unit/provider/group/dscl_spec.rb +3 -3
  260. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  261. data/spec/unit/provider/group_spec.rb +2 -3
  262. data/spec/unit/provider/ifconfig/aix_spec.rb +1 -1
  263. data/spec/unit/provider/ifconfig/debian_spec.rb +2 -2
  264. data/spec/unit/provider/ifconfig_spec.rb +45 -16
  265. data/spec/unit/provider/launchd_spec.rb +23 -15
  266. data/spec/unit/provider/link_spec.rb +22 -11
  267. data/spec/unit/provider/mount/aix_spec.rb +6 -6
  268. data/spec/unit/provider/mount/mount_spec.rb +31 -31
  269. data/spec/unit/provider/mount/solaris_spec.rb +11 -11
  270. data/spec/unit/provider/ohai_spec.rb +1 -1
  271. data/spec/unit/provider/osx_profile_spec.rb +5 -7
  272. data/spec/unit/provider/package/apt_spec.rb +5 -5
  273. data/spec/unit/provider/package/bff_spec.rb +1 -1
  274. data/spec/unit/provider/package/cab_spec.rb +1 -1
  275. data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
  276. data/spec/unit/provider/package/freebsd/pkg_spec.rb +1 -1
  277. data/spec/unit/provider/package/ips_spec.rb +6 -6
  278. data/spec/unit/provider/package/macports_spec.rb +1 -1
  279. data/spec/unit/provider/package/msu_spec.rb +1 -1
  280. data/spec/unit/provider/package/openbsd_spec.rb +15 -11
  281. data/spec/unit/provider/package/pacman_spec.rb +3 -3
  282. data/spec/unit/provider/package/paludis_spec.rb +4 -4
  283. data/spec/unit/provider/package/portage_spec.rb +1 -1
  284. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  285. data/spec/unit/provider/package/smartos_spec.rb +3 -3
  286. data/spec/unit/provider/package/solaris_spec.rb +1 -1
  287. data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
  288. data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
  289. data/spec/unit/provider/package/windows_spec.rb +2 -1
  290. data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
  291. data/spec/unit/provider/package/zypper_spec.rb +4 -4
  292. data/spec/unit/provider/package_spec.rb +1 -1
  293. data/spec/unit/provider/powershell_script_spec.rb +7 -7
  294. data/spec/unit/provider/registry_key_spec.rb +1 -1
  295. data/spec/unit/provider/remote_directory_spec.rb +6 -6
  296. data/spec/unit/provider/route_spec.rb +11 -11
  297. data/spec/unit/provider/service/arch_service_spec.rb +13 -13
  298. data/spec/unit/provider/service/debian_service_spec.rb +2 -1
  299. data/spec/unit/provider/service/freebsd_service_spec.rb +28 -24
  300. data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
  301. data/spec/unit/provider/service/init_service_spec.rb +11 -11
  302. data/spec/unit/provider/service/invokercd_service_spec.rb +11 -11
  303. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  304. data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
  305. data/spec/unit/provider/service/simple_service_spec.rb +7 -7
  306. data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
  307. data/spec/unit/provider/service/windows_spec.rb +53 -35
  308. data/spec/unit/provider/subversion_spec.rb +8 -4
  309. data/spec/unit/provider/systemd_unit_spec.rb +142 -142
  310. data/spec/unit/provider/template/content_spec.rb +29 -29
  311. data/spec/unit/provider/windows_task_spec.rb +1 -1
  312. data/spec/unit/provider_resolver_spec.rb +75 -75
  313. data/spec/unit/provider_spec.rb +2 -4
  314. data/spec/unit/recipe_spec.rb +4 -4
  315. data/spec/unit/resource/batch_spec.rb +1 -1
  316. data/spec/unit/resource/chef_gem_spec.rb +1 -1
  317. data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
  318. data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
  319. data/spec/unit/resource/directory_spec.rb +1 -1
  320. data/spec/unit/resource/dnf_package_spec.rb +1 -1
  321. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  322. data/spec/unit/resource/file/verification_spec.rb +1 -2
  323. data/spec/unit/resource/file_spec.rb +1 -1
  324. data/spec/unit/resource/group_spec.rb +1 -1
  325. data/spec/unit/resource/link_spec.rb +1 -1
  326. data/spec/unit/resource/osx_profile_spec.rb +2 -1
  327. data/spec/unit/resource/powershell_script_spec.rb +12 -7
  328. data/spec/unit/resource/registry_key_spec.rb +3 -3
  329. data/spec/unit/resource/rhsm_subscription_spec.rb +1 -1
  330. data/spec/unit/resource/service_spec.rb +1 -1
  331. data/spec/unit/resource/template_spec.rb +2 -2
  332. data/spec/unit/resource/windows_env_spec.rb +1 -1
  333. data/spec/unit/resource/windows_service_spec.rb +5 -5
  334. data/spec/unit/resource/windows_task_spec.rb +6 -2
  335. data/spec/unit/resource/yum_package_spec.rb +1 -1
  336. data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
  337. data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
  338. data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
  339. data/spec/unit/resource_collection_spec.rb +4 -4
  340. data/spec/unit/resource_definition_spec.rb +2 -2
  341. data/spec/unit/resource_inspector_spec.rb +1 -1
  342. data/spec/unit/resource_reporter_spec.rb +4 -4
  343. data/spec/unit/resource_spec.rb +22 -22
  344. data/spec/unit/role_spec.rb +3 -3
  345. data/spec/unit/run_context/cookbook_compiler_spec.rb +23 -23
  346. data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
  347. data/spec/unit/run_list_spec.rb +1 -1
  348. data/spec/unit/runner_spec.rb +3 -3
  349. data/spec/unit/search/query_spec.rb +3 -2
  350. data/spec/unit/shell/model_wrapper_spec.rb +1 -1
  351. data/spec/unit/shell/shell_session_spec.rb +8 -11
  352. data/spec/unit/shell_spec.rb +1 -2
  353. data/spec/unit/user_spec.rb +4 -4
  354. data/spec/unit/user_v1_spec.rb +3 -3
  355. data/spec/unit/util/backup_spec.rb +1 -1
  356. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +13 -13
  357. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +3 -3
  358. data/spec/unit/util/editor_spec.rb +1 -1
  359. data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
  360. data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
  361. data/spec/unit/version_class_spec.rb +4 -4
  362. data/spec/unit/win32/registry_spec.rb +5 -5
  363. data/spec/unit/win32/security_spec.rb +2 -1
  364. data/tasks/announce.rb +4 -11
  365. metadata +10 -6
  366. data/tasks/maintainers.rb +0 -211
  367. data/tasks/templates/prerelease.md.erb +0 -35
@@ -9,7 +9,7 @@ describe Chef::Util::Editor do
9
9
  end
10
10
 
11
11
  it "makes a copy of an Array" do
12
- array = Array.new
12
+ array = []
13
13
  editor = described_class.new(array)
14
14
  expect(editor.lines).to_not be(array)
15
15
  end
@@ -29,8 +29,9 @@ describe Chef::Util::Powershell::PSCredential do
29
29
  it "should create the script to create a PSCredential when calling" do
30
30
  allow(ps_credential).to receive(:encrypt).with(password).and_return("encrypted")
31
31
  expect(ps_credential.to_psobject).to eq(
32
- "New-Object System.Management.Automation.PSCredential("\
33
- "'#{username}',('encrypted' | ConvertTo-SecureString))")
32
+ "New-Object System.Management.Automation.PSCredential("\
33
+ "'#{username}',('encrypted' | ConvertTo-SecureString))"
34
+ )
34
35
  end
35
36
  end
36
37
 
@@ -22,7 +22,7 @@ describe Chef::Util::ThreadedJobQueue do
22
22
  let(:queue) { Chef::Util::ThreadedJobQueue.new }
23
23
 
24
24
  it "should pass mutex to jobs with an arity of 1" do
25
- job = double()
25
+ job = double
26
26
  expect(job).to receive(:arity).at_least(:once).and_return(1)
27
27
  expect(job).to receive(:call).exactly(5).times.with(an_instance_of(Mutex))
28
28
 
@@ -31,7 +31,7 @@ describe Chef::Util::ThreadedJobQueue do
31
31
  end
32
32
 
33
33
  it "should pass nothing to jobs with an arity of 0" do
34
- job = double()
34
+ job = double
35
35
  expect(job).to receive(:arity).at_least(:once).and_return(0)
36
36
  expect(job).to receive(:call).exactly(5).times.with(no_args)
37
37
 
@@ -105,7 +105,7 @@ describe Chef::Version do
105
105
  a = %w{0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.1.0 1.1.1}.map do |s|
106
106
  Chef::Version.new(s)
107
107
  end
108
- got = a.sort.map { |v| v.to_s }
108
+ got = a.sort.map(&:to_s)
109
109
  expect(got).to eq(%w{0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.1.0 1.1.1})
110
110
  end
111
111
 
@@ -113,7 +113,7 @@ describe Chef::Version do
113
113
  a = %w{9.8.7 1.0.0 1.2.3 4.4.6 4.5.6 0.8.6 4.5.5 5.9.8 3.5.7}.map do |s|
114
114
  Chef::Version.new(s)
115
115
  end
116
- got = a.sort.map { |v| v.to_s }
116
+ got = a.sort.map(&:to_s)
117
117
  expect(got).to eq(%w{0.8.6 1.0.0 1.2.3 3.5.7 4.4.6 4.5.5 4.5.6 5.9.8 9.8.7})
118
118
  end
119
119
 
@@ -160,9 +160,9 @@ describe Chef::Version do
160
160
  [ "1.2.2", :<=, "1.2.1", false ],
161
161
  [ "1.2.2", :<, "1.2.1", false ],
162
162
  ].each do |spec|
163
- it "(#{spec.first(3).join(' ')}) should be #{spec[3]}" do
163
+ it "(#{spec.first(3).join(" ")}) should be #{spec[3]}" do
164
164
  got = Chef::Version.new(spec[0]).send(spec[1],
165
- Chef::Version.new(spec[2]))
165
+ Chef::Version.new(spec[2]))
166
166
  expect(got).to eq(spec[3])
167
167
  end
168
168
  end
@@ -29,7 +29,7 @@ describe Chef::Win32::Registry do
29
29
  let(:key_to_delete) { "OpscodeNumbers" }
30
30
  let(:sub_key) { "OpscodePrimes" }
31
31
  let(:missing_key_path) { 'HKCU\Software' }
32
- let(:registry) { Chef::Win32::Registry.new() }
32
+ let(:registry) { Chef::Win32::Registry.new }
33
33
  let(:hive_mock) { double("::Win32::Registry::KHKEY_CURRENT_USER") }
34
34
  let(:reg_mock) { double("reg") }
35
35
 
@@ -252,7 +252,7 @@ describe Chef::Win32::Registry do
252
252
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
253
253
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
254
254
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
255
- expect(reg_mock).to receive(:each_key).and_return(no_args())
255
+ expect(reg_mock).to receive(:each_key).and_return(no_args)
256
256
  expect(registry.has_subkeys?(key_path)).to eq(false)
257
257
  end
258
258
 
@@ -290,7 +290,7 @@ describe Chef::Win32::Registry do
290
290
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
291
291
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
292
292
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
293
- expect(reg_mock).to receive(:any?).and_yield(no_args())
293
+ expect(reg_mock).to receive(:any?).and_yield(no_args)
294
294
  registry.value_exists?(key_path, value1) == false
295
295
  end
296
296
  end
@@ -305,7 +305,7 @@ describe Chef::Win32::Registry do
305
305
  expect(registry).to receive(:key_exists!).with(key_path).and_return(true)
306
306
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
307
307
  expect(registry).to receive(:get_type_from_name).with(:string).and_return(1)
308
- expect(reg_mock).to receive(:each).with(no_args()).and_yield("one", 1, "1")
308
+ expect(reg_mock).to receive(:each).with(no_args).and_yield("one", 1, "1")
309
309
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
310
310
  expect(registry.data_exists?(key_path, value1)).to eq(true)
311
311
  end
@@ -315,7 +315,7 @@ describe Chef::Win32::Registry do
315
315
  expect(registry).to receive(:get_hive_and_key).with(key_path).and_return([hive_mock, key])
316
316
  expect(hive_mock).to receive(:open).with(key, ::Win32::Registry::KEY_READ | registry.registry_system_architecture).and_yield(reg_mock)
317
317
  expect(registry).to receive(:get_type_from_name).with(:string).and_return(1)
318
- expect(reg_mock).to receive(:each).with(no_args()).and_yield("one", 1, "2")
318
+ expect(reg_mock).to receive(:each).with(no_args).and_yield("one", 1, "2")
319
319
  expect(registry.data_exists?(key_path, value1)).to eq(false)
320
320
  end
321
321
  end
@@ -98,7 +98,8 @@ describe "Chef::Win32::Security", :windows_only do
98
98
  let(:token) do
99
99
  Chef::ReservedNames::Win32::Security.open_process_token(
100
100
  Chef::ReservedNames::Win32::Process.get_current_process,
101
- token_rights)
101
+ token_rights
102
+ )
102
103
  end
103
104
 
104
105
  it "raises error if GetTokenInformation fails" do
data/tasks/announce.rb CHANGED
@@ -41,18 +41,11 @@ class ReleaseAnnouncement
41
41
  end
42
42
 
43
43
  def release_notes_from_file
44
- File.read("RELEASE_NOTES.md").match(/^# Chef Client Release Notes #{@maj_minor}:\n\n(.*)/m)[1]
44
+ File.read("RELEASE_NOTES.md").match(/^# Chef Infra Client Release Notes #{@maj_minor}:\n\n(.*)/m)[1]
45
45
  end
46
46
  end
47
47
 
48
- namespace :announce do
49
- desc "Generate the Prerelease Announcement (version: X.Y.Z, release_date: YYYY-MM-DD)"
50
- task :prerelease, :version, :release_date do |t, args|
51
- ReleaseAnnouncement.new(args[:version], args[:release_date], "prerelease").render
52
- end
53
-
54
- desc "Generate the Release Announcement (version: X.Y.Z)"
55
- task :release, :version do |t, args|
56
- ReleaseAnnouncement.new(args[:version], nil, "release").render
57
- end
48
+ desc "Generate the Release Announcement (version: X.Y.Z)"
49
+ task :announce_release, :version do |t, args|
50
+ ReleaseAnnouncement.new(args[:version], nil, "release").render
58
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.14.29
4
+ version: 14.15.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-05 00:00:00.000000000 Z
11
+ date: 2020-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 14.14.29
19
+ version: 14.15.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 14.14.29
26
+ version: 14.15.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mixlib-cli
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -281,6 +281,9 @@ dependencies:
281
281
  - - ">="
282
282
  - !ruby/object:Gem::Version
283
283
  version: '13.0'
284
+ - - "<"
285
+ - !ruby/object:Gem::Version
286
+ version: '15.0'
284
287
  type: :runtime
285
288
  prerelease: false
286
289
  version_requirements: !ruby/object:Gem::Requirement
@@ -288,6 +291,9 @@ dependencies:
288
291
  - - ">="
289
292
  - !ruby/object:Gem::Version
290
293
  version: '13.0'
294
+ - - "<"
295
+ - !ruby/object:Gem::Version
296
+ version: '15.0'
291
297
  - !ruby/object:Gem::Dependency
292
298
  name: plist
293
299
  requirement: !ruby/object:Gem::Requirement
@@ -2551,9 +2557,7 @@ files:
2551
2557
  - tasks/announce.rb
2552
2558
  - tasks/bin/run_external_test
2553
2559
  - tasks/dependencies.rb
2554
- - tasks/maintainers.rb
2555
2560
  - tasks/rspec.rb
2556
- - tasks/templates/prerelease.md.erb
2557
2561
  - tasks/templates/release.md.erb
2558
2562
  homepage: https://www.chef.io
2559
2563
  licenses:
data/tasks/maintainers.rb DELETED
@@ -1,211 +0,0 @@
1
- #
2
- # Copyright:: Copyright 2015-2018, Chef Software Inc.
3
- # License:: Apache License, Version 2.0
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
- #
17
-
18
- require "rake"
19
-
20
- SOURCE = File.join(File.dirname(__FILE__), "..", "MAINTAINERS.toml")
21
- TARGET = File.join(File.dirname(__FILE__), "..", "MAINTAINERS.md")
22
-
23
- # The list of repositories that teams should own
24
- REPOSITORIES = ["chef/chef", "chef/chef-dk", "chef/chef-census", "chef/chef-repo",
25
- "chef/client-docs", "chef/ffi-yajl", "chef/libyajl2-gem",
26
- "chef/mixlib-authentication", "chef/mixlib-cli",
27
- "chef/mixlib-config", "chef/mixlib-install", "chef/mixlib-log",
28
- "chef/mixlib-shellout", "chef/ohai", "chef/omnibus-chef"].freeze
29
-
30
- begin
31
- require "tomlrb"
32
- require "octokit"
33
- require "pp"
34
-
35
- namespace :maintainers do
36
- task default: :generate
37
-
38
- desc "Generate MarkDown version of MAINTAINERS file"
39
- task :generate do
40
- out = "<!-- This is a generated file. Please do not edit directly -->\n\n"
41
- out << "# " + source["Preamble"]["title"] + "\n\n"
42
- out << source["Preamble"]["text"] + "\n"
43
-
44
- # The project lead is a special case
45
- out << "# " + source["Org"]["Lead"]["title"] + "\n\n"
46
- out << format_person(source["Org"]["Lead"]["person"]) + "\n\n"
47
-
48
- out << format_components(source["Org"]["Components"])
49
- File.open(TARGET, "w") do |fn|
50
- fn.write out
51
- end
52
- end
53
-
54
- desc "Synchronize GitHub teams"
55
- # there's a special @chef/client-maintainers team that's everyone
56
- # and then there's a team per component
57
- task :synchronize do
58
- Octokit.auto_paginate = true
59
- get_github_teams
60
- prepare_teams(source["Org"]["Components"].dup)
61
- sync_teams!
62
- end
63
- end
64
-
65
- def github
66
- @github ||= Octokit::Client.new(netrc: true)
67
- end
68
-
69
- def source
70
- @source ||= Tomlrb.load_file SOURCE
71
- end
72
-
73
- def teams
74
- @teams ||= { "client-maintainers" => { "title" => "Client Maintainers" } }
75
- end
76
-
77
- def add_members(team, name)
78
- teams["client-maintainers"]["members"] ||= []
79
- teams["client-maintainers"]["members"] << name
80
- teams[team] ||= {}
81
- teams[team]["members"] ||= []
82
- teams[team]["members"] << name
83
- end
84
-
85
- def set_team_title(team, title)
86
- teams[team] ||= {}
87
- teams[team]["title"] = title
88
- end
89
-
90
- def gh_teams
91
- @gh_teams ||= {}
92
- end
93
-
94
- # we have to resolve team names to ids. While we're at it, we can get the privacy
95
- # setting, so we know whether we need to update it
96
- def get_github_teams
97
- github.org_teams("chef").each do |team|
98
- gh_teams[team[:slug]] = { "id" => team[:id], "privacy" => team[:privacy] }
99
- end
100
- end
101
-
102
- def get_github_team(team)
103
- github.team_members(gh_teams[team]["id"]).map do |member|
104
- member[:login]
105
- end.sort.uniq.map(&:downcase)
106
- rescue
107
- []
108
- end
109
-
110
- def create_team(team)
111
- puts "creating new github team: #{team} with title: #{teams[team]["title"]} "
112
- t = github.create_team("chef", name: team, description: teams[team]["title"],
113
- privacy: "closed", repo_names: REPOSITORIES,
114
- accept: "application/vnd.github.ironman-preview+json")
115
- gh_teams[team] = { "id" => t[:id], "privacy" => t[:privacy] }
116
- end
117
-
118
- def compare_teams(current, desired)
119
- # additions are the subtraction of the current state from the desired state
120
- # deletions are the subtraction of the desired state from the current state
121
- [desired - current, current - desired]
122
- end
123
-
124
- def prepare_teams(cmp)
125
- %w{text paths}.each { |k| cmp.delete(k) }
126
- if cmp.key?("team")
127
- team = cmp.delete("team")
128
- add_members(team, cmp.delete("lieutenant")) if cmp.key?("lieutenant")
129
- add_members(team, cmp.delete("maintainers")) if cmp.key?("maintainers")
130
- set_team_title(team, cmp.delete("title"))
131
- else
132
- %w{maintainers lieutenant title}.each { |k| cmp.delete(k) }
133
- end
134
- cmp.each_value { |v| prepare_teams(v) }
135
- end
136
-
137
- def update_team(team, additions, deletions)
138
- create_team(team) unless gh_teams.key?(team)
139
- update_team_privacy(team)
140
- add_team_members(team, additions)
141
- remove_team_members(team, deletions)
142
- rescue => e
143
- puts "failed for #{team}: #{e.message}"
144
- end
145
-
146
- def update_team_privacy(team)
147
- return if gh_teams[team]["privacy"] == "closed"
148
- puts "Setting #{team} privacy to closed from #{gh_teams[team]["privacy"]}"
149
- github.update_team(gh_teams[team]["id"], privacy: "closed",
150
- accept: "application/vnd.github.ironman-preview+json")
151
- end
152
-
153
- def add_team_members(team, additions)
154
- additions.each do |member|
155
- puts "Adding #{member} to #{team}"
156
- github.add_team_membership(gh_teams[team]["id"], member, role: "member",
157
- accept: "application/vnd.github.ironman-preview+json")
158
- end
159
- end
160
-
161
- def remove_team_members(team, deletions)
162
- deletions.each do |member|
163
- puts "Removing #{member} from #{team}"
164
- github.remove_team_membership(gh_teams[team]["id"], member,
165
- accept: "application/vnd.github.ironman-preview+json")
166
- end
167
- end
168
-
169
- def sync_teams!
170
- teams.each do |name, details|
171
- current = get_github_team(name)
172
- desired = details["members"].flatten.sort.uniq.map(&:downcase)
173
- additions, deletions = compare_teams(current, desired)
174
- update_team(name, additions, deletions)
175
- end
176
- end
177
-
178
- def get_person(person)
179
- source["people"][person]
180
- end
181
-
182
- def format_components(cmp)
183
- out = "## " + cmp.delete("title") + "\n\n"
184
- out << cmp.delete("text") + "\n" if cmp.key?("text")
185
- out << "To mention the team, use @chef/#{cmp.delete("team")}\n\n" if cmp.key?("team")
186
- if cmp.key?("lieutenant")
187
- out << "### Lieutenant\n\n"
188
- out << format_person(cmp.delete("lieutenant")) + "\n\n"
189
- end
190
- out << format_maintainers(cmp.delete("maintainers")) + "\n" if cmp.key?("maintainers")
191
- cmp.delete("paths")
192
- cmp.each_value { |v| out << format_components(v) }
193
- out
194
- end
195
-
196
- def format_maintainers(people)
197
- o = "### Maintainers\n\n"
198
- people.each do |p|
199
- o << format_person(p) + "\n"
200
- end
201
- o
202
- end
203
-
204
- def format_person(person)
205
- mnt = get_person(person)
206
- "* [#{mnt["Name"]}](https://github.com/#{mnt["GitHub"]})"
207
- end
208
-
209
- rescue LoadError
210
- STDERR.puts "\n*** TomlRb not available.\n\n"
211
- end
@@ -1,35 +0,0 @@
1
- Ohai Chefs!
2
-
3
- We have selected <%= @version %> as our Chef v<%= @maj_minor %> release candidate which is scheduled for release on <%= @date.strftime('%A %B %-d, %Y') %>.
4
-
5
- # Release Highlights
6
-
7
- <%= @release_notes %>
8
-
9
- Please see the [CHANGELOG](https://github.com/chef/chef/blob/master/CHANGELOG.md) for the complete list of changes.
10
-
11
- # Get the Build
12
- As always, you can download binaries directly from [downloads.chef.io](https://downloads.chef.io/chef/current/<%= @version %>) or by using the `mixlib-install` command line utility:
13
-
14
- ```shell
15
- $ mixlib-install download chef -v <%= @version %> -c current
16
- ```
17
-
18
- Alternatively, you can install Chef using one of the following command options:
19
-
20
- ```shell
21
- # In Shell
22
- $ curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef -v <%= @version %> -c current
23
-
24
- # In Windows PowerShell
25
- . { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chef -version <%= @version %> -channel current
26
- ```
27
-
28
- If you want to give this version a spin in Test Kitchen, create or add the following to your `kitchen.yml` file:
29
-
30
- ```yaml
31
- provisioner:
32
- product_name: chef
33
- channel: current
34
- product_version: <%= @version %>
35
- ```