chef 16.4.41-universal-mingw32 → 16.5.64-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Rakefile +2 -2
  4. data/bin/knife +1 -1
  5. data/chef.gemspec +2 -1
  6. data/distro/templates/powershell/chef/chef.psm1.erb +18 -18
  7. data/ext/win32-eventlog/Rakefile +2 -2
  8. data/ext/win32-eventlog/chef-log.man.erb +4 -4
  9. data/lib/chef/application.rb +18 -16
  10. data/lib/chef/application/apply.rb +12 -7
  11. data/lib/chef/application/base.rb +26 -23
  12. data/lib/chef/application/client.rb +10 -4
  13. data/lib/chef/application/exit_code.rb +13 -4
  14. data/lib/chef/application/knife.rb +22 -11
  15. data/lib/chef/application/solo.rb +2 -1
  16. data/lib/chef/application/windows_service.rb +14 -14
  17. data/lib/chef/application/windows_service_manager.rb +6 -6
  18. data/lib/chef/chef_fs/knife.rb +2 -2
  19. data/lib/chef/chef_fs/parallelizer.rb +0 -1
  20. data/lib/chef/client.rb +10 -11
  21. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  22. data/lib/chef/cookbook/synchronizer.rb +2 -2
  23. data/lib/chef/cookbook_site_streaming_uploader.rb +13 -11
  24. data/lib/chef/cookbook_uploader.rb +1 -1
  25. data/lib/chef/data_collector.rb +6 -5
  26. data/lib/chef/data_collector/config_validation.rb +22 -13
  27. data/lib/chef/data_collector/run_end_message.rb +2 -2
  28. data/lib/chef/data_collector/run_start_message.rb +1 -1
  29. data/lib/chef/deprecated.rb +1 -1
  30. data/lib/chef/deprecation/warnings.rb +2 -2
  31. data/lib/chef/digester.rb +2 -2
  32. data/lib/chef/dsl/chef_vault.rb +1 -1
  33. data/lib/chef/dsl/data_query.rb +2 -2
  34. data/lib/chef/dsl/platform_introspection.rb +1 -1
  35. data/lib/chef/encrypted_data_bag_item.rb +3 -4
  36. data/lib/chef/encrypted_data_bag_item/decryptor.rb +3 -3
  37. data/lib/chef/encrypted_data_bag_item/encryptor.rb +3 -3
  38. data/lib/chef/environment.rb +2 -2
  39. data/lib/chef/event_loggers/windows_eventlog.rb +2 -2
  40. data/lib/chef/exceptions.rb +4 -4
  41. data/lib/chef/file_access_control/windows.rb +5 -1
  42. data/lib/chef/formatters/doc.rb +7 -6
  43. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +6 -5
  44. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
  45. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +9 -9
  46. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
  47. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +3 -3
  48. data/lib/chef/formatters/minimal.rb +5 -4
  49. data/lib/chef/http.rb +6 -4
  50. data/lib/chef/http/auth_credentials.rb +5 -1
  51. data/lib/chef/http/authenticator.rb +1 -1
  52. data/lib/chef/http/basic_client.rb +4 -2
  53. data/lib/chef/http/decompressor.rb +1 -1
  54. data/lib/chef/http/http_request.rb +7 -5
  55. data/lib/chef/http/socketless_chef_zero_client.rb +5 -2
  56. data/lib/chef/http/ssl_policies.rb +1 -1
  57. data/lib/chef/json_compat.rb +1 -1
  58. data/lib/chef/knife.rb +4 -4
  59. data/lib/chef/knife/bootstrap.rb +16 -14
  60. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  61. data/lib/chef/knife/bootstrap/templates/chef-full.erb +3 -3
  62. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +7 -7
  63. data/lib/chef/knife/client_create.rb +3 -3
  64. data/lib/chef/knife/config_get.rb +8 -97
  65. data/lib/chef/knife/config_get_profile.rb +9 -9
  66. data/lib/chef/knife/config_list.rb +139 -0
  67. data/lib/chef/knife/config_list_profiles.rb +8 -98
  68. data/lib/chef/knife/config_show.rb +127 -0
  69. data/lib/chef/knife/config_use.rb +61 -0
  70. data/lib/chef/knife/config_use_profile.rb +9 -24
  71. data/lib/chef/knife/configure.rb +2 -2
  72. data/lib/chef/knife/core/bootstrap_context.rb +2 -2
  73. data/lib/chef/knife/core/object_loader.rb +1 -1
  74. data/lib/chef/knife/core/windows_bootstrap_context.rb +11 -11
  75. data/lib/chef/knife/exec.rb +2 -2
  76. data/lib/chef/knife/node_show.rb +2 -2
  77. data/lib/chef/knife/serve.rb +3 -3
  78. data/lib/chef/knife/ssh.rb +16 -1
  79. data/lib/chef/knife/ssl_check.rb +3 -3
  80. data/lib/chef/knife/status.rb +2 -2
  81. data/lib/chef/knife/user_create.rb +2 -2
  82. data/lib/chef/knife/yaml_convert.rb +1 -1
  83. data/lib/chef/local_mode.rb +2 -2
  84. data/lib/chef/log/syslog.rb +2 -2
  85. data/lib/chef/log/winevt.rb +2 -2
  86. data/lib/chef/mixin/deep_merge.rb +0 -12
  87. data/lib/chef/mixin/openssl_helper.rb +1 -4
  88. data/lib/chef/mixin/template.rb +2 -2
  89. data/lib/chef/mixin/uris.rb +2 -2
  90. data/lib/chef/mixin/versioned_api.rb +1 -2
  91. data/lib/chef/monkey_patches/net_http.rb +4 -4
  92. data/lib/chef/node_map.rb +2 -2
  93. data/lib/chef/policy_builder/policyfile.rb +2 -2
  94. data/lib/chef/provider.rb +0 -4
  95. data/lib/chef/provider/file.rb +2 -2
  96. data/lib/chef/provider/ifconfig.rb +1 -1
  97. data/lib/chef/provider/launchd.rb +2 -2
  98. data/lib/chef/provider/mount/linux.rb +63 -0
  99. data/lib/chef/provider/package/rubygems.rb +21 -18
  100. data/lib/chef/provider/package/snap.rb +0 -1
  101. data/lib/chef/provider/package/windows.rb +2 -2
  102. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +3 -1
  103. data/lib/chef/provider/package/zypper.rb +1 -1
  104. data/lib/chef/provider/remote_file/content.rb +3 -0
  105. data/lib/chef/provider/remote_file/ftp.rb +6 -4
  106. data/lib/chef/provider/remote_file/sftp.rb +6 -4
  107. data/lib/chef/provider/route.rb +2 -6
  108. data/lib/chef/provider/service/macosx.rb +2 -2
  109. data/lib/chef/provider/template_finder.rb +2 -10
  110. data/lib/chef/provider/user/dscl.rb +3 -3
  111. data/lib/chef/provider/user/mac.rb +1 -1
  112. data/lib/chef/provider/windows_task.rb +1 -2
  113. data/lib/chef/provider/zypper_repository.rb +2 -2
  114. data/lib/chef/provider_resolver.rb +1 -1
  115. data/lib/chef/providers.rb +1 -0
  116. data/lib/chef/recipe.rb +2 -2
  117. data/lib/chef/resource.rb +1 -1
  118. data/lib/chef/resource/apt_repository.rb +1 -1
  119. data/lib/chef/resource/bff_package.rb +22 -0
  120. data/lib/chef/resource/breakpoint.rb +57 -2
  121. data/lib/chef/resource/build_essential.rb +1 -1
  122. data/lib/chef/resource/cab_package.rb +29 -0
  123. data/lib/chef/resource/chef_client_cron.rb +32 -25
  124. data/lib/chef/resource/chef_client_launchd.rb +194 -0
  125. data/lib/chef/resource/chef_client_scheduled_task.rb +21 -18
  126. data/lib/chef/resource/chef_client_systemd_timer.rb +24 -17
  127. data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
  128. data/lib/chef/resource/chef_gem.rb +10 -10
  129. data/lib/chef/resource/chef_handler.rb +148 -4
  130. data/lib/chef/resource/chef_sleep.rb +2 -2
  131. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  132. data/lib/chef/resource/cookbook_file.rb +2 -2
  133. data/lib/chef/resource/cron/cron_d.rb +0 -1
  134. data/lib/chef/resource/dnf_package.rb +2 -2
  135. data/lib/chef/resource/dsc_resource.rb +0 -1
  136. data/lib/chef/resource/dsc_script.rb +2 -2
  137. data/lib/chef/resource/execute.rb +6 -6
  138. data/lib/chef/resource/file.rb +4 -4
  139. data/lib/chef/resource/gem_package.rb +5 -5
  140. data/lib/chef/resource/homebrew_package.rb +3 -3
  141. data/lib/chef/resource/homebrew_update.rb +5 -5
  142. data/lib/chef/resource/hostname.rb +2 -2
  143. data/lib/chef/resource/launchd.rb +2 -1
  144. data/lib/chef/resource/locale.rb +2 -2
  145. data/lib/chef/resource/macos_userdefaults.rb +3 -3
  146. data/lib/chef/resource/notify_group.rb +0 -1
  147. data/lib/chef/resource/ohai.rb +46 -3
  148. data/lib/chef/resource/ohai_hint.rb +33 -0
  149. data/lib/chef/resource/openssl_dhparam.rb +27 -5
  150. data/lib/chef/resource/openssl_ec_private_key.rb +6 -3
  151. data/lib/chef/resource/openssl_ec_public_key.rb +2 -2
  152. data/lib/chef/resource/openssl_rsa_private_key.rb +6 -3
  153. data/lib/chef/resource/openssl_x509_certificate.rb +14 -14
  154. data/lib/chef/resource/openssl_x509_crl.rb +19 -10
  155. data/lib/chef/resource/openssl_x509_request.rb +14 -16
  156. data/lib/chef/resource/osx_profile.rb +77 -13
  157. data/lib/chef/resource/plist.rb +1 -1
  158. data/lib/chef/resource/powershell_package_source.rb +5 -5
  159. data/lib/chef/resource/reboot.rb +2 -2
  160. data/lib/chef/resource/remote_file.rb +3 -3
  161. data/lib/chef/resource/rhsm_register.rb +22 -10
  162. data/lib/chef/resource/ruby_block.rb +2 -2
  163. data/lib/chef/resource/scm/subversion.rb +2 -2
  164. data/lib/chef/resource/service.rb +3 -3
  165. data/lib/chef/resource/ssh_known_hosts_entry.rb +2 -2
  166. data/lib/chef/resource/support/cron.d.erb +1 -1
  167. data/lib/chef/resource/support/cron_access.erb +1 -1
  168. data/lib/chef/resource/support/sudoer.erb +1 -1
  169. data/lib/chef/resource/support/ulimit.erb +1 -1
  170. data/lib/chef/resource/sysctl.rb +1 -5
  171. data/lib/chef/resource/systemd_unit.rb +2 -2
  172. data/lib/chef/resource/template.rb +2 -2
  173. data/lib/chef/resource/windows_ad_join.rb +10 -3
  174. data/lib/chef/resource/windows_certificate.rb +6 -4
  175. data/lib/chef/resource/windows_firewall_profile.rb +22 -20
  176. data/lib/chef/resource/windows_package.rb +28 -5
  177. data/lib/chef/resource/windows_printer.rb +5 -3
  178. data/lib/chef/resource/windows_printer_port.rb +6 -4
  179. data/lib/chef/resource/windows_user_privilege.rb +53 -54
  180. data/lib/chef/resource/windows_workgroup.rb +3 -3
  181. data/lib/chef/resource/yum_package.rb +2 -2
  182. data/lib/chef/resources.rb +3 -1
  183. data/lib/chef/run_context.rb +2 -2
  184. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  185. data/lib/chef/run_lock.rb +2 -2
  186. data/lib/chef/search/query.rb +4 -5
  187. data/lib/chef/shell.rb +31 -26
  188. data/lib/chef/shell/ext.rb +11 -11
  189. data/lib/chef/shell/shell_session.rb +2 -2
  190. data/lib/chef/train_transport.rb +5 -104
  191. data/lib/chef/util/diff.rb +3 -3
  192. data/lib/chef/util/powershell/cmdlet.rb +3 -1
  193. data/lib/chef/util/powershell/ps_credential.rb +18 -14
  194. data/lib/chef/util/threaded_job_queue.rb +0 -2
  195. data/lib/chef/version.rb +1 -1
  196. data/lib/chef/win32/crypto.rb +1 -1
  197. data/lib/chef/win32/registry.rb +1 -2
  198. data/spec/data/shef-config.rb +1 -1
  199. data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -5
  200. data/spec/functional/resource/aix_service_spec.rb +2 -2
  201. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  202. data/spec/functional/resource/insserv_spec.rb +1 -1
  203. data/spec/functional/resource/user/dscl_spec.rb +1 -1
  204. data/spec/functional/resource/user/mac_user_spec.rb +1 -1
  205. data/spec/functional/resource/windows_task_spec.rb +13 -13
  206. data/spec/functional/version_spec.rb +3 -3
  207. data/spec/integration/client/client_spec.rb +4 -4
  208. data/spec/integration/client/exit_code_spec.rb +3 -2
  209. data/spec/integration/client/ipv6_spec.rb +1 -1
  210. data/spec/integration/knife/{config_list_profiles_spec.rb → config_list_spec.rb} +30 -29
  211. data/spec/integration/knife/{config_get_spec.rb → config_show_spec.rb} +3 -3
  212. data/spec/integration/knife/{config_use_profile_spec.rb → config_use_spec.rb} +53 -10
  213. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
  214. data/spec/integration/ohai/ohai_spec.rb +61 -0
  215. data/spec/integration/recipes/remote_directory.rb +1 -1
  216. data/spec/integration/solo/solo_spec.rb +5 -5
  217. data/spec/spec_helper.rb +6 -3
  218. data/spec/stress/win32/file_spec.rb +1 -1
  219. data/spec/support/chef_helpers.rb +2 -2
  220. data/spec/support/matchers/leak.rb +2 -2
  221. data/spec/support/platform_helpers.rb +16 -34
  222. data/spec/support/shared/functional/securable_resource.rb +108 -27
  223. data/spec/support/shared/functional/win32_service.rb +1 -1
  224. data/spec/support/shared/unit/application_dot_d.rb +5 -3
  225. data/spec/tiny_server.rb +0 -1
  226. data/spec/unit/application/client_spec.rb +2 -2
  227. data/spec/unit/application/exit_code_spec.rb +10 -0
  228. data/spec/unit/application_spec.rb +4 -6
  229. data/spec/unit/chef_fs/parallelizer_spec.rb +5 -1
  230. data/spec/unit/chef_fs/path_util_spec.rb +1 -1
  231. data/spec/unit/cookbook/synchronizer_spec.rb +2 -2
  232. data/spec/unit/cookbook_spec.rb +2 -2
  233. data/spec/unit/data_collector/config_validation_spec.rb +208 -0
  234. data/spec/unit/data_collector_spec.rb +0 -113
  235. data/spec/unit/dsl/declare_resource_spec.rb +1 -1
  236. data/spec/unit/file_access_control_spec.rb +1 -1
  237. data/spec/unit/knife/bootstrap_spec.rb +6 -6
  238. data/spec/unit/knife/core/ui_spec.rb +1 -0
  239. data/spec/unit/knife/ssh_spec.rb +2 -2
  240. data/spec/unit/lwrp_spec.rb +3 -3
  241. data/spec/unit/mixin/deep_merge_spec.rb +15 -0
  242. data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
  243. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  244. data/spec/unit/mixin/securable_spec.rb +2 -2
  245. data/spec/unit/node/immutable_collections_spec.rb +2 -2
  246. data/spec/unit/provider/mount/linux_spec.rb +97 -0
  247. data/spec/unit/provider/package/chocolatey_spec.rb +1 -1
  248. data/spec/unit/provider/package/powershell_spec.rb +1 -1
  249. data/spec/unit/provider/package/rubygems_spec.rb +4 -1
  250. data/spec/unit/provider/route_spec.rb +0 -2
  251. data/spec/unit/recipe_spec.rb +1 -1
  252. data/spec/unit/resource/chef_client_cron_spec.rb +35 -14
  253. data/spec/unit/resource/chef_client_launchd_spec.rb +127 -0
  254. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +36 -1
  255. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +54 -0
  256. data/spec/unit/resource/launchd_spec.rb +8 -0
  257. data/spec/unit/resource/osx_profile_spec.rb +67 -1
  258. data/spec/unit/resource/rhsm_register_spec.rb +56 -18
  259. data/spec/unit/resource/windows_uac_spec.rb +1 -1
  260. data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
  261. data/spec/unit/run_lock_spec.rb +5 -1
  262. data/spec/unit/runner_spec.rb +1 -2
  263. data/spec/unit/shell/shell_ext_spec.rb +46 -3
  264. data/spec/unit/shell/shell_session_spec.rb +35 -64
  265. data/spec/unit/shell_spec.rb +16 -19
  266. data/spec/unit/train_transport_spec.rb +14 -13
  267. data/spec/unit/util/selinux_spec.rb +2 -0
  268. data/tasks/rspec.rb +0 -2
  269. metadata +41 -17
  270. data/lib/chef/dist.rb +0 -68
  271. data/spec/integration/knife/config_get_profile_spec.rb +0 -114
@@ -40,9 +40,6 @@
40
40
  # CONNECTION WITH THE SOFTWARE OR THE USE OF OTHER DEALINGS IN THE
41
41
  # SOFTWARE.
42
42
 
43
- require "diff/lcs"
44
- require "diff/lcs/hunk"
45
-
46
43
  class Chef
47
44
  class Util
48
45
  class Diff
@@ -86,6 +83,9 @@ class Chef
86
83
  # produces a unified-output-format diff with 3 lines of context
87
84
  # ChefFS uses udiff() directly
88
85
  def udiff(old_file, new_file)
86
+ require "diff/lcs"
87
+ require "diff/lcs/hunk"
88
+
89
89
  diff_str = ""
90
90
  file_length_difference = 0
91
91
 
@@ -16,7 +16,9 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require "mixlib/shellout" unless defined?(Mixlib::ShellOut::DEFAULT_READ_TIMEOUT)
19
+ module Mixlib
20
+ autoload :ShellOut, "mixlib/shellout"
21
+ end
20
22
  require_relative "../../mixin/windows_architecture_helper"
21
23
  require_relative "cmdlet_result"
22
24
 
@@ -18,24 +18,28 @@
18
18
 
19
19
  require_relative "../../win32/crypto" if ChefUtils.windows?
20
20
 
21
- class Chef::Util::Powershell
22
- class PSCredential
23
- def initialize(username, password)
24
- @username = username
25
- @password = password
26
- end
21
+ class Chef
22
+ class Util
23
+ class Powershell
24
+ class PSCredential
25
+ def initialize(username, password)
26
+ @username = username
27
+ @password = password
28
+ end
27
29
 
28
- def to_psobject
29
- "New-Object System.Management.Automation.PSCredential('#{@username}',('#{encrypt(@password)}' | ConvertTo-SecureString))"
30
- end
30
+ def to_psobject
31
+ "New-Object System.Management.Automation.PSCredential('#{@username}',('#{encrypt(@password)}' | ConvertTo-SecureString))"
32
+ end
31
33
 
32
- alias to_s to_psobject
33
- alias to_text to_psobject
34
+ alias to_s to_psobject
35
+ alias to_text to_psobject
34
36
 
35
- private
37
+ private
36
38
 
37
- def encrypt(str)
38
- Chef::ReservedNames::Win32::Crypto.encrypt(str)
39
+ def encrypt(str)
40
+ Chef::ReservedNames::Win32::Crypto.encrypt(str)
41
+ end
42
+ end
39
43
  end
40
44
  end
41
45
  end
@@ -13,8 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "thread"
17
-
18
16
  class Chef
19
17
  class Util
20
18
  # A simple threaded job queue
@@ -23,7 +23,7 @@ require_relative "version_string"
23
23
 
24
24
  class Chef
25
25
  CHEF_ROOT = File.expand_path("..", __dir__)
26
- VERSION = Chef::VersionString.new("16.4.41")
26
+ VERSION = Chef::VersionString.new("16.5.64")
27
27
  end
28
28
 
29
29
  #
@@ -20,7 +20,7 @@ require_relative "error"
20
20
  require_relative "api/memory"
21
21
  require_relative "api/crypto"
22
22
  require_relative "unicode"
23
- require "digest"
23
+ require "digest" unless defined?(Digest)
24
24
 
25
25
  class Chef
26
26
  module ReservedNames::Win32
@@ -21,9 +21,8 @@ require_relative "api"
21
21
  require_relative "../mixin/wide_string"
22
22
 
23
23
  if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
24
- require_relative "../monkey_patches/win32/registry"
24
+ Win32.autoload :Registry, File.expand_path("../monkey_patches/win32/registry", __dir__)
25
25
  require_relative "api/registry"
26
- require "win32/registry" unless defined?(Win32::Registry)
27
26
  require "win32/api"
28
27
  end
29
28
 
@@ -7,5 +7,5 @@ ohai[:disabled_plugins] << "solaris2::cpu" << "solaris2::dmi" << "solaris2::file
7
7
  ohai[:disabled_plugins] << "solaris2::virtualization" << "solaris2::zpools"
8
8
  ohai[:disabled_plugins] << "c" << "php" << "mono" << "groovy" << "lua" << "erlang"
9
9
  ohai[:disabled_plugins] << "kernel" << "linux::filesystem" << "ruby"
10
- chef_repo_path File.dirname(__FILE__)
10
+ chef_repo_path __dir__
11
11
  cookbook_path "#{chef_repo_path}/cookbooks"
@@ -19,6 +19,7 @@
19
19
  require "spec_helper"
20
20
  require "securerandom"
21
21
  require "chef/event_loggers/windows_eventlog"
22
+ require "chef-utils"
22
23
  if ChefUtils.windows?
23
24
  require "win32/eventlog"
24
25
  include Win32
@@ -49,7 +50,7 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only do
49
50
  logger.run_start(version, run_status)
50
51
 
51
52
  expect(event_log.read(flags, offset).any? do |e|
52
- e.source == Chef::Dist::SHORT && e.event_id == 10000 &&
53
+ e.source == ChefUtils::Dist::Infra::SHORT && e.event_id == 10000 &&
53
54
  e.string_inserts[0].include?(version)
54
55
  end ).to be_truthy
55
56
  end
@@ -58,7 +59,7 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only do
58
59
  logger.run_started(run_status)
59
60
 
60
61
  expect(event_log.read(flags, offset).any? do |e|
61
- e.source == Chef::Dist::SHORT && e.event_id == 10001 &&
62
+ e.source == ChefUtils::Dist::Infra::SHORT && e.event_id == 10001 &&
62
63
  e.string_inserts[0].include?(run_id)
63
64
  end ).to be_truthy
64
65
  end
@@ -68,7 +69,7 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only do
68
69
  logger.run_completed(node)
69
70
 
70
71
  expect(event_log.read(flags, offset).any? do |e|
71
- e.source == Chef::Dist::SHORT && e.event_id == 10002 &&
72
+ e.source == ChefUtils::Dist::Infra::SHORT && e.event_id == 10002 &&
72
73
  e.string_inserts[0].include?(run_id) &&
73
74
  e.string_inserts[1].include?(elapsed_time.to_s)
74
75
  end).to be_truthy
@@ -79,7 +80,7 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only do
79
80
  logger.run_failed(mock_exception)
80
81
 
81
82
  expect(event_log.read(flags, offset).any? do |e|
82
- e.source == Chef::Dist::SHORT && e.event_id == 10003 &&
83
+ e.source == ChefUtils::Dist::Infra::SHORT && e.event_id == 10003 &&
83
84
  e.string_inserts[0].include?(run_id) &&
84
85
  e.string_inserts[1].include?(elapsed_time.to_s) &&
85
86
  e.string_inserts[2].include?(mock_exception.class.name) &&
@@ -93,7 +94,7 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only do
93
94
  logger.run_failed(mock_exception)
94
95
 
95
96
  expect(event_log.read(flags, offset).any? do |e|
96
- e.source == Chef::Dist::SHORT && e.event_id == 10003 &&
97
+ e.source == ChefUtils::Dist::Infra::SHORT && e.event_id == 10003 &&
97
98
  e.string_inserts[0].include?("UNKNOWN") &&
98
99
  e.string_inserts[1].include?("UNKNOWN") &&
99
100
  e.string_inserts[2].include?(mock_exception.class.name) &&
@@ -89,7 +89,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
89
89
 
90
90
  describe "When service is a subsystem" do
91
91
  before(:all) do
92
- script_dir = File.join(File.dirname(__FILE__), "/../assets/")
92
+ script_dir = File.join(__dir__, "/../assets/")
93
93
  shell_out!("mkssys -s ctestsys -p #{script_dir}/testchefsubsys -u #{get_user_id} -S -n 15 -f 9 -R -Q")
94
94
  end
95
95
 
@@ -117,7 +117,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
117
117
  # Cannot run this test on a WPAR
118
118
  describe "When service is a group", :not_wpar do
119
119
  before(:all) do
120
- script_dir = File.join(File.dirname(__FILE__), "/../assets/")
120
+ script_dir = File.join(__dir__, "/../assets/")
121
121
  shell_out!("mkssys -s ctestsys -p #{script_dir}/testchefsubsys -u #{get_user_id} -S -n 15 -f 9 -R -Q -G ctestgrp")
122
122
  end
123
123
 
@@ -69,7 +69,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
69
69
 
70
70
  before(:all) do
71
71
  File.delete("/etc/rc.d/init.d/chefinittest") if File.exist?("/etc/rc.d/init.d/chefinittest")
72
- FileUtils.cp((File.join(File.dirname(__FILE__), "/../assets/chefinittest")).to_s, "/etc/rc.d/init.d/chefinittest")
72
+ FileUtils.cp((File.join(__dir__, "/../assets/chefinittest")).to_s, "/etc/rc.d/init.d/chefinittest")
73
73
  end
74
74
 
75
75
  after(:all) do
@@ -74,7 +74,7 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
74
74
 
75
75
  before(:all) do
76
76
  File.delete("/etc/init.d/inittest") if File.exist?("/etc/init.d/inittest")
77
- FileUtils.cp((File.join(File.dirname(__FILE__), "/../assets/inittest")).to_s, "/etc/init.d/inittest")
77
+ FileUtils.cp((File.join(__dir__, "/../assets/inittest")).to_s, "/etc/init.d/inittest")
78
78
  FileUtils.chmod(0755, "/etc/init.d/inittest")
79
79
  end
80
80
 
@@ -19,7 +19,7 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
 
21
21
  metadata = {
22
- macos_only: true,
22
+ macos_1013: true,
23
23
  requires_root: true,
24
24
  }
25
25
 
@@ -19,7 +19,7 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
 
21
21
  metadata = {
22
- macos_1014: true,
22
+ macos_gte_1014: true,
23
23
  requires_root: true,
24
24
  }
25
25
 
@@ -18,7 +18,7 @@
18
18
 
19
19
  require "spec_helper"
20
20
  require "chef/provider/windows_task"
21
- require "chef/dist"
21
+ require "chef-utils/dist"
22
22
 
23
23
  describe Chef::Resource::WindowsTask, :windows_only do
24
24
  # resource.task.application_name will default to task_name unless resource.command is set
@@ -47,37 +47,37 @@ describe Chef::Resource::WindowsTask, :windows_only do
47
47
 
48
48
  context "With Arguments" do
49
49
  it "creates scheduled task and sets command arguments" do
50
- subject.command "#{Chef::Dist::CLIENT} -W"
50
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
51
51
  call_for_create_action
52
52
  # loading current resource again to check new task is creted and it matches task parameters
53
53
  current_resource = call_for_load_current_resource
54
54
  expect(current_resource.exists).to eq(true)
55
- expect(current_resource.task.application_name).to eq(Chef::Dist::CLIENT)
55
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
56
56
  expect(current_resource.task.parameters).to eq("-W")
57
57
  end
58
58
 
59
59
  it "does not converge the resource if it is already converged" do
60
- subject.command "#{Chef::Dist::CLIENT} -W"
60
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
61
61
  subject.run_action(:create)
62
- subject.command "#{Chef::Dist::CLIENT} -W"
62
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
63
63
  subject.run_action(:create)
64
64
  expect(subject).not_to be_updated_by_last_action
65
65
  end
66
66
 
67
67
  it "creates scheduled task and sets command arguments when arguments inclusive single quotes" do
68
- subject.command "#{Chef::Dist::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
68
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
69
69
  call_for_create_action
70
70
  # loading current resource again to check new task is creted and it matches task parameters
71
71
  current_resource = call_for_load_current_resource
72
72
  expect(current_resource.exists).to eq(true)
73
- expect(current_resource.task.application_name).to eq(Chef::Dist::CLIENT)
73
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
74
74
  expect(current_resource.task.parameters).to eq("-W -L 'C:\\chef\\chef-ad-join.log'")
75
75
  end
76
76
 
77
77
  it "does not converge the resource if it is already converged" do
78
- subject.command "#{Chef::Dist::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
78
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
79
79
  subject.run_action(:create)
80
- subject.command "#{Chef::Dist::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
80
+ subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
81
81
  subject.run_action(:create)
82
82
  expect(subject).not_to be_updated_by_last_action
83
83
  end
@@ -137,19 +137,19 @@ describe Chef::Resource::WindowsTask, :windows_only do
137
137
 
138
138
  context "Without Arguments" do
139
139
  it "creates scheduled task and sets command arguments" do
140
- subject.command Chef::Dist::CLIENT
140
+ subject.command ChefUtils::Dist::Infra::CLIENT
141
141
  call_for_create_action
142
142
  # loading current resource again to check new task is creted and it matches task parameters
143
143
  current_resource = call_for_load_current_resource
144
144
  expect(current_resource.exists).to eq(true)
145
- expect(current_resource.task.application_name).to eq(Chef::Dist::CLIENT)
145
+ expect(current_resource.task.application_name).to eq(ChefUtils::Dist::Infra::CLIENT)
146
146
  expect(current_resource.task.parameters).to be_empty
147
147
  end
148
148
 
149
149
  it "does not converge the resource if it is already converged" do
150
- subject.command Chef::Dist::CLIENT
150
+ subject.command ChefUtils::Dist::Infra::CLIENT
151
151
  subject.run_action(:create)
152
- subject.command Chef::Dist::CLIENT
152
+ subject.command ChefUtils::Dist::Infra::CLIENT
153
153
  subject.run_action(:create)
154
154
  expect(subject).not_to be_updated_by_last_action
155
155
  end
@@ -19,13 +19,13 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
  require "chef/version"
21
21
  require "ohai/version"
22
- require "chef/dist"
22
+ require "chef-utils/dist"
23
23
 
24
24
  describe "Chef Versions", :executables do
25
25
  include Chef::Mixin::ShellOut
26
- let(:chef_dir) { File.join(File.dirname(__FILE__), "..", "..") }
26
+ let(:chef_dir) { File.join(__dir__, "..", "..") }
27
27
 
28
- binaries = [ Chef::Dist::CLIENT, "chef-shell", "chef-apply", "knife", Chef::Dist::SOLOEXEC ]
28
+ binaries = [ ChefUtils::Dist::Infra::CLIENT, "chef-shell", "chef-apply", "knife", ChefUtils::Dist::Solo::EXEC ]
29
29
 
30
30
  binaries.each do |binary|
31
31
  it "#{binary} version should be sane" do
@@ -3,7 +3,7 @@ require "support/shared/integration/integration_helper"
3
3
  require "chef/mixin/shell_out"
4
4
  require "tiny_server"
5
5
  require "tmpdir"
6
- require "chef/dist"
6
+ require "chef-utils/dist"
7
7
 
8
8
  describe "chef-client" do
9
9
 
@@ -34,7 +34,7 @@ describe "chef-client" do
34
34
  include IntegrationSupport
35
35
  include Chef::Mixin::ShellOut
36
36
 
37
- let(:chef_dir) { File.join(File.dirname(__FILE__), "..", "..", "..", "bin") }
37
+ let(:chef_dir) { File.join(__dir__, "..", "..", "..", "bin") }
38
38
 
39
39
  # Invoke `chef-client` as `ruby PATH/TO/chef-client`. This ensures the
40
40
  # following constraints are satisfied:
@@ -45,8 +45,8 @@ describe "chef-client" do
45
45
  # machine that has omnibus chef installed. In that case we need to ensure
46
46
  # we're running `chef-client` from the source tree and not the external one.
47
47
  # cf. CHEF-4914
48
- let(:chef_client) { "bundle exec #{Chef::Dist::CLIENT} --minimal-ohai" }
49
- let(:chef_solo) { "bundle exec #{Chef::Dist::SOLOEXEC} --legacy-mode --minimal-ohai" }
48
+ let(:chef_client) { "bundle exec #{ChefUtils::Dist::Infra::CLIENT} --minimal-ohai" }
49
+ let(:chef_solo) { "bundle exec #{ChefUtils::Dist::Solo::EXEC} --legacy-mode --minimal-ohai" }
50
50
 
51
51
  when_the_repository "has a cookbook with a no-op recipe" do
52
52
  before { file "cookbooks/x/recipes/default.rb", "" }
@@ -5,13 +5,14 @@ require "chef/mixin/shell_out"
5
5
  require "tiny_server"
6
6
  require "tmpdir"
7
7
  require "chef/platform"
8
+ require "chef-utils/dist"
8
9
 
9
10
  describe "chef-client" do
10
11
 
11
12
  include IntegrationSupport
12
13
  include Chef::Mixin::ShellOut
13
14
 
14
- let(:chef_dir) { File.join(File.dirname(__FILE__), "..", "..", "..", "bin") }
15
+ let(:chef_dir) { File.join(__dir__, "..", "..", "..", "bin") }
15
16
 
16
17
  # Invoke `chef-client` as `ruby PATH/TO/chef-client`. This ensures the
17
18
  # following constraints are satisfied:
@@ -22,7 +23,7 @@ describe "chef-client" do
22
23
  # machine that has omnibus chef installed. In that case we need to ensure
23
24
  # we're running `chef-client` from the source tree and not the external one.
24
25
  # cf. CHEF-4914
25
- let(:chef_client) { "bundle exec #{Chef::Dist::CLIENT} --no-fork --minimal-ohai" }
26
+ let(:chef_client) { "bundle exec #{ChefUtils::Dist::Infra::CLIENT} --no-fork --minimal-ohai" }
26
27
 
27
28
  let(:critical_env_vars) { %w{PATH RUBYOPT BUNDLE_GEMFILE GEM_PATH}.map { |o| "#{o}=#{ENV[o]}" } .join(" ") }
28
29
 
@@ -74,7 +74,7 @@ describe "chef-client" do
74
74
  basic_config_file
75
75
  end
76
76
 
77
- let(:chef_dir) { File.join(File.dirname(__FILE__), "..", "..", "..", "bin") }
77
+ let(:chef_dir) { File.join(__dir__, "..", "..", "..", "bin") }
78
78
 
79
79
  let(:chef_client_cmd) { %Q{bundle exec chef-client --minimal-ohai -c "#{path_to("config/client.rb")}" -lwarn} }
80
80
 
@@ -17,7 +17,7 @@ require "spec_helper"
17
17
  require "support/shared/integration/integration_helper"
18
18
  require "support/shared/context/config"
19
19
 
20
- describe "knife config list-profiles", :workstation do
20
+ describe "knife config list", :workstation do
21
21
  include IntegrationSupport
22
22
  include KnifeSupport
23
23
 
@@ -25,14 +25,14 @@ describe "knife config list-profiles", :workstation do
25
25
 
26
26
  when_the_repository("has a custom env") do
27
27
  let(:cmd_args) { [] }
28
- let(:knife_list_profiles) do
29
- knife("config", "list-profiles", *cmd_args, instance_filter: lambda { |instance|
28
+ let(:knife_list) do
29
+ knife("config", "list", *cmd_args, instance_filter: lambda { |instance|
30
30
  # Fake the failsafe check because this command doesn't actually process knife.rb.
31
31
  $__KNIFE_INTEGRATION_FAILSAFE_CHECK << " ole"
32
32
  allow(File).to receive(:file?).and_call_original
33
33
  })
34
34
  end
35
- subject { knife_list_profiles.stdout }
35
+ subject { knife_list.stdout }
36
36
 
37
37
  around do |ex|
38
38
  # Store and reset the value of some env vars.
@@ -40,7 +40,7 @@ describe "knife config list-profiles", :workstation do
40
40
  old_wd = Dir.pwd
41
41
  # Clear these out because they are cached permanently.
42
42
  ChefConfig::PathHelper.class_exec { remove_class_variable(:@@home_dir) }
43
- Chef::Knife::ConfigListProfiles.reset_config_loader!
43
+ Chef::Knife::ConfigList.reset_config_loader!
44
44
  begin
45
45
  ex.run
46
46
  ensure
@@ -57,6 +57,7 @@ describe "knife config list-profiles", :workstation do
57
57
  Dir.chdir(path_to("repo"))
58
58
  ENV[ChefUtils.windows? ? "CD" : "PWD"] = Dir.pwd
59
59
  ENV["HOME"] = path_to(".")
60
+ allow(TTY::Screen).to receive(:width).and_return(200)
60
61
  end
61
62
 
62
63
  # NOTE: The funky formatting with # at the end of the line of some of the
@@ -64,13 +65,13 @@ describe "knife config list-profiles", :workstation do
64
65
  # substantial trailing whitespace in most cases which many editors "helpfully" remove.
65
66
 
66
67
  context "with no credentials file" do
67
- subject { knife_list_profiles.stderr }
68
+ subject { knife_list.stderr }
68
69
  it { is_expected.to eq "FATAL: No profiles found, #{path_to(".chef/credentials")} does not exist or is empty\n" }
69
70
  end
70
71
 
71
72
  context "with an empty credentials file" do
72
73
  before { file(".chef/credentials", "") }
73
- subject { knife_list_profiles.stderr }
74
+ subject { knife_list.stderr }
74
75
  it { is_expected.to eq "FATAL: No profiles found, #{path_to(".chef/credentials")} does not exist or is empty\n" }
75
76
  end
76
77
 
@@ -82,9 +83,9 @@ describe "knife config list-profiles", :workstation do
82
83
  chef_server_url = "https://example.com/organizations/testorg"
83
84
  EOH
84
85
  it { is_expected.to eq <<~EOH.delete("#") }
85
- Profile Client Key Server #
86
- ----------------------------------------------------------------------------------#
87
- *default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg#
86
+ Profile Client Key Server #
87
+ --------------------------------------------------------------------------------#
88
+ *default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg #
88
89
  EOH
89
90
  end
90
91
 
@@ -106,11 +107,11 @@ describe "knife config list-profiles", :workstation do
106
107
  chef_server_url = "https://example.com/organizations/testorg"
107
108
  EOH
108
109
  it { is_expected.to eq <<~EOH.delete("#") }
109
- Profile Client Key Server #
110
- ----------------------------------------------------------------------------------#
111
- *default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg#
112
- prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
113
- qa qauser ~/src/qauser.pem https://example.com/organizations/testorg#
110
+ Profile Client Key Server #
111
+ --------------------------------------------------------------------------------#
112
+ *default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg #
113
+ prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
114
+ qa qauser ~/src/qauser.pem https://example.com/organizations/testorg #
114
115
  EOH
115
116
  end
116
117
 
@@ -133,11 +134,11 @@ describe "knife config list-profiles", :workstation do
133
134
  chef_server_url = "https://example.com/organizations/testorg"
134
135
  EOH
135
136
  it { is_expected.to eq <<~EOH.delete("#") }
136
- Profile Client Key Server #
137
- ----------------------------------------------------------------------------------#
138
- default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg#
139
- *prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
140
- qa qauser ~/src/qauser.pem https://example.com/organizations/testorg#
137
+ Profile Client Key Server #
138
+ --------------------------------------------------------------------------------#
139
+ default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg #
140
+ *prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
141
+ qa qauser ~/src/qauser.pem https://example.com/organizations/testorg #
141
142
  EOH
142
143
  end
143
144
 
@@ -160,11 +161,11 @@ describe "knife config list-profiles", :workstation do
160
161
  chef_server_url = "https://example.com/organizations/testorg"
161
162
  EOH
162
163
  it { is_expected.to eq <<~EOH.delete("#") }
163
- Profile Client Key Server #
164
- ---------------------------------------------------------------------------------#
165
- default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg#
166
- prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
167
- qa qauser ~/src/qauser.pem https://example.com/organizations/testorg#
164
+ Profile Client Key Server #
165
+ --------------------------------------------------------------------------------#
166
+ default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg #
167
+ prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
168
+ qa qauser ~/src/qauser.pem https://example.com/organizations/testorg #
168
169
  EOH
169
170
  end
170
171
 
@@ -173,7 +174,7 @@ describe "knife config list-profiles", :workstation do
173
174
  [default]
174
175
  chef_server_url = "https://example.com/organizations/testorg"
175
176
  EOH
176
- it { is_expected.to match %r{^*default .*? https://example.com/organizations/testorg$} }
177
+ it { is_expected.to match %r{^*default .*? https://example.com/organizations/testorg} }
177
178
  end
178
179
 
179
180
  context "with -i" do
@@ -183,9 +184,9 @@ describe "knife config list-profiles", :workstation do
183
184
  chef_server_url = "https://example.com/organizations/testorg"
184
185
  EOH
185
186
  it { is_expected.to eq <<~EOH.delete("#") }
186
- Profile Client Key Server #
187
- ----------------------------------------------------------------#
188
- *default https://example.com/organizations/testorg#
187
+ Profile Client Key Server #
188
+ --------------------------------------------------------------#
189
+ *default https://example.com/organizations/testorg #
189
190
  EOH
190
191
  end
191
192