chef 16.18.30 → 17.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (675) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -22
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -2
  6. data/chef.gemspec +7 -10
  7. data/lib/chef/action_collection.rb +1 -1
  8. data/lib/chef/application/base.rb +1 -1
  9. data/lib/chef/application.rb +1 -1
  10. data/lib/chef/applications.rb +0 -1
  11. data/lib/chef/chef_fs/command_line.rb +5 -2
  12. data/lib/chef/chef_fs/file_system.rb +9 -10
  13. data/lib/chef/client.rb +5 -5
  14. data/lib/chef/compliance/default_attributes.rb +4 -3
  15. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  16. data/lib/chef/compliance/reporter/automate.rb +17 -7
  17. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  18. data/lib/chef/compliance/reporter/cli.rb +77 -0
  19. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  20. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  21. data/lib/chef/compliance/runner.rb +65 -27
  22. data/lib/chef/cookbook/gem_installer.rb +1 -5
  23. data/lib/chef/cookbook/synchronizer.rb +3 -5
  24. data/lib/chef/cookbook_loader.rb +2 -4
  25. data/lib/chef/cookbook_uploader.rb +0 -1
  26. data/lib/chef/cookbook_version.rb +4 -26
  27. data/lib/chef/data_bag_item.rb +11 -2
  28. data/lib/chef/data_collector/run_end_message.rb +2 -2
  29. data/lib/chef/delayed_evaluator.rb +4 -0
  30. data/lib/chef/deprecated.rb +6 -12
  31. data/lib/chef/dsl/chef_vault.rb +6 -6
  32. data/lib/chef/dsl/reboot_pending.rb +1 -2
  33. data/lib/chef/exceptions.rb +0 -3
  34. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  35. data/lib/chef/formatters/error_mapper.rb +2 -2
  36. data/lib/chef/group.rb +75 -0
  37. data/lib/chef/http.rb +5 -5
  38. data/lib/chef/mixin/checksum.rb +0 -6
  39. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  40. data/lib/chef/mixin/powershell_exec.rb +26 -7
  41. data/lib/chef/node/attribute.rb +9 -24
  42. data/lib/chef/node/immutable_collections.rb +13 -0
  43. data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
  44. data/lib/chef/node.rb +19 -20
  45. data/lib/chef/org.rb +3 -2
  46. data/lib/chef/platform/query_helpers.rb +2 -2
  47. data/lib/chef/policy_builder/policyfile.rb +0 -5
  48. data/lib/chef/property.rb +18 -0
  49. data/lib/chef/provider/cron.rb +2 -6
  50. data/lib/chef/provider/execute.rb +2 -1
  51. data/lib/chef/provider/file.rb +3 -3
  52. data/lib/chef/provider/git.rb +5 -7
  53. data/lib/chef/provider/group/dscl.rb +1 -1
  54. data/lib/chef/provider/group/groupadd.rb +3 -3
  55. data/lib/chef/provider/group/groupmod.rb +3 -3
  56. data/lib/chef/provider/group/pw.rb +3 -3
  57. data/lib/chef/provider/ifconfig.rb +2 -2
  58. data/lib/chef/provider/link.rb +2 -2
  59. data/lib/chef/provider/mount/aix.rb +3 -3
  60. data/lib/chef/provider/mount/mount.rb +5 -5
  61. data/lib/chef/provider/mount/windows.rb +1 -1
  62. data/lib/chef/provider/mount.rb +5 -5
  63. data/lib/chef/provider/package/apt.rb +27 -1
  64. data/lib/chef/provider/package/deb.rb +3 -3
  65. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  66. data/lib/chef/provider/package/portage.rb +2 -2
  67. data/lib/chef/provider/package/powershell.rb +0 -5
  68. data/lib/chef/provider/package/rubygems.rb +9 -15
  69. data/lib/chef/provider/package/windows.rb +3 -5
  70. data/lib/chef/provider/package/yum/yum_helper.py +11 -1
  71. data/lib/chef/provider/package.rb +17 -21
  72. data/lib/chef/provider/route.rb +2 -2
  73. data/lib/chef/provider/service/aixinit.rb +1 -1
  74. data/lib/chef/provider/service/debian.rb +1 -1
  75. data/lib/chef/provider/service/freebsd.rb +15 -21
  76. data/lib/chef/provider/service/macosx.rb +4 -4
  77. data/lib/chef/provider/service/systemd.rb +43 -14
  78. data/lib/chef/provider/service/upstart.rb +2 -13
  79. data/lib/chef/provider/service/windows.rb +12 -12
  80. data/lib/chef/provider/service.rb +6 -6
  81. data/lib/chef/provider/subversion.rb +10 -12
  82. data/lib/chef/provider/systemd_unit.rb +36 -10
  83. data/lib/chef/provider/template/content.rb +3 -7
  84. data/lib/chef/provider/user/dscl.rb +1 -1
  85. data/lib/chef/provider/user/mac.rb +17 -20
  86. data/lib/chef/provider/user/pw.rb +1 -1
  87. data/lib/chef/provider/user/windows.rb +1 -1
  88. data/lib/chef/provider/user.rb +2 -2
  89. data/lib/chef/provider/zypper_repository.rb +2 -2
  90. data/lib/chef/provider.rb +1 -1
  91. data/lib/chef/providers.rb +0 -1
  92. data/lib/chef/resource/alternatives.rb +6 -6
  93. data/lib/chef/resource/apt_package.rb +1 -1
  94. data/lib/chef/resource/apt_preference.rb +2 -2
  95. data/lib/chef/resource/apt_repository.rb +6 -6
  96. data/lib/chef/resource/apt_update.rb +3 -2
  97. data/lib/chef/resource/archive_file.rb +8 -9
  98. data/lib/chef/resource/breakpoint.rb +1 -1
  99. data/lib/chef/resource/build_essential.rb +2 -6
  100. data/lib/chef/resource/chef_client_config.rb +2 -2
  101. data/lib/chef/resource/chef_client_cron.rb +4 -4
  102. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  103. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  104. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  105. data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
  106. data/lib/chef/resource/chef_handler.rb +3 -7
  107. data/lib/chef/resource/chef_sleep.rb +1 -1
  108. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  109. data/lib/chef/resource/chocolatey_config.rb +2 -6
  110. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  111. data/lib/chef/resource/chocolatey_source.rb +4 -10
  112. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  113. data/lib/chef/resource/cron_access.rb +2 -4
  114. data/lib/chef/resource/dmg_package.rb +6 -10
  115. data/lib/chef/resource/dpkg_package.rb +1 -1
  116. data/lib/chef/resource/execute.rb +6 -1
  117. data/lib/chef/resource/file.rb +1 -1
  118. data/lib/chef/resource/group.rb +2 -2
  119. data/lib/chef/resource/homebrew_cask.rb +5 -15
  120. data/lib/chef/resource/homebrew_tap.rb +2 -6
  121. data/lib/chef/resource/hostname.rb +21 -17
  122. data/lib/chef/resource/http_request.rb +1 -1
  123. data/lib/chef/resource/kernel_module.rb +6 -17
  124. data/lib/chef/resource/locale.rb +3 -4
  125. data/lib/chef/resource/lwrp_base.rb +4 -0
  126. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  127. data/lib/chef/resource/mdadm.rb +53 -7
  128. data/lib/chef/resource/mount.rb +3 -2
  129. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  130. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  131. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  132. data/lib/chef/resource/plist.rb +7 -7
  133. data/lib/chef/resource/powershell_script.rb +1 -1
  134. data/lib/chef/resource/remote_file.rb +1 -1
  135. data/lib/chef/resource/rhsm_errata.rb +16 -1
  136. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  137. data/lib/chef/resource/rhsm_register.rb +12 -23
  138. data/lib/chef/resource/rhsm_repo.rb +2 -6
  139. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  140. data/lib/chef/resource/scm/git.rb +1 -1
  141. data/lib/chef/resource/sudo.rb +6 -6
  142. data/lib/chef/resource/support/client.erb +2 -6
  143. data/lib/chef/resource/sysctl.rb +2 -6
  144. data/lib/chef/resource/systemd_unit.rb +3 -3
  145. data/lib/chef/resource/template.rb +1 -1
  146. data/lib/chef/resource/timezone.rb +1 -3
  147. data/lib/chef/resource/user/mac_user.rb +1 -1
  148. data/lib/chef/resource/user_ulimit.rb +2 -3
  149. data/lib/chef/resource/windows_ad_join.rb +2 -6
  150. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  151. data/lib/chef/resource/windows_auto_run.rb +2 -5
  152. data/lib/chef/resource/windows_certificate.rb +207 -73
  153. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  154. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  155. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  156. data/lib/chef/resource/windows_dns_record.rb +2 -6
  157. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  158. data/lib/chef/resource/windows_env.rb +5 -4
  159. data/lib/chef/resource/windows_feature.rb +3 -9
  160. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  161. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  162. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  163. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  164. data/lib/chef/resource/windows_font.rb +2 -4
  165. data/lib/chef/resource/windows_pagefile.rb +2 -6
  166. data/lib/chef/resource/windows_path.rb +2 -2
  167. data/lib/chef/resource/windows_printer.rb +4 -4
  168. data/lib/chef/resource/windows_printer_port.rb +6 -6
  169. data/lib/chef/resource/windows_security_policy.rb +9 -12
  170. data/lib/chef/resource/windows_share.rb +14 -21
  171. data/lib/chef/resource/windows_shortcut.rb +4 -6
  172. data/lib/chef/resource/windows_task.rb +17 -5
  173. data/lib/chef/resource/windows_uac.rb +2 -4
  174. data/lib/chef/resource/windows_user_privilege.rb +26 -36
  175. data/lib/chef/resource/windows_workgroup.rb +1 -2
  176. data/lib/chef/resource.rb +1 -1
  177. data/lib/chef/resource_reporter.rb +1 -1
  178. data/lib/chef/resources.rb +0 -1
  179. data/lib/chef/shell/ext.rb +3 -3
  180. data/lib/chef/user.rb +0 -1
  181. data/lib/chef/user_v1.rb +3 -4
  182. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  183. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  184. data/lib/chef/version.rb +1 -1
  185. data/lib/chef/win32/api.rb +2 -9
  186. data/lib/chef/win32/registry.rb +4 -2
  187. data/lib/chef/win32/version.rb +2 -4
  188. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  189. data/spec/data/lwrp/resources/bar.rb +2 -0
  190. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  191. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  192. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  193. data/spec/data/lwrp/resources/foo.rb +2 -0
  194. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  195. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  196. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  197. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  198. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  199. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  200. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  201. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  202. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  203. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  204. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  205. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  206. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  207. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  208. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  209. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  210. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  211. data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
  212. data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
  213. data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
  214. data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
  215. data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
  216. data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
  217. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  218. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  219. data/spec/functional/resource/apt_package_spec.rb +1 -1
  220. data/spec/functional/resource/chocolatey_package_spec.rb +9 -0
  221. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  222. data/spec/functional/resource/dsc_script_spec.rb +1 -1
  223. data/spec/functional/resource/group_spec.rb +1 -5
  224. data/spec/functional/resource/link_spec.rb +0 -8
  225. data/spec/functional/resource/registry_spec.rb +8 -8
  226. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  227. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  228. data/spec/functional/resource/windows_font_spec.rb +1 -2
  229. data/spec/functional/resource/yum_package_spec.rb +0 -12
  230. data/spec/functional/shell_spec.rb +0 -5
  231. data/spec/functional/version_spec.rb +1 -1
  232. data/spec/functional/win32/registry_spec.rb +1 -1
  233. data/spec/integration/client/client_spec.rb +5 -2
  234. data/spec/integration/client/exit_code_spec.rb +1 -1
  235. data/spec/integration/client/ipv6_spec.rb +1 -1
  236. data/spec/integration/compliance/compliance_spec.rb +1 -1
  237. data/spec/integration/ohai/ohai_spec.rb +7 -6
  238. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  239. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  240. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  241. data/spec/integration/recipes/notifies_spec.rb +15 -1
  242. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  243. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  244. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  245. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  246. data/spec/spec_helper.rb +10 -17
  247. data/spec/support/chef_helpers.rb +0 -16
  248. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  249. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  250. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  251. data/spec/support/matchers/leak.rb +7 -9
  252. data/spec/support/platform_helpers.rb +1 -12
  253. data/spec/support/shared/integration/integration_helper.rb +0 -1
  254. data/spec/support/shared/unit/script_resource.rb +2 -2
  255. data/spec/unit/application/solo_spec.rb +2 -2
  256. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  257. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  258. data/spec/unit/client_spec.rb +4 -4
  259. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  260. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  261. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  262. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  263. data/spec/unit/compliance/runner_spec.rb +30 -4
  264. data/spec/unit/cookbook_version_spec.rb +0 -52
  265. data/spec/unit/daemon_spec.rb +5 -1
  266. data/spec/unit/data_bag_item_spec.rb +1 -6
  267. data/spec/unit/data_collector_spec.rb +2 -71
  268. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  269. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  270. data/spec/unit/lwrp_spec.rb +1 -1
  271. data/spec/unit/mixin/checksum_spec.rb +0 -28
  272. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  273. data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
  274. data/spec/unit/mixin/powershell_out_spec.rb +2 -2
  275. data/spec/unit/node/attribute_spec.rb +1 -1
  276. data/spec/unit/node_spec.rb +78 -0
  277. data/spec/unit/org_group_spec.rb +45 -0
  278. data/spec/unit/platform/query_helpers_spec.rb +5 -5
  279. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  280. data/spec/unit/property_spec.rb +23 -22
  281. data/spec/unit/provider/cron_spec.rb +1 -35
  282. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  283. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  284. data/spec/unit/provider/group/pw_spec.rb +2 -2
  285. data/spec/unit/provider/group_spec.rb +1 -1
  286. data/spec/unit/provider/package/apt_spec.rb +84 -18
  287. data/spec/unit/provider/package/deb_spec.rb +3 -3
  288. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  289. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  290. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  291. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  292. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  293. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  294. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  295. data/spec/unit/provider/service/windows_spec.rb +2 -2
  296. data/spec/unit/provider/subversion_spec.rb +2 -2
  297. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  298. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  299. data/spec/unit/provider_spec.rb +0 -8
  300. data/spec/unit/resource/archive_file_spec.rb +1 -13
  301. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
  302. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  303. data/spec/unit/resource/mount_spec.rb +0 -10
  304. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  305. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  306. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  307. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  308. data/spec/unit/resource/windows_task_spec.rb +1 -1
  309. data/spec/unit/resource_spec.rb +2 -7
  310. data/spec/unit/user_spec.rb +1 -1
  311. data/spec/unit/user_v1_spec.rb +6 -4
  312. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
  313. data/tasks/rspec.rb +15 -7
  314. metadata +43 -388
  315. data/bin/knife +0 -24
  316. data/lib/chef/application/knife.rb +0 -234
  317. data/lib/chef/application/windows_service.rb +0 -338
  318. data/lib/chef/application/windows_service_manager.rb +0 -205
  319. data/lib/chef/chef_fs/knife.rb +0 -160
  320. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  321. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  322. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  323. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  324. data/lib/chef/knife/acl_add.rb +0 -57
  325. data/lib/chef/knife/acl_base.rb +0 -183
  326. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  327. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  328. data/lib/chef/knife/acl_remove.rb +0 -62
  329. data/lib/chef/knife/acl_show.rb +0 -56
  330. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  331. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  332. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  333. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  334. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  335. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  336. data/lib/chef/knife/bootstrap.rb +0 -1192
  337. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  338. data/lib/chef/knife/client_create.rb +0 -101
  339. data/lib/chef/knife/client_delete.rb +0 -62
  340. data/lib/chef/knife/client_edit.rb +0 -52
  341. data/lib/chef/knife/client_key_create.rb +0 -73
  342. data/lib/chef/knife/client_key_delete.rb +0 -80
  343. data/lib/chef/knife/client_key_edit.rb +0 -83
  344. data/lib/chef/knife/client_key_list.rb +0 -73
  345. data/lib/chef/knife/client_key_show.rb +0 -80
  346. data/lib/chef/knife/client_list.rb +0 -41
  347. data/lib/chef/knife/client_reregister.rb +0 -58
  348. data/lib/chef/knife/client_show.rb +0 -48
  349. data/lib/chef/knife/config_get.rb +0 -39
  350. data/lib/chef/knife/config_get_profile.rb +0 -37
  351. data/lib/chef/knife/config_list.rb +0 -139
  352. data/lib/chef/knife/config_list_profiles.rb +0 -37
  353. data/lib/chef/knife/config_show.rb +0 -127
  354. data/lib/chef/knife/config_use.rb +0 -61
  355. data/lib/chef/knife/config_use_profile.rb +0 -47
  356. data/lib/chef/knife/configure.rb +0 -150
  357. data/lib/chef/knife/configure_client.rb +0 -48
  358. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  359. data/lib/chef/knife/cookbook_delete.rb +0 -151
  360. data/lib/chef/knife/cookbook_download.rb +0 -142
  361. data/lib/chef/knife/cookbook_list.rb +0 -47
  362. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  363. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  364. data/lib/chef/knife/cookbook_show.rb +0 -98
  365. data/lib/chef/knife/cookbook_upload.rb +0 -292
  366. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  367. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  368. data/lib/chef/knife/core/formatting_options.rb +0 -49
  369. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  370. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  371. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  372. data/lib/chef/knife/core/node_editor.rb +0 -130
  373. data/lib/chef/knife/core/node_presenter.rb +0 -133
  374. data/lib/chef/knife/core/object_loader.rb +0 -115
  375. data/lib/chef/knife/core/status_presenter.rb +0 -147
  376. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  377. data/lib/chef/knife/core/text_formatter.rb +0 -85
  378. data/lib/chef/knife/core/ui.rb +0 -338
  379. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  380. data/lib/chef/knife/data_bag_create.rb +0 -81
  381. data/lib/chef/knife/data_bag_delete.rb +0 -49
  382. data/lib/chef/knife/data_bag_edit.rb +0 -74
  383. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  384. data/lib/chef/knife/data_bag_list.rb +0 -42
  385. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  386. data/lib/chef/knife/data_bag_show.rb +0 -69
  387. data/lib/chef/knife/delete.rb +0 -125
  388. data/lib/chef/knife/deps.rb +0 -156
  389. data/lib/chef/knife/diff.rb +0 -83
  390. data/lib/chef/knife/download.rb +0 -84
  391. data/lib/chef/knife/edit.rb +0 -88
  392. data/lib/chef/knife/environment_compare.rb +0 -128
  393. data/lib/chef/knife/environment_create.rb +0 -52
  394. data/lib/chef/knife/environment_delete.rb +0 -44
  395. data/lib/chef/knife/environment_edit.rb +0 -44
  396. data/lib/chef/knife/environment_from_file.rb +0 -84
  397. data/lib/chef/knife/environment_list.rb +0 -41
  398. data/lib/chef/knife/environment_show.rb +0 -47
  399. data/lib/chef/knife/exec.rb +0 -99
  400. data/lib/chef/knife/group_add.rb +0 -55
  401. data/lib/chef/knife/group_create.rb +0 -49
  402. data/lib/chef/knife/group_destroy.rb +0 -53
  403. data/lib/chef/knife/group_list.rb +0 -43
  404. data/lib/chef/knife/group_remove.rb +0 -56
  405. data/lib/chef/knife/group_show.rb +0 -49
  406. data/lib/chef/knife/key_create.rb +0 -112
  407. data/lib/chef/knife/key_create_base.rb +0 -50
  408. data/lib/chef/knife/key_delete.rb +0 -55
  409. data/lib/chef/knife/key_edit.rb +0 -118
  410. data/lib/chef/knife/key_edit_base.rb +0 -55
  411. data/lib/chef/knife/key_list.rb +0 -90
  412. data/lib/chef/knife/key_list_base.rb +0 -45
  413. data/lib/chef/knife/key_show.rb +0 -53
  414. data/lib/chef/knife/list.rb +0 -177
  415. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  416. data/lib/chef/knife/node_create.rb +0 -47
  417. data/lib/chef/knife/node_delete.rb +0 -46
  418. data/lib/chef/knife/node_edit.rb +0 -70
  419. data/lib/chef/knife/node_environment_set.rb +0 -53
  420. data/lib/chef/knife/node_from_file.rb +0 -51
  421. data/lib/chef/knife/node_list.rb +0 -44
  422. data/lib/chef/knife/node_policy_set.rb +0 -79
  423. data/lib/chef/knife/node_run_list_add.rb +0 -104
  424. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  425. data/lib/chef/knife/node_run_list_set.rb +0 -66
  426. data/lib/chef/knife/node_show.rb +0 -63
  427. data/lib/chef/knife/null.rb +0 -12
  428. data/lib/chef/knife/raw.rb +0 -123
  429. data/lib/chef/knife/recipe_list.rb +0 -32
  430. data/lib/chef/knife/rehash.rb +0 -50
  431. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  432. data/lib/chef/knife/role_create.rb +0 -53
  433. data/lib/chef/knife/role_delete.rb +0 -46
  434. data/lib/chef/knife/role_edit.rb +0 -45
  435. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  436. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  437. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  438. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  439. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  440. data/lib/chef/knife/role_from_file.rb +0 -51
  441. data/lib/chef/knife/role_list.rb +0 -42
  442. data/lib/chef/knife/role_run_list_add.rb +0 -87
  443. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  444. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  445. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  446. data/lib/chef/knife/role_run_list_set.rb +0 -69
  447. data/lib/chef/knife/role_show.rb +0 -48
  448. data/lib/chef/knife/search.rb +0 -194
  449. data/lib/chef/knife/serve.rb +0 -65
  450. data/lib/chef/knife/show.rb +0 -72
  451. data/lib/chef/knife/ssh.rb +0 -645
  452. data/lib/chef/knife/ssl_check.rb +0 -284
  453. data/lib/chef/knife/ssl_fetch.rb +0 -161
  454. data/lib/chef/knife/status.rb +0 -95
  455. data/lib/chef/knife/supermarket_download.rb +0 -121
  456. data/lib/chef/knife/supermarket_install.rb +0 -192
  457. data/lib/chef/knife/supermarket_list.rb +0 -76
  458. data/lib/chef/knife/supermarket_search.rb +0 -53
  459. data/lib/chef/knife/supermarket_share.rb +0 -166
  460. data/lib/chef/knife/supermarket_show.rb +0 -66
  461. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  462. data/lib/chef/knife/tag_create.rb +0 -52
  463. data/lib/chef/knife/tag_delete.rb +0 -60
  464. data/lib/chef/knife/tag_list.rb +0 -47
  465. data/lib/chef/knife/upload.rb +0 -86
  466. data/lib/chef/knife/user_create.rb +0 -107
  467. data/lib/chef/knife/user_delete.rb +0 -44
  468. data/lib/chef/knife/user_dissociate.rb +0 -42
  469. data/lib/chef/knife/user_edit.rb +0 -52
  470. data/lib/chef/knife/user_invite_add.rb +0 -43
  471. data/lib/chef/knife/user_invite_list.rb +0 -34
  472. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  473. data/lib/chef/knife/user_key_create.rb +0 -73
  474. data/lib/chef/knife/user_key_delete.rb +0 -80
  475. data/lib/chef/knife/user_key_edit.rb +0 -83
  476. data/lib/chef/knife/user_key_list.rb +0 -73
  477. data/lib/chef/knife/user_key_show.rb +0 -80
  478. data/lib/chef/knife/user_list.rb +0 -42
  479. data/lib/chef/knife/user_reregister.rb +0 -59
  480. data/lib/chef/knife/user_show.rb +0 -48
  481. data/lib/chef/knife/xargs.rb +0 -282
  482. data/lib/chef/knife/yaml_convert.rb +0 -91
  483. data/lib/chef/knife.rb +0 -665
  484. data/lib/chef/resource/user/dscl_user.rb +0 -35
  485. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  486. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  487. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  488. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  489. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  490. data/spec/functional/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
  491. data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
  492. data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
  493. data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
  494. data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
  495. data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
  496. data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
  497. data/spec/functional/knife/configure_spec.rb +0 -33
  498. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  499. data/spec/functional/knife/exec_spec.rb +0 -55
  500. data/spec/functional/knife/rehash_spec.rb +0 -39
  501. data/spec/functional/knife/smoke_test.rb +0 -42
  502. data/spec/functional/knife/ssh_spec.rb +0 -352
  503. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  504. data/spec/functional/resource/windows_service_spec.rb +0 -105
  505. data/spec/functional/win32/service_manager_spec.rb +0 -220
  506. data/spec/integration/client/fips_spec.rb +0 -21
  507. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  508. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  509. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  510. data/spec/integration/knife/chefignore_spec.rb +0 -301
  511. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  512. data/spec/integration/knife/client_create_spec.rb +0 -70
  513. data/spec/integration/knife/client_delete_spec.rb +0 -64
  514. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  515. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  516. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  517. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  518. data/spec/integration/knife/client_list_spec.rb +0 -49
  519. data/spec/integration/knife/client_show_spec.rb +0 -37
  520. data/spec/integration/knife/common_options_spec.rb +0 -174
  521. data/spec/integration/knife/config_list_spec.rb +0 -220
  522. data/spec/integration/knife/config_show_spec.rb +0 -192
  523. data/spec/integration/knife/config_use_spec.rb +0 -198
  524. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  525. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  526. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  527. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  528. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  529. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  530. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  531. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  532. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  533. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  534. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  535. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  536. data/spec/integration/knife/delete_spec.rb +0 -1018
  537. data/spec/integration/knife/deps_spec.rb +0 -703
  538. data/spec/integration/knife/diff_spec.rb +0 -605
  539. data/spec/integration/knife/download_spec.rb +0 -1336
  540. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  541. data/spec/integration/knife/environment_create_spec.rb +0 -41
  542. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  543. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  544. data/spec/integration/knife/environment_list_spec.rb +0 -42
  545. data/spec/integration/knife/environment_show_spec.rb +0 -77
  546. data/spec/integration/knife/list_spec.rb +0 -1060
  547. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  548. data/spec/integration/knife/node_create_spec.rb +0 -47
  549. data/spec/integration/knife/node_delete_spec.rb +0 -48
  550. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  551. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  552. data/spec/integration/knife/node_list_spec.rb +0 -45
  553. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  554. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  555. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  556. data/spec/integration/knife/node_show_spec.rb +0 -36
  557. data/spec/integration/knife/raw_spec.rb +0 -297
  558. data/spec/integration/knife/redirection_spec.rb +0 -64
  559. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  560. data/spec/integration/knife/role_create_spec.rb +0 -41
  561. data/spec/integration/knife/role_delete_spec.rb +0 -48
  562. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  563. data/spec/integration/knife/role_list_spec.rb +0 -45
  564. data/spec/integration/knife/role_show_spec.rb +0 -51
  565. data/spec/integration/knife/search_node_spec.rb +0 -40
  566. data/spec/integration/knife/serve_spec.rb +0 -92
  567. data/spec/integration/knife/show_spec.rb +0 -197
  568. data/spec/integration/knife/upload_spec.rb +0 -1616
  569. data/spec/support/shared/functional/knife.rb +0 -37
  570. data/spec/support/shared/functional/win32_service.rb +0 -57
  571. data/spec/support/shared/integration/knife_support.rb +0 -192
  572. data/spec/support/shared/unit/knife_shared.rb +0 -39
  573. data/spec/unit/application/knife_spec.rb +0 -241
  574. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  575. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  576. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  577. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  578. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  579. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  580. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  581. data/spec/unit/knife/client_create_spec.rb +0 -169
  582. data/spec/unit/knife/client_delete_spec.rb +0 -99
  583. data/spec/unit/knife/client_edit_spec.rb +0 -53
  584. data/spec/unit/knife/client_list_spec.rb +0 -34
  585. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  586. data/spec/unit/knife/client_show_spec.rb +0 -52
  587. data/spec/unit/knife/configure_client_spec.rb +0 -81
  588. data/spec/unit/knife/configure_spec.rb +0 -190
  589. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  590. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  591. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  592. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  593. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  594. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  595. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  596. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  597. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  598. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  599. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  600. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  601. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  602. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  603. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  604. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  605. data/spec/unit/knife/core/ui_spec.rb +0 -656
  606. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  607. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  608. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  609. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  610. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  611. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  612. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  613. data/spec/unit/knife/environment_create_spec.rb +0 -91
  614. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  615. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  616. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  617. data/spec/unit/knife/environment_list_spec.rb +0 -54
  618. data/spec/unit/knife/environment_show_spec.rb +0 -52
  619. data/spec/unit/knife/key_create_spec.rb +0 -223
  620. data/spec/unit/knife/key_delete_spec.rb +0 -133
  621. data/spec/unit/knife/key_edit_spec.rb +0 -264
  622. data/spec/unit/knife/key_helper.rb +0 -74
  623. data/spec/unit/knife/key_list_spec.rb +0 -216
  624. data/spec/unit/knife/key_show_spec.rb +0 -126
  625. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  626. data/spec/unit/knife/node_delete_spec.rb +0 -77
  627. data/spec/unit/knife/node_edit_spec.rb +0 -116
  628. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  629. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  630. data/spec/unit/knife/node_list_spec.rb +0 -62
  631. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  632. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  633. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  634. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  635. data/spec/unit/knife/node_show_spec.rb +0 -65
  636. data/spec/unit/knife/raw_spec.rb +0 -43
  637. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  638. data/spec/unit/knife/role_create_spec.rb +0 -80
  639. data/spec/unit/knife/role_delete_spec.rb +0 -67
  640. data/spec/unit/knife/role_edit_spec.rb +0 -77
  641. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  642. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  643. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  644. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  645. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  646. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  647. data/spec/unit/knife/role_list_spec.rb +0 -54
  648. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  649. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  650. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  651. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  652. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  653. data/spec/unit/knife/role_show_spec.rb +0 -59
  654. data/spec/unit/knife/ssh_spec.rb +0 -403
  655. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  656. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  657. data/spec/unit/knife/status_spec.rb +0 -112
  658. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  659. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  660. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  661. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  662. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  663. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  664. data/spec/unit/knife/tag_create_spec.rb +0 -23
  665. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  666. data/spec/unit/knife/tag_list_spec.rb +0 -23
  667. data/spec/unit/knife/user_create_spec.rb +0 -184
  668. data/spec/unit/knife/user_delete_spec.rb +0 -46
  669. data/spec/unit/knife/user_edit_spec.rb +0 -48
  670. data/spec/unit/knife/user_list_spec.rb +0 -36
  671. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  672. data/spec/unit/knife/user_show_spec.rb +0 -46
  673. data/spec/unit/knife_spec.rb +0 -634
  674. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  675. data/spec/unit/windows_service_spec.rb +0 -118
@@ -42,7 +42,7 @@ class Chef
42
42
  logger.info("#{new_resource} mounted")
43
43
  end
44
44
  else
45
- logger.trace("#{new_resource} is already mounted")
45
+ logger.debug("#{new_resource} is already mounted")
46
46
  end
47
47
  end
48
48
 
@@ -53,7 +53,7 @@ class Chef
53
53
  logger.info("#{new_resource} unmounted")
54
54
  end
55
55
  else
56
- logger.trace("#{new_resource} is already unmounted")
56
+ logger.debug("#{new_resource} is already unmounted")
57
57
  end
58
58
  end
59
59
 
@@ -76,7 +76,7 @@ class Chef
76
76
  end
77
77
  end
78
78
  else
79
- logger.trace("#{new_resource} not mounted, nothing to remount")
79
+ logger.debug("#{new_resource} not mounted, nothing to remount")
80
80
  end
81
81
  end
82
82
 
@@ -87,7 +87,7 @@ class Chef
87
87
  logger.info("#{new_resource} enabled")
88
88
  end
89
89
  else
90
- logger.trace("#{new_resource} already enabled")
90
+ logger.debug("#{new_resource} already enabled")
91
91
  end
92
92
  end
93
93
 
@@ -98,7 +98,7 @@ class Chef
98
98
  logger.info("#{new_resource} disabled")
99
99
  end
100
100
  else
101
- logger.trace("#{new_resource} already disabled")
101
+ logger.debug("#{new_resource} already disabled")
102
102
  end
103
103
  end
104
104
 
@@ -176,6 +176,7 @@ class Chef
176
176
  def resolve_package_versions(pkg)
177
177
  current_version = nil
178
178
  candidate_version = nil
179
+ all_versions = []
179
180
  run_noninteractive("apt-cache", default_release_options, "policy", pkg).stdout.each_line do |line|
180
181
  case line
181
182
  when /^\s{2}Installed: (.+)$/
@@ -184,9 +185,34 @@ class Chef
184
185
  when /^\s{2}Candidate: (.+)$/
185
186
  candidate_version = ( $1 != "(none)" ) ? $1 : nil
186
187
  logger.trace("#{new_resource} candidate version for #{pkg} is #{$1}")
188
+ when /\s+(?:\*\*\* )?(\S+) \d+/
189
+ all_versions << $1
187
190
  end
188
191
  end
189
- [ current_version, candidate_version ]
192
+ # This is a bit ugly... really this whole provider needs
193
+ # to be rewritten to use target_version_array and friends, but
194
+ # for now this gets us moving
195
+ idx = package_name_array.index(pkg)
196
+ chosen_version =
197
+ if idx
198
+ user_ver = new_version_array[idx]
199
+ if user_ver
200
+ if all_versions.include?(user_ver)
201
+ user_ver
202
+ else
203
+ logger.debug("User specified a version that's not available")
204
+ nil
205
+ end
206
+ else
207
+ # user didn't specify a version, use candidate
208
+ candidate_version
209
+ end
210
+ else
211
+ # this probably means we're redirected from a virtual
212
+ # package, so... just go with candidate version
213
+ candidate_version
214
+ end
215
+ [ current_version, chosen_version ]
190
216
  end
191
217
 
192
218
  def resolve_virtual_package_name(pkg)
@@ -28,12 +28,12 @@ class Chef
28
28
 
29
29
  action :reconfig do
30
30
  if current_resource.version.nil?
31
- logger.trace("#{new_resource} is NOT installed - nothing to do")
31
+ logger.debug("#{new_resource} is NOT installed - nothing to do")
32
32
  return
33
33
  end
34
34
 
35
35
  unless new_resource.response_file
36
- logger.trace("#{new_resource} no response_file provided - nothing to do")
36
+ logger.debug("#{new_resource} no response_file provided - nothing to do")
37
37
  return
38
38
  end
39
39
 
@@ -46,7 +46,7 @@ class Chef
46
46
  logger.info("#{new_resource} reconfigured")
47
47
  end
48
48
  else
49
- logger.trace("#{new_resource} preseeding has not changed - nothing to do")
49
+ logger.debug("#{new_resource} preseeding has not changed - nothing to do")
50
50
  end
51
51
  end
52
52
 
@@ -160,7 +160,7 @@ else:
160
160
 
161
161
  try:
162
162
  while 1:
163
- # kill self if we get orphaned (tragic)
163
+ # stop the process if the parent proc goes away
164
164
  ppid = os.getppid()
165
165
  if ppid == 1:
166
166
  raise RuntimeError("orphaned")
@@ -28,13 +28,13 @@ class Chef
28
28
  provides :package, platform: "gentoo"
29
29
  provides :portage_package
30
30
 
31
- PACKAGE_NAME_PATTERN = %r{(?:([^/]+)/)?([^/]+)}.freeze
31
+ PACKAGE_NAME_PATTERN = %r{^(?:([^/]+)/)?([^/]+)$}.freeze
32
32
 
33
33
  def load_current_resource
34
34
  @current_resource = Chef::Resource::PortagePackage.new(new_resource.name)
35
35
  current_resource.package_name(new_resource.package_name)
36
36
 
37
- category, pkg = /^#{PACKAGE_NAME_PATTERN}$/.match(new_resource.package_name)[1, 2]
37
+ category, pkg = PACKAGE_NAME_PATTERN.match(new_resource.package_name)[1, 2]
38
38
 
39
39
  globsafe_category = category ? Chef::Util::PathHelper.escape_glob_dir(category) : nil
40
40
  globsafe_pkg = Chef::Util::PathHelper.escape_glob_dir(pkg)
@@ -124,11 +124,6 @@ class Chef
124
124
  command.push("-RequiredVersion #{version}") if version
125
125
  command.push("-Source #{new_resource.source}") if new_resource.source && cmdlet_name =~ Regexp.union(/Install-Package/, /Find-Package/)
126
126
  command.push("-SkipPublisherCheck") if new_resource.skip_publisher_check && cmdlet_name !~ /Find-Package/
127
- if new_resource.options && cmdlet_name !~ Regexp.union(/Get-Package/, /Find-Package/)
128
- new_resource.options.each do |arg|
129
- command.push(arg) unless command.include?(arg)
130
- end
131
- end
132
127
  command.push(").Version")
133
128
  command.join(" ")
134
129
  end
@@ -72,7 +72,6 @@ class Chef
72
72
  # A rubygems specification object containing the list of gemspecs for all
73
73
  # available gems in the gem installation.
74
74
  # Implemented by subclasses
75
- # For rubygems >= 1.8.0
76
75
  #
77
76
  # @return [Gem::Specification]
78
77
  #
@@ -107,10 +106,8 @@ class Chef
107
106
  # This isn't sorting before returning because the only code that
108
107
  # uses this method calls `max_by` so it doesn't need to be sorted.
109
108
  stubs
110
- elsif rubygems_version >= Gem::Version.new("1.8.0")
109
+ else # >= rubygems 1.8 behavior
111
110
  gem_specification.find_all_by_name(gem_dep.name, gem_dep.requirement)
112
- else
113
- gem_source_index.search(gem_dep)
114
111
  end
115
112
  end
116
113
 
@@ -192,7 +189,8 @@ class Chef
192
189
  begin
193
190
  rs = dependency_installer.resolve_dependencies gem_dependency.name, gem_dependency.requirement
194
191
  rs.specs.find { |s| s.name == gem_dependency.name }
195
- rescue Gem::UnsatisfiableDependencyError
192
+ # ruby-3.0.0 versions of rubygems-3.x throws NoMethodError when the dep is not found
193
+ rescue Gem::UnsatisfiableDependencyError, NoMethodError
196
194
  nil
197
195
  end
198
196
  end
@@ -481,9 +479,7 @@ class Chef
481
479
  end
482
480
 
483
481
  def all_installed_versions
484
- @all_installed_versions ||= begin
485
- @gem_env.installed_versions(Gem::Dependency.new(gem_dependency.name, ">= 0"))
486
- end
482
+ @all_installed_versions ||= @gem_env.installed_versions(Gem::Dependency.new(gem_dependency.name, ">= 0"))
487
483
  end
488
484
 
489
485
  ##
@@ -523,13 +519,11 @@ class Chef
523
519
  end
524
520
 
525
521
  def candidate_version
526
- @candidate_version ||= begin
527
- if source_is_remote?
528
- @gem_env.candidate_version_from_remote(gem_dependency, *gem_sources).to_s
529
- else
530
- @gem_env.candidate_version_from_file(gem_dependency, new_resource.source).to_s
531
- end
532
- end
522
+ @candidate_version ||= if source_is_remote?
523
+ @gem_env.candidate_version_from_remote(gem_dependency, *gem_sources).to_s
524
+ else
525
+ @gem_env.candidate_version_from_file(gem_dependency, new_resource.source).to_s
526
+ end
533
527
  end
534
528
 
535
529
  def version_requirement_satisfied?(current_version, new_version)
@@ -38,7 +38,7 @@ class Chef
38
38
  def define_resource_requirements
39
39
  if new_resource.checksum
40
40
  requirements.assert(:install) do |a|
41
- a.assertion { checksum_match?(new_resource.checksum, checksum(source_location)) }
41
+ a.assertion { new_resource.checksum == checksum(source_location) }
42
42
  a.failure_message Chef::Exceptions::Package, "Checksum on resource (#{short_cksum(new_resource.checksum)}) does not match checksum on content (#{short_cksum(source_location)})"
43
43
  end
44
44
  end
@@ -70,8 +70,7 @@ class Chef
70
70
  end
71
71
 
72
72
  def package_provider
73
- @package_provider ||= begin
74
- case installer_type
73
+ @package_provider ||= case installer_type
75
74
  when :msi
76
75
  logger.trace("#{new_resource} is MSI")
77
76
  require_relative "windows/msi"
@@ -80,8 +79,7 @@ class Chef
80
79
  logger.trace("#{new_resource} is EXE with type '#{installer_type}'")
81
80
  require_relative "windows/exe"
82
81
  Chef::Provider::Package::Windows::Exe.new(resource_for_provider, installer_type, uninstall_registry_entries)
83
- end
84
- end
82
+ end
85
83
  end
86
84
 
87
85
  def installer_type
@@ -155,6 +155,16 @@ def query(command):
155
155
  outpipe.write("%(n)s %(e)s:%(v)s-%(r)s %(a)s\n" % { 'n': pkg.name, 'e': pkg.epoch, 'v': pkg.version, 'r': pkg.release, 'a': pkg.arch })
156
156
  outpipe.flush()
157
157
 
158
+ # Reset any repos we were passed in enablerepo/disablerepo to the original state in enabled_repos
159
+ if 'repos' in command:
160
+ for repo in command['repos']:
161
+ if 'enable' in repo:
162
+ if base.repos.getRepo(repo['enable']) not in enabled_repos:
163
+ base.repos.disableRepo(repo['enable'])
164
+ if 'disable' in repo:
165
+ if base.repos.getRepo(repo['disable']) in enabled_repos:
166
+ base.repos.enableRepo(repo['disable'])
167
+
158
168
  # the design of this helper is that it should try to be 'brittle' and fail hard and exit in order
159
169
  # to keep process tables clean. additional error handling should probably be added to the retry loop
160
170
  # on the ruby side.
@@ -178,7 +188,7 @@ else:
178
188
 
179
189
  try:
180
190
  while 1:
181
- # kill self if we get orphaned (tragic)
191
+ # stop the process if the parent proc goes away
182
192
  ppid = os.getppid()
183
193
  if ppid == 1:
184
194
  raise RuntimeError("orphaned")
@@ -109,7 +109,7 @@ class Chef
109
109
 
110
110
  action :install do
111
111
  unless target_version_array.any?
112
- logger.trace("#{new_resource} is already installed - nothing to do")
112
+ logger.debug("#{new_resource} is already installed - nothing to do")
113
113
  return
114
114
  end
115
115
 
@@ -138,7 +138,7 @@ class Chef
138
138
 
139
139
  action :upgrade do
140
140
  unless target_version_array.any?
141
- logger.trace("#{new_resource} no versions to upgrade - nothing to do")
141
+ logger.debug("#{new_resource} no versions to upgrade - nothing to do")
142
142
  return
143
143
  end
144
144
 
@@ -177,7 +177,7 @@ class Chef
177
177
  logger.info("#{new_resource} removed")
178
178
  end
179
179
  else
180
- logger.trace("#{new_resource} package does not exist - nothing to do")
180
+ logger.debug("#{new_resource} package does not exist - nothing to do")
181
181
  end
182
182
  end
183
183
 
@@ -229,7 +229,7 @@ class Chef
229
229
  end
230
230
  end
231
231
  else
232
- logger.trace("#{new_resource} is already locked")
232
+ logger.debug("#{new_resource} is already locked")
233
233
  end
234
234
  end
235
235
 
@@ -248,7 +248,7 @@ class Chef
248
248
  end
249
249
  end
250
250
  else
251
- logger.trace("#{new_resource} is already unlocked")
251
+ logger.debug("#{new_resource} is already unlocked")
252
252
  end
253
253
  end
254
254
 
@@ -598,12 +598,10 @@ class Chef
598
598
  # @return [Array] new_resource.source as an array
599
599
  def source_array
600
600
  @source_array ||=
601
- begin
602
- if new_resource.source.nil?
603
- package_name_array.map { nil }
604
- else
605
- [ new_resource.source ].flatten
606
- end
601
+ if new_resource.source.nil?
602
+ package_name_array.map { nil }
603
+ else
604
+ [ new_resource.source ].flatten
607
605
  end
608
606
  end
609
607
 
@@ -612,16 +610,14 @@ class Chef
612
610
  # @return [Array] Array of sources with package_names converted to sources
613
611
  def resolved_source_array
614
612
  @resolved_source_array ||=
615
- begin
616
- source_array.each_with_index.map do |source, i|
617
- package_name = package_name_array[i]
618
- # we require at least one '/' in the package_name to avoid [XXX_]package 'foo' breaking due to a random 'foo' file in cwd
619
- if use_package_name_for_source? && source.nil? && package_name.match(/#{::File::SEPARATOR}/) && ::File.exist?(package_name)
620
- logger.trace("No package source specified, but #{package_name} exists on filesystem, using #{package_name} as source.")
621
- package_name
622
- else
623
- source
624
- end
613
+ source_array.each_with_index.map do |source, i|
614
+ package_name = package_name_array[i]
615
+ # we require at least one '/' in the package_name to avoid [XXX_]package 'foo' breaking due to a random 'foo' file in cwd
616
+ if use_package_name_for_source? && source.nil? && package_name.match(/#{::File::SEPARATOR}/) && ::File.exist?(package_name)
617
+ logger.trace("No package source specified, but #{package_name} exists on filesystem, using #{package_name} as source.")
618
+ package_name
619
+ else
620
+ source
625
621
  end
626
622
  end
627
623
  end
@@ -131,7 +131,7 @@ class Chef
131
131
  action :add do
132
132
  # check to see if load_current_resource found the route
133
133
  if is_running
134
- logger.trace("#{new_resource} route already active - nothing to do")
134
+ logger.debug("#{new_resource} route already active - nothing to do")
135
135
  else
136
136
  command = generate_command(:add)
137
137
  converge_by("run #{command.join(" ")} to add route") do
@@ -152,7 +152,7 @@ class Chef
152
152
  logger.info("#{new_resource} removed")
153
153
  end
154
154
  else
155
- logger.trace("#{new_resource} route does not exist - nothing to do")
155
+ logger.debug("#{new_resource} route does not exist - nothing to do")
156
156
  end
157
157
 
158
158
  # for now we always write the file (ugly but its what it is)
@@ -45,7 +45,7 @@ class Chef
45
45
  priority_ok = @current_resource.priority == @new_resource.priority
46
46
  end
47
47
  if @current_resource.enabled && priority_ok
48
- logger.trace("#{@new_resource} already enabled - nothing to do")
48
+ logger.debug("#{@new_resource} already enabled - nothing to do")
49
49
  else
50
50
  converge_by("enable service #{@new_resource}") do
51
51
  enable_service
@@ -138,7 +138,7 @@ class Chef
138
138
  priority_ok = @current_resource.priority == new_resource.priority
139
139
  end
140
140
  if current_resource.enabled && priority_ok
141
- logger.trace("#{new_resource} already enabled - nothing to do")
141
+ logger.debug("#{new_resource} already enabled - nothing to do")
142
142
  else
143
143
  converge_by("enable service #{new_resource}") do
144
144
  enable_service
@@ -130,27 +130,21 @@ class Chef
130
130
  # The variable name used in /etc/rc.conf for enabling this service
131
131
  def service_enable_variable_name
132
132
  @service_enable_variable_name ||=
133
- begin
134
- # Look for name="foo" in the shell script @init_command. Use this for determining the variable name in /etc/rc.conf
135
- # corresponding to this service
136
- # For example: to enable the service mysql-server with the init command /usr/local/etc/rc.d/mysql-server, you need
137
- # to set mysql_enable="YES" in /etc/rc.conf$
138
- if init_command
139
- ::File.open(init_command) do |rcscript|
140
- rcscript.each_line do |line|
141
- if line =~ /^name="?(\w+)"?/
142
- return $1 + "_enable"
143
- end
133
+ if init_command
134
+ ::File.open(init_command) do |rcscript|
135
+ rcscript.each_line do |line|
136
+ if line =~ /^name="?(\w+)"?/
137
+ return $1 + "_enable"
144
138
  end
145
139
  end
146
- # some scripts support multiple instances through symlinks such as openvpn.
147
- # We should get the service name from rcvar.
148
- logger.trace("name=\"service\" not found at #{init_command}. falling back to rcvar")
149
- shell_out!("#{init_command} rcvar").stdout[/(\w+_enable)=/, 1]
150
- else
151
- # for why-run mode when the rcd_script is not there yet
152
- new_resource.service_name
153
140
  end
141
+ # some scripts support multiple instances through symlinks such as openvpn.
142
+ # We should get the service name from rcvar.
143
+ logger.trace("name=\"service\" not found at #{init_command}. falling back to rcvar")
144
+ shell_out!("#{init_command} rcvar").stdout[/(\w+_enable)=/, 1]
145
+ else
146
+ # for why-run mode when the rcd_script is not there yet
147
+ new_resource.service_name
154
148
  end
155
149
  end
156
150
 
@@ -161,9 +155,9 @@ class Chef
161
155
  case line
162
156
  when /^#{Regexp.escape(var_name)}="(\w+)"/
163
157
  enabled_state_found!
164
- if $1 =~ /^yes$/i
158
+ if $1.casecmp?("yes")
165
159
  current_resource.enabled true
166
- elsif $1 =~ /^(no|none)$/i
160
+ elsif $1.casecmp?("no") || $1.casecmp?("none")
167
161
  current_resource.enabled false
168
162
  end
169
163
  end
@@ -171,7 +165,7 @@ class Chef
171
165
  end
172
166
 
173
167
  if current_resource.enabled.nil?
174
- logger.trace("#{new_resource.name} enable/disable state unknown")
168
+ logger.debug("#{new_resource.name} enable/disable state unknown")
175
169
  current_resource.enabled false
176
170
  end
177
171
  end
@@ -105,7 +105,7 @@ class Chef
105
105
 
106
106
  def start_service
107
107
  if @current_resource.running
108
- logger.trace("#{@new_resource} already running, not starting")
108
+ logger.debug("#{@new_resource} already running, not starting")
109
109
  else
110
110
  if @new_resource.start_command
111
111
  super
@@ -117,7 +117,7 @@ class Chef
117
117
 
118
118
  def stop_service
119
119
  unless @current_resource.running
120
- logger.trace("#{@new_resource} not running, not stopping")
120
+ logger.debug("#{@new_resource} not running, not stopping")
121
121
  else
122
122
  if @new_resource.stop_command
123
123
  super
@@ -153,7 +153,7 @@ class Chef
153
153
  #
154
154
  def enable_service
155
155
  if @current_resource.enabled
156
- logger.trace("#{@new_resource} already enabled, not enabling")
156
+ logger.debug("#{@new_resource} already enabled, not enabling")
157
157
  else
158
158
  load_service
159
159
  end
@@ -161,7 +161,7 @@ class Chef
161
161
 
162
162
  def disable_service
163
163
  unless @current_resource.enabled
164
- logger.trace("#{@new_resource} not enabled, not disabling")
164
+ logger.debug("#{@new_resource} not enabled, not disabling")
165
165
  else
166
166
  unload_service
167
167
  end
@@ -76,6 +76,30 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
76
76
  end
77
77
  end
78
78
 
79
+ def systemd_service_status
80
+ @systemd_service_status ||= begin
81
+ # Collect all the status information for a service and returns it at once
82
+ options, args = get_systemctl_options_args
83
+ s = shell_out!(systemctl_path, args, "show", "-p", "UnitFileState", "-p", "ActiveState", new_resource.service_name, options)
84
+ # e.g. /bin/systemctl --system show -p UnitFileState -p ActiveState sshd.service
85
+ # Returns something like:
86
+ # ActiveState=active
87
+ # UnitFileState=enabled
88
+ status = {}
89
+ s.stdout.each_line do |line|
90
+ k, v = line.strip.split("=")
91
+ status[k] = v
92
+ end
93
+
94
+ # Assert requisite keys exist
95
+ unless status.key?("UnitFileState") && status.key?("ActiveState")
96
+ raise Chef::Exceptions::Service, "'#{systemctl_path} show' not reporting status for #{new_resource.service_name}!"
97
+ end
98
+
99
+ status
100
+ end
101
+ end
102
+
79
103
  def get_systemctl_options_args
80
104
  if new_resource.user
81
105
  raise NotImplementedError, "#{new_resource} does not support the user property on a target_mode host (yet)" if Chef::Config.target_mode?
@@ -98,7 +122,7 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
98
122
 
99
123
  def start_service
100
124
  if current_resource.running
101
- logger.trace("#{new_resource} already running, not starting")
125
+ logger.debug("#{new_resource} already running, not starting")
102
126
  else
103
127
  if new_resource.start_command
104
128
  super
@@ -111,7 +135,7 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
111
135
 
112
136
  def stop_service
113
137
  unless current_resource.running
114
- logger.trace("#{new_resource} not running, not stopping")
138
+ logger.debug("#{new_resource} not running, not stopping")
115
139
  else
116
140
  if new_resource.stop_command
117
141
  super
@@ -146,7 +170,7 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
146
170
 
147
171
  def enable_service
148
172
  if current_resource.masked || current_resource.indirect
149
- logger.trace("#{new_resource} cannot be enabled: it is masked or indirect")
173
+ logger.debug("#{new_resource} cannot be enabled: it is masked or indirect")
150
174
  return
151
175
  end
152
176
  options, args = get_systemctl_options_args
@@ -155,7 +179,7 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
155
179
 
156
180
  def disable_service
157
181
  if current_resource.masked || current_resource.indirect
158
- logger.trace("#{new_resource} cannot be disabled: it is masked or indirect")
182
+ logger.debug("#{new_resource} cannot be disabled: it is masked or indirect")
159
183
  return
160
184
  end
161
185
  options, args = get_systemctl_options_args
@@ -173,25 +197,30 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
173
197
  end
174
198
 
175
199
  def is_active?
176
- options, args = get_systemctl_options_args
177
- shell_out(systemctl_path, args, "is-active", new_resource.service_name, "--quiet", **options).exitstatus == 0
200
+ # Note: "activating" is not active (as with type=notify or a oneshot)
201
+ systemd_service_status["ActiveState"] == "active"
178
202
  end
179
203
 
180
204
  def is_enabled?
181
- options, args = get_systemctl_options_args
182
- shell_out(systemctl_path, args, "is-enabled", new_resource.service_name, "--quiet", **options).exitstatus == 0
205
+ # if the service is in sysv compat mode, shellout to determine if enabled
206
+ if systemd_service_status["UnitFileState"] == "bad"
207
+ options, args = get_systemctl_options_args
208
+ return shell_out(systemctl_path, args, "is-enabled", new_resource.service_name, "--quiet", **options).exitstatus == 0
209
+ end
210
+ # See https://github.com/systemd/systemd/blob/master/src/systemctl/systemctl-is-enabled.c
211
+ # Note: enabled-runtime is excluded because this is volatile, and the state of enabled-runtime
212
+ # specifically means that the service is not enabled
213
+ %w{enabled static generated alias indirect}.include?(systemd_service_status["UnitFileState"])
183
214
  end
184
215
 
185
216
  def is_indirect?
186
- options, args = get_systemctl_options_args
187
- s = shell_out(systemctl_path, args, "is-enabled", new_resource.service_name, **options)
188
- s.stdout.include?("indirect")
217
+ systemd_service_status["UnitFileState"] == "indirect"
189
218
  end
190
219
 
191
220
  def is_masked?
192
- options, args = get_systemctl_options_args
193
- s = shell_out(systemctl_path, args, "is-enabled", new_resource.service_name, **options)
194
- s.exitstatus != 0 && s.stdout.include?("masked")
221
+ # Note: masked-runtime is excluded, because runtime is volatile, and
222
+ # because masked-runtime is not masked.
223
+ systemd_service_status["UnitFileState"] == "masked"
195
224
  end
196
225
 
197
226
  private
@@ -28,10 +28,6 @@ class Chef
28
28
  # to maintain a local state of service across restart's internal calls
29
29
  attr_accessor :upstart_service_running
30
30
 
31
- provides :service, platform_family: "debian", override: true do
32
- upstart?
33
- end
34
-
35
31
  UPSTART_STATE_FORMAT = %r{\S+ \(?(start|stop)?\)? ?[/ ](\w+)}.freeze
36
32
 
37
33
  # Returns true if the configs for the service name has upstart variable
@@ -65,15 +61,8 @@ class Chef
65
61
  end
66
62
  end
67
63
 
68
- platform, version = Chef::Platform.find_platform_and_version(run_context.node)
69
- if platform == "ubuntu" && (8.04..9.04).cover?(version.to_f)
70
- @upstart_job_dir = "/etc/event.d"
71
- @upstart_conf_suffix = ""
72
- else
73
- @upstart_job_dir = "/etc/init"
74
- @upstart_conf_suffix = ".conf"
75
- end
76
-
64
+ @upstart_job_dir = "/etc/init"
65
+ @upstart_conf_suffix = ".conf"
77
66
  @command_success = true # new_resource.status_command= false, means upstart used
78
67
  @config_file_found = true
79
68
  @upstart_command_success = true