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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Rakefile +2 -2
- data/bin/knife +1 -1
- data/chef.gemspec +2 -1
- data/distro/templates/powershell/chef/chef.psm1.erb +18 -18
- data/ext/win32-eventlog/Rakefile +2 -2
- data/ext/win32-eventlog/chef-log.man.erb +4 -4
- data/lib/chef/application.rb +18 -16
- data/lib/chef/application/apply.rb +12 -7
- data/lib/chef/application/base.rb +26 -23
- data/lib/chef/application/client.rb +10 -4
- data/lib/chef/application/exit_code.rb +13 -4
- data/lib/chef/application/knife.rb +22 -11
- data/lib/chef/application/solo.rb +2 -1
- data/lib/chef/application/windows_service.rb +14 -14
- data/lib/chef/application/windows_service_manager.rb +6 -6
- data/lib/chef/chef_fs/knife.rb +2 -2
- data/lib/chef/chef_fs/parallelizer.rb +0 -1
- data/lib/chef/client.rb +10 -11
- data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
- data/lib/chef/cookbook/synchronizer.rb +2 -2
- data/lib/chef/cookbook_site_streaming_uploader.rb +13 -11
- data/lib/chef/cookbook_uploader.rb +1 -1
- data/lib/chef/data_collector.rb +6 -5
- data/lib/chef/data_collector/config_validation.rb +22 -13
- data/lib/chef/data_collector/run_end_message.rb +2 -2
- data/lib/chef/data_collector/run_start_message.rb +1 -1
- data/lib/chef/deprecated.rb +1 -1
- data/lib/chef/deprecation/warnings.rb +2 -2
- data/lib/chef/digester.rb +2 -2
- data/lib/chef/dsl/chef_vault.rb +1 -1
- data/lib/chef/dsl/data_query.rb +2 -2
- data/lib/chef/dsl/platform_introspection.rb +1 -1
- data/lib/chef/encrypted_data_bag_item.rb +3 -4
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +3 -3
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +3 -3
- data/lib/chef/environment.rb +2 -2
- data/lib/chef/event_loggers/windows_eventlog.rb +2 -2
- data/lib/chef/exceptions.rb +4 -4
- data/lib/chef/file_access_control/windows.rb +5 -1
- data/lib/chef/formatters/doc.rb +7 -6
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +6 -5
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +3 -3
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +9 -9
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +3 -3
- data/lib/chef/formatters/minimal.rb +5 -4
- data/lib/chef/http.rb +6 -4
- data/lib/chef/http/auth_credentials.rb +5 -1
- data/lib/chef/http/authenticator.rb +1 -1
- data/lib/chef/http/basic_client.rb +4 -2
- data/lib/chef/http/decompressor.rb +1 -1
- data/lib/chef/http/http_request.rb +7 -5
- data/lib/chef/http/socketless_chef_zero_client.rb +5 -2
- data/lib/chef/http/ssl_policies.rb +1 -1
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/knife.rb +4 -4
- data/lib/chef/knife/bootstrap.rb +16 -14
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +3 -3
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +7 -7
- data/lib/chef/knife/client_create.rb +3 -3
- data/lib/chef/knife/config_get.rb +8 -97
- data/lib/chef/knife/config_get_profile.rb +9 -9
- data/lib/chef/knife/config_list.rb +139 -0
- data/lib/chef/knife/config_list_profiles.rb +8 -98
- data/lib/chef/knife/config_show.rb +127 -0
- data/lib/chef/knife/config_use.rb +61 -0
- data/lib/chef/knife/config_use_profile.rb +9 -24
- data/lib/chef/knife/configure.rb +2 -2
- data/lib/chef/knife/core/bootstrap_context.rb +2 -2
- data/lib/chef/knife/core/object_loader.rb +1 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +11 -11
- data/lib/chef/knife/exec.rb +2 -2
- data/lib/chef/knife/node_show.rb +2 -2
- data/lib/chef/knife/serve.rb +3 -3
- data/lib/chef/knife/ssh.rb +16 -1
- data/lib/chef/knife/ssl_check.rb +3 -3
- data/lib/chef/knife/status.rb +2 -2
- data/lib/chef/knife/user_create.rb +2 -2
- data/lib/chef/knife/yaml_convert.rb +1 -1
- data/lib/chef/local_mode.rb +2 -2
- data/lib/chef/log/syslog.rb +2 -2
- data/lib/chef/log/winevt.rb +2 -2
- data/lib/chef/mixin/deep_merge.rb +0 -12
- data/lib/chef/mixin/openssl_helper.rb +1 -4
- data/lib/chef/mixin/template.rb +2 -2
- data/lib/chef/mixin/uris.rb +2 -2
- data/lib/chef/mixin/versioned_api.rb +1 -2
- data/lib/chef/monkey_patches/net_http.rb +4 -4
- data/lib/chef/node_map.rb +2 -2
- data/lib/chef/policy_builder/policyfile.rb +2 -2
- data/lib/chef/provider.rb +0 -4
- data/lib/chef/provider/file.rb +2 -2
- data/lib/chef/provider/ifconfig.rb +1 -1
- data/lib/chef/provider/launchd.rb +2 -2
- data/lib/chef/provider/mount/linux.rb +63 -0
- data/lib/chef/provider/package/rubygems.rb +21 -18
- data/lib/chef/provider/package/snap.rb +0 -1
- data/lib/chef/provider/package/windows.rb +2 -2
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +3 -1
- data/lib/chef/provider/package/zypper.rb +1 -1
- data/lib/chef/provider/remote_file/content.rb +3 -0
- data/lib/chef/provider/remote_file/ftp.rb +6 -4
- data/lib/chef/provider/remote_file/sftp.rb +6 -4
- data/lib/chef/provider/route.rb +2 -6
- data/lib/chef/provider/service/macosx.rb +2 -2
- data/lib/chef/provider/template_finder.rb +2 -10
- data/lib/chef/provider/user/dscl.rb +3 -3
- data/lib/chef/provider/user/mac.rb +1 -1
- data/lib/chef/provider/windows_task.rb +1 -2
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/provider_resolver.rb +1 -1
- data/lib/chef/providers.rb +1 -0
- data/lib/chef/recipe.rb +2 -2
- data/lib/chef/resource.rb +1 -1
- data/lib/chef/resource/apt_repository.rb +1 -1
- data/lib/chef/resource/bff_package.rb +22 -0
- data/lib/chef/resource/breakpoint.rb +57 -2
- data/lib/chef/resource/build_essential.rb +1 -1
- data/lib/chef/resource/cab_package.rb +29 -0
- data/lib/chef/resource/chef_client_cron.rb +32 -25
- data/lib/chef/resource/chef_client_launchd.rb +194 -0
- data/lib/chef/resource/chef_client_scheduled_task.rb +21 -18
- data/lib/chef/resource/chef_client_systemd_timer.rb +24 -17
- data/lib/chef/resource/chef_client_trusted_certificate.rb +101 -0
- data/lib/chef/resource/chef_gem.rb +10 -10
- data/lib/chef/resource/chef_handler.rb +148 -4
- data/lib/chef/resource/chef_sleep.rb +2 -2
- data/lib/chef/resource/chef_vault_secret.rb +1 -1
- data/lib/chef/resource/cookbook_file.rb +2 -2
- data/lib/chef/resource/cron/cron_d.rb +0 -1
- data/lib/chef/resource/dnf_package.rb +2 -2
- data/lib/chef/resource/dsc_resource.rb +0 -1
- data/lib/chef/resource/dsc_script.rb +2 -2
- data/lib/chef/resource/execute.rb +6 -6
- data/lib/chef/resource/file.rb +4 -4
- data/lib/chef/resource/gem_package.rb +5 -5
- data/lib/chef/resource/homebrew_package.rb +3 -3
- data/lib/chef/resource/homebrew_update.rb +5 -5
- data/lib/chef/resource/hostname.rb +2 -2
- data/lib/chef/resource/launchd.rb +2 -1
- data/lib/chef/resource/locale.rb +2 -2
- data/lib/chef/resource/macos_userdefaults.rb +3 -3
- data/lib/chef/resource/notify_group.rb +0 -1
- data/lib/chef/resource/ohai.rb +46 -3
- data/lib/chef/resource/ohai_hint.rb +33 -0
- data/lib/chef/resource/openssl_dhparam.rb +27 -5
- data/lib/chef/resource/openssl_ec_private_key.rb +6 -3
- data/lib/chef/resource/openssl_ec_public_key.rb +2 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +6 -3
- data/lib/chef/resource/openssl_x509_certificate.rb +14 -14
- data/lib/chef/resource/openssl_x509_crl.rb +19 -10
- data/lib/chef/resource/openssl_x509_request.rb +14 -16
- data/lib/chef/resource/osx_profile.rb +77 -13
- data/lib/chef/resource/plist.rb +1 -1
- data/lib/chef/resource/powershell_package_source.rb +5 -5
- data/lib/chef/resource/reboot.rb +2 -2
- data/lib/chef/resource/remote_file.rb +3 -3
- data/lib/chef/resource/rhsm_register.rb +22 -10
- data/lib/chef/resource/ruby_block.rb +2 -2
- data/lib/chef/resource/scm/subversion.rb +2 -2
- data/lib/chef/resource/service.rb +3 -3
- data/lib/chef/resource/ssh_known_hosts_entry.rb +2 -2
- data/lib/chef/resource/support/cron.d.erb +1 -1
- data/lib/chef/resource/support/cron_access.erb +1 -1
- data/lib/chef/resource/support/sudoer.erb +1 -1
- data/lib/chef/resource/support/ulimit.erb +1 -1
- data/lib/chef/resource/sysctl.rb +1 -5
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +10 -3
- data/lib/chef/resource/windows_certificate.rb +6 -4
- data/lib/chef/resource/windows_firewall_profile.rb +22 -20
- data/lib/chef/resource/windows_package.rb +28 -5
- data/lib/chef/resource/windows_printer.rb +5 -3
- data/lib/chef/resource/windows_printer_port.rb +6 -4
- data/lib/chef/resource/windows_user_privilege.rb +53 -54
- data/lib/chef/resource/windows_workgroup.rb +3 -3
- data/lib/chef/resource/yum_package.rb +2 -2
- data/lib/chef/resources.rb +3 -1
- data/lib/chef/run_context.rb +2 -2
- data/lib/chef/run_context/cookbook_compiler.rb +1 -1
- data/lib/chef/run_lock.rb +2 -2
- data/lib/chef/search/query.rb +4 -5
- data/lib/chef/shell.rb +31 -26
- data/lib/chef/shell/ext.rb +11 -11
- data/lib/chef/shell/shell_session.rb +2 -2
- data/lib/chef/train_transport.rb +5 -104
- data/lib/chef/util/diff.rb +3 -3
- data/lib/chef/util/powershell/cmdlet.rb +3 -1
- data/lib/chef/util/powershell/ps_credential.rb +18 -14
- data/lib/chef/util/threaded_job_queue.rb +0 -2
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/crypto.rb +1 -1
- data/lib/chef/win32/registry.rb +1 -2
- data/spec/data/shef-config.rb +1 -1
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -5
- data/spec/functional/resource/aix_service_spec.rb +2 -2
- data/spec/functional/resource/aixinit_service_spec.rb +1 -1
- data/spec/functional/resource/insserv_spec.rb +1 -1
- data/spec/functional/resource/user/dscl_spec.rb +1 -1
- data/spec/functional/resource/user/mac_user_spec.rb +1 -1
- data/spec/functional/resource/windows_task_spec.rb +13 -13
- data/spec/functional/version_spec.rb +3 -3
- data/spec/integration/client/client_spec.rb +4 -4
- data/spec/integration/client/exit_code_spec.rb +3 -2
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/knife/{config_list_profiles_spec.rb → config_list_spec.rb} +30 -29
- data/spec/integration/knife/{config_get_spec.rb → config_show_spec.rb} +3 -3
- data/spec/integration/knife/{config_use_profile_spec.rb → config_use_spec.rb} +53 -10
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +1 -1
- data/spec/integration/ohai/ohai_spec.rb +61 -0
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/solo/solo_spec.rb +5 -5
- data/spec/spec_helper.rb +6 -3
- data/spec/stress/win32/file_spec.rb +1 -1
- data/spec/support/chef_helpers.rb +2 -2
- data/spec/support/matchers/leak.rb +2 -2
- data/spec/support/platform_helpers.rb +16 -34
- data/spec/support/shared/functional/securable_resource.rb +108 -27
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/unit/application_dot_d.rb +5 -3
- data/spec/tiny_server.rb +0 -1
- data/spec/unit/application/client_spec.rb +2 -2
- data/spec/unit/application/exit_code_spec.rb +10 -0
- data/spec/unit/application_spec.rb +4 -6
- data/spec/unit/chef_fs/parallelizer_spec.rb +5 -1
- data/spec/unit/chef_fs/path_util_spec.rb +1 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +2 -2
- data/spec/unit/cookbook_spec.rb +2 -2
- data/spec/unit/data_collector/config_validation_spec.rb +208 -0
- data/spec/unit/data_collector_spec.rb +0 -113
- data/spec/unit/dsl/declare_resource_spec.rb +1 -1
- data/spec/unit/file_access_control_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +6 -6
- data/spec/unit/knife/core/ui_spec.rb +1 -0
- data/spec/unit/knife/ssh_spec.rb +2 -2
- data/spec/unit/lwrp_spec.rb +3 -3
- data/spec/unit/mixin/deep_merge_spec.rb +15 -0
- data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +2 -2
- data/spec/unit/node/immutable_collections_spec.rb +2 -2
- data/spec/unit/provider/mount/linux_spec.rb +97 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +1 -1
- data/spec/unit/provider/package/powershell_spec.rb +1 -1
- data/spec/unit/provider/package/rubygems_spec.rb +4 -1
- data/spec/unit/provider/route_spec.rb +0 -2
- data/spec/unit/recipe_spec.rb +1 -1
- data/spec/unit/resource/chef_client_cron_spec.rb +35 -14
- data/spec/unit/resource/chef_client_launchd_spec.rb +127 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +36 -1
- data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +54 -0
- data/spec/unit/resource/launchd_spec.rb +8 -0
- data/spec/unit/resource/osx_profile_spec.rb +67 -1
- data/spec/unit/resource/rhsm_register_spec.rb +56 -18
- data/spec/unit/resource/windows_uac_spec.rb +1 -1
- data/spec/unit/resource/windows_user_privilege_spec.rb +55 -0
- data/spec/unit/run_lock_spec.rb +5 -1
- data/spec/unit/runner_spec.rb +1 -2
- data/spec/unit/shell/shell_ext_spec.rb +46 -3
- data/spec/unit/shell/shell_session_spec.rb +35 -64
- data/spec/unit/shell_spec.rb +16 -19
- data/spec/unit/train_transport_spec.rb +14 -13
- data/spec/unit/util/selinux_spec.rb +2 -0
- data/tasks/rspec.rb +0 -2
- metadata +41 -17
- data/lib/chef/dist.rb +0 -68
- data/spec/integration/knife/config_get_profile_spec.rb +0 -114
data/lib/chef/util/diff.rb
CHANGED
@@ -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
|
-
|
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
|
22
|
-
class
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|
-
|
29
|
-
|
30
|
-
|
30
|
+
def to_psobject
|
31
|
+
"New-Object System.Management.Automation.PSCredential('#{@username}',('#{encrypt(@password)}' | ConvertTo-SecureString))"
|
32
|
+
end
|
31
33
|
|
32
|
-
|
33
|
-
|
34
|
+
alias to_s to_psobject
|
35
|
+
alias to_text to_psobject
|
34
36
|
|
35
|
-
|
37
|
+
private
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
+
def encrypt(str)
|
40
|
+
Chef::ReservedNames::Win32::Crypto.encrypt(str)
|
41
|
+
end
|
42
|
+
end
|
39
43
|
end
|
40
44
|
end
|
41
45
|
end
|
data/lib/chef/version.rb
CHANGED
data/lib/chef/win32/crypto.rb
CHANGED
data/lib/chef/win32/registry.rb
CHANGED
@@ -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
|
-
|
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
|
|
data/spec/data/shef-config.rb
CHANGED
@@ -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
|
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 ==
|
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 ==
|
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 ==
|
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 ==
|
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 ==
|
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(
|
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(
|
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(
|
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(
|
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
|
|
@@ -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 "#{
|
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(
|
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 "#{
|
60
|
+
subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W"
|
61
61
|
subject.run_action(:create)
|
62
|
-
subject.command "#{
|
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 "#{
|
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(
|
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 "#{
|
78
|
+
subject.command "#{ChefUtils::Dist::Infra::CLIENT} -W -L 'C:\\chef\\chef-ad-join.log'"
|
79
79
|
subject.run_action(:create)
|
80
|
-
subject.command "#{
|
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
|
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(
|
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
|
150
|
+
subject.command ChefUtils::Dist::Infra::CLIENT
|
151
151
|
subject.run_action(:create)
|
152
|
-
subject.command
|
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(
|
26
|
+
let(:chef_dir) { File.join(__dir__, "..", "..") }
|
27
27
|
|
28
|
-
binaries = [
|
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(
|
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 #{
|
49
|
-
let(:chef_solo) { "bundle exec #{
|
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(
|
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 #{
|
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(
|
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
|
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(:
|
29
|
-
knife("config", "list
|
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 {
|
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::
|
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 {
|
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 {
|
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
|
|