chef 16.2.44-universal-mingw32 → 16.4.35-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 +4 -4
- data/Rakefile +3 -16
- data/chef-universal-mingw32.gemspec +2 -3
- data/chef.gemspec +4 -3
- data/lib/chef/action_collection.rb +4 -0
- data/lib/chef/api_client/registration.rb +2 -2
- data/lib/chef/application.rb +13 -1
- data/lib/chef/application/apply.rb +6 -5
- data/lib/chef/application/windows_service.rb +27 -27
- data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
- data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
- data/lib/chef/chef_class.rb +0 -1
- data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/client.rb +14 -14
- data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
- data/lib/chef/cookbook/syntax_check.rb +1 -2
- data/lib/chef/cookbook_loader.rb +15 -29
- data/lib/chef/data_bag.rb +1 -2
- data/lib/chef/data_collector/run_end_message.rb +11 -1
- data/lib/chef/deprecated.rb +8 -0
- data/lib/chef/digester.rb +3 -2
- data/lib/chef/dsl/platform_introspection.rb +9 -7
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
- data/lib/chef/environment.rb +3 -4
- data/lib/chef/exceptions.rb +4 -1
- data/lib/chef/file_access_control/windows.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
- data/lib/chef/file_content_management/tempfile.rb +9 -9
- data/lib/chef/handler.rb +2 -0
- data/lib/chef/http.rb +12 -12
- data/lib/chef/http/authenticator.rb +3 -1
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/knife.rb +4 -4
- data/lib/chef/knife/bootstrap.rb +18 -15
- data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
- data/lib/chef/knife/config_get.rb +1 -0
- data/lib/chef/knife/config_list_profiles.rb +4 -1
- data/lib/chef/knife/config_use_profile.rb +15 -5
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_download.rb +1 -1
- data/lib/chef/knife/cookbook_metadata.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +29 -37
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/generic_presenter.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +3 -2
- data/lib/chef/knife/core/subcommand_loader.rb +20 -1
- data/lib/chef/knife/core/ui.rb +8 -2
- data/lib/chef/knife/core/windows_bootstrap_context.rb +33 -26
- data/lib/chef/knife/delete.rb +15 -15
- data/lib/chef/knife/exec.rb +2 -2
- data/lib/chef/knife/rehash.rb +3 -21
- data/lib/chef/knife/ssh.rb +11 -7
- data/lib/chef/knife/xargs.rb +19 -19
- data/lib/chef/knife/yaml_convert.rb +1 -1
- data/lib/chef/log.rb +7 -2
- data/lib/chef/mixin/checksum.rb +0 -1
- data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
- data/lib/chef/mixin/deep_merge.rb +35 -6
- data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
- data/lib/chef/mixin/openssl_helper.rb +30 -6
- data/lib/chef/mixin/path_sanity.rb +5 -4
- data/lib/chef/mixin/shell_out.rb +4 -188
- data/lib/chef/mixin/template.rb +1 -0
- data/lib/chef/mixin/which.rb +6 -3
- data/lib/chef/mixins.rb +1 -0
- data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
- data/lib/chef/node.rb +36 -12
- data/lib/chef/node/attribute.rb +2 -4
- data/lib/chef/node_map.rb +21 -18
- data/lib/chef/platform/service_helpers.rb +31 -28
- data/lib/chef/property.rb +1 -1
- data/lib/chef/provider/cron/unix.rb +0 -2
- data/lib/chef/provider/git.rb +17 -9
- data/lib/chef/provider/group.rb +0 -2
- data/lib/chef/provider/group/suse.rb +5 -5
- data/lib/chef/provider/ifconfig.rb +1 -4
- data/lib/chef/provider/mount.rb +0 -2
- data/lib/chef/provider/mount/solaris.rb +0 -1
- data/lib/chef/provider/package.rb +0 -2
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/snap.rb +3 -4
- data/lib/chef/provider/package/windows.rb +9 -4
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -9
- data/lib/chef/provider/package/zypper.rb +0 -1
- data/lib/chef/provider/powershell_script.rb +21 -5
- data/lib/chef/provider/route.rb +1 -1
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/arch.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +1 -4
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +10 -10
- data/lib/chef/provider/systemd_unit.rb +0 -2
- data/lib/chef/provider/template/content.rb +1 -0
- data/lib/chef/provider/user/dscl.rb +2 -2
- data/lib/chef/provider/user/mac.rb +9 -9
- data/lib/chef/provider/windows_task.rb +0 -3
- data/lib/chef/provider/yum_repository.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +1 -2
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/recipe.rb +1 -1
- data/lib/chef/resource.rb +9 -11
- data/lib/chef/resource/alternatives.rb +1 -1
- data/lib/chef/resource/apt_repository.rb +1 -10
- data/lib/chef/resource/build_essential.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_gem.rb +57 -21
- data/lib/chef/resource/chef_vault_secret.rb +13 -13
- data/lib/chef/resource/chocolatey_feature.rb +1 -2
- data/lib/chef/resource/cron/cron_d.rb +1 -1
- data/lib/chef/resource/cron_access.rb +2 -2
- data/lib/chef/resource/dmg_package.rb +2 -2
- data/lib/chef/resource/execute.rb +4 -5
- data/lib/chef/resource/gem_package.rb +35 -2
- data/lib/chef/resource/homebrew_update.rb +2 -2
- data/lib/chef/resource/hostname.rb +18 -18
- data/lib/chef/resource/launchd.rb +1 -1
- data/lib/chef/resource/lwrp_base.rb +1 -0
- data/lib/chef/resource/macos_userdefaults.rb +176 -61
- data/lib/chef/resource/openssl_dhparam.rb +2 -0
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -0
- data/lib/chef/resource/openssl_ec_public_key.rb +2 -0
- data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
- data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
- data/lib/chef/resource/openssl_x509_certificate.rb +35 -35
- data/lib/chef/resource/openssl_x509_crl.rb +3 -2
- data/lib/chef/resource/openssl_x509_request.rb +23 -20
- data/lib/chef/resource/osx_profile.rb +227 -5
- data/lib/chef/resource/powershell_package_source.rb +1 -1
- data/lib/chef/resource/powershell_script.rb +24 -30
- data/lib/chef/resource/service.rb +2 -2
- data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
- data/lib/chef/resource/sudo.rb +31 -4
- data/lib/chef/resource/swap_file.rb +17 -0
- data/lib/chef/resource/sysctl.rb +5 -5
- data/lib/chef/resource/timezone.rb +15 -0
- data/lib/chef/resource/user_ulimit.rb +1 -1
- data/lib/chef/resource/windows_ad_join.rb +2 -0
- data/lib/chef/resource/windows_audit_policy.rb +3 -0
- data/lib/chef/resource/windows_auto_run.rb +2 -0
- data/lib/chef/resource/windows_certificate.rb +2 -0
- data/lib/chef/resource/windows_dfs_folder.rb +2 -0
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
- data/lib/chef/resource/windows_dfs_server.rb +2 -0
- data/lib/chef/resource/windows_dns_record.rb +25 -5
- data/lib/chef/resource/windows_dns_zone.rb +12 -7
- data/lib/chef/resource/windows_feature.rb +2 -0
- data/lib/chef/resource/windows_feature_dism.rb +10 -0
- data/lib/chef/resource/windows_feature_powershell.rb +14 -2
- data/lib/chef/resource/windows_firewall_profile.rb +199 -0
- data/lib/chef/resource/windows_firewall_rule.rb +5 -3
- data/lib/chef/resource/windows_font.rb +3 -1
- data/lib/chef/resource/windows_pagefile.rb +4 -0
- data/lib/chef/resource/windows_printer.rb +17 -18
- data/lib/chef/resource/windows_printer_port.rb +14 -13
- data/lib/chef/resource/windows_security_policy.rb +52 -21
- data/lib/chef/resource/windows_share.rb +5 -3
- data/lib/chef/resource/windows_shortcut.rb +2 -0
- data/lib/chef/resource/windows_uac.rb +2 -0
- data/lib/chef/resource/windows_user_privilege.rb +27 -2
- data/lib/chef/resource/windows_workgroup.rb +2 -3
- data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
- data/lib/chef/resource_inspector.rb +7 -1
- data/lib/chef/resources.rb +1 -0
- data/lib/chef/role.rb +3 -4
- data/lib/chef/run_context/cookbook_compiler.rb +20 -20
- data/lib/chef/run_status.rb +2 -6
- data/lib/chef/server_api_versions.rb +4 -0
- data/lib/chef/shell.rb +1 -1
- data/lib/chef/shell/shell_session.rb +2 -0
- data/lib/chef/util/backup.rb +1 -1
- data/lib/chef/util/diff.rb +11 -12
- data/lib/chef/util/powershell/cmdlet.rb +1 -1
- data/lib/chef/version.rb +2 -2
- data/lib/chef/win32/file.rb +2 -2
- data/lib/chef/win32/file/version_info.rb +5 -5
- data/lib/chef/win32/registry.rb +1 -2
- data/spec/data/ssl/chef-rspec.cert +15 -15
- data/spec/functional/knife/configure_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +5 -16
- data/spec/functional/resource/aix_service_spec.rb +9 -2
- data/spec/functional/resource/aixinit_service_spec.rb +8 -9
- data/spec/functional/resource/apt_package_spec.rb +0 -1
- data/spec/functional/resource/bash_spec.rb +3 -2
- data/spec/functional/resource/bff_spec.rb +3 -3
- data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +10 -2
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/dsc_resource_spec.rb +1 -1
- data/spec/functional/resource/dsc_script_spec.rb +0 -1
- data/spec/functional/resource/execute_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +23 -1
- data/spec/functional/resource/group_spec.rb +21 -9
- data/spec/functional/resource/ifconfig_spec.rb +9 -1
- data/spec/functional/resource/insserv_spec.rb +7 -7
- data/spec/functional/resource/link_spec.rb +22 -25
- data/spec/functional/resource/mount_spec.rb +9 -1
- data/spec/functional/resource/msu_package_spec.rb +9 -3
- data/spec/functional/resource/powershell_script_spec.rb +8 -8
- data/spec/functional/resource/remote_file_spec.rb +7 -13
- data/spec/functional/resource/rpm_spec.rb +3 -3
- data/spec/functional/resource/timezone_spec.rb +2 -0
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_font_spec.rb +49 -0
- data/spec/functional/resource/windows_package_spec.rb +0 -1
- data/spec/functional/resource/windows_path_spec.rb +4 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -4
- data/spec/functional/resource/windows_service_spec.rb +4 -0
- data/spec/functional/resource/windows_task_spec.rb +4 -3
- data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
- data/spec/functional/resource/yum_package_spec.rb +4 -1
- data/spec/functional/resource/zypper_package_spec.rb +4 -1
- data/spec/functional/run_lock_spec.rb +26 -25
- data/spec/functional/shell_spec.rb +5 -6
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/crypto_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +8 -8
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/integration/knife/common_options_spec.rb +12 -12
- data/spec/integration/knife/config_get_profile_spec.rb +69 -68
- data/spec/integration/knife/config_get_spec.rb +126 -125
- data/spec/integration/knife/config_list_profiles_spec.rb +181 -152
- data/spec/integration/knife/config_use_profile_spec.rb +115 -61
- data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
- data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/integration/knife/diff_spec.rb +3 -1
- data/spec/integration/knife/download_spec.rb +3 -1
- data/spec/integration/knife/environment_from_file_spec.rb +1 -1
- data/spec/integration/knife/node_from_file_spec.rb +1 -1
- data/spec/integration/knife/role_from_file_spec.rb +1 -1
- data/spec/integration/knife/serve_spec.rb +5 -5
- data/spec/integration/knife/upload_spec.rb +3 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +2 -2
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
- data/spec/integration/recipes/resource_load_spec.rb +4 -2
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +1 -1
- data/spec/scripts/ssl-serve.rb +1 -1
- data/spec/spec_helper.rb +16 -10
- data/spec/support/chef_helpers.rb +1 -20
- data/spec/support/platform_helpers.rb +9 -11
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/directory_resource.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +20 -21
- data/spec/support/shared/functional/securable_resource.rb +1 -2
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +5 -5
- data/spec/support/shared/integration/integration_helper.rb +22 -52
- data/spec/support/shared/integration/knife_support.rb +2 -9
- data/spec/support/shared/unit/application_dot_d.rb +0 -1
- data/spec/support/shared/unit/provider/file.rb +12 -8
- data/spec/support/shared/unit/script_resource.rb +6 -20
- data/spec/support/shared/unit/windows_script_resource.rb +15 -28
- data/spec/unit/application/solo_spec.rb +4 -2
- data/spec/unit/application_spec.rb +4 -2
- data/spec/unit/chef_fs/config_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +8 -8
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
- data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
- data/spec/unit/client_spec.rb +4 -1
- data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
- data/spec/unit/data_bag_spec.rb +6 -3
- data/spec/unit/data_collector_spec.rb +23 -1
- data/spec/unit/decorator_spec.rb +23 -23
- data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
- data/spec/unit/environment_spec.rb +12 -8
- data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
- data/spec/unit/guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/api_versions_spec.rb +20 -2
- data/spec/unit/json_compat_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +17 -20
- data/spec/unit/knife/cookbook_download_spec.rb +6 -6
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
- data/spec/unit/knife/cookbook_show_spec.rb +6 -7
- data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
- data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
- data/spec/unit/knife/supermarket_share_spec.rb +1 -1
- data/spec/unit/log/syslog_spec.rb +6 -10
- data/spec/unit/log/winevt_spec.rb +21 -13
- data/spec/unit/lwrp_spec.rb +9 -6
- data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/powershell_out_spec.rb +2 -4
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +0 -1
- data/spec/unit/mixin/shell_out_spec.rb +25 -26
- data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
- data/spec/unit/mixin/template_spec.rb +30 -30
- data/spec/unit/mixin/unformatter_spec.rb +2 -2
- data/spec/unit/mixin/uris_spec.rb +1 -1
- data/spec/unit/mixin/which.rb +8 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
- data/spec/unit/node/immutable_collections_spec.rb +6 -2
- data/spec/unit/node_spec.rb +103 -16
- data/spec/unit/property_spec.rb +5 -5
- data/spec/unit/provider/batch_spec.rb +1 -1
- data/spec/unit/provider/cron/unix_spec.rb +1 -1
- data/spec/unit/provider/dsc_resource_spec.rb +22 -38
- data/spec/unit/provider/dsc_script_spec.rb +10 -10
- data/spec/unit/provider/execute_spec.rb +1 -8
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/ifconfig_spec.rb +0 -1
- data/spec/unit/provider/mdadm_spec.rb +1 -3
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +1 -1
- data/spec/unit/provider/package/pacman_spec.rb +17 -20
- data/spec/unit/provider/package/rubygems_spec.rb +5 -10
- data/spec/unit/provider/package/smartos_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
- data/spec/unit/provider/package/windows_spec.rb +30 -53
- data/spec/unit/provider/powershell_script_spec.rb +11 -4
- data/spec/unit/provider/remote_directory_spec.rb +9 -9
- data/spec/unit/provider/service/arch_service_spec.rb +3 -2
- data/spec/unit/provider/service/debian_service_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
- data/spec/unit/provider/service/macosx_spec.rb +3 -3
- data/spec/unit/provider/service/redhat_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
- data/spec/unit/provider/service/windows_spec.rb +2 -6
- data/spec/unit/provider/systemd_unit_spec.rb +28 -24
- data/spec/unit/provider/user/dscl_spec.rb +2 -2
- data/spec/unit/provider/windows_env_spec.rb +5 -4
- data/spec/unit/provider_resolver_spec.rb +6 -6
- data/spec/unit/provider_spec.rb +1 -0
- data/spec/unit/resource/batch_spec.rb +6 -6
- data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
- data/spec/unit/resource/execute_spec.rb +123 -118
- data/spec/unit/resource/file/verification_spec.rb +2 -1
- data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
- data/spec/unit/resource/osx_profile_spec.rb +233 -0
- data/spec/unit/resource/powershell_script_spec.rb +11 -29
- data/spec/unit/resource/script_spec.rb +6 -1
- data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
- data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
- data/spec/unit/resource/windows_package_spec.rb +1 -0
- data/spec/unit/resource_reporter_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +25 -8
- data/spec/unit/role_spec.rb +30 -28
- data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +1 -1
- data/spec/unit/scan_access_control_spec.rb +1 -1
- data/spec/unit/server_api_spec.rb +43 -16
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/diff_spec.rb +1 -15
- data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
- data/spec/unit/util/selinux_spec.rb +2 -1
- data/spec/unit/win32/security_spec.rb +4 -3
- data/tasks/rspec.rb +1 -1
- metadata +53 -40
- data/lib/chef/provider/osx_profile.rb +0 -255
- data/spec/unit/provider/osx_profile_spec.rb +0 -255
data/lib/chef/deprecated.rb
CHANGED
@@ -241,6 +241,14 @@ class Chef
|
|
241
241
|
target 30
|
242
242
|
end
|
243
243
|
|
244
|
+
class ResourceNameWithoutProvides < Base
|
245
|
+
target 31
|
246
|
+
end
|
247
|
+
|
248
|
+
class AttributeBlacklistConfiguration < Base
|
249
|
+
target 32
|
250
|
+
end
|
251
|
+
|
244
252
|
class Generic < Base
|
245
253
|
def url
|
246
254
|
"https://docs.chef.io/chef_deprecations_client/"
|
data/lib/chef/digester.rb
CHANGED
@@ -19,6 +19,7 @@
|
|
19
19
|
#
|
20
20
|
|
21
21
|
require "openssl" unless defined?(OpenSSL)
|
22
|
+
require "digest" unless defined?(Digest)
|
22
23
|
require "singleton" unless defined?(Singleton)
|
23
24
|
|
24
25
|
class Chef
|
@@ -50,11 +51,11 @@ class Chef
|
|
50
51
|
end
|
51
52
|
|
52
53
|
def generate_md5_checksum_for_file(file)
|
53
|
-
checksum_file(file,
|
54
|
+
checksum_file(file, ::Digest::MD5.new)
|
54
55
|
end
|
55
56
|
|
56
57
|
def generate_md5_checksum(io)
|
57
|
-
checksum_io(io,
|
58
|
+
checksum_io(io, ::Digest::MD5.new)
|
58
59
|
end
|
59
60
|
|
60
61
|
private
|
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "chef-utils" unless defined?(ChefUtils::CANARY)
|
20
|
+
require_relative "../mixin/chef_utils_wiring" unless defined?(Chef::Mixin::ChefUtilsWiring)
|
20
21
|
|
21
22
|
class Chef
|
22
23
|
module DSL
|
@@ -25,6 +26,7 @@ class Chef
|
|
25
26
|
# #value_for_platform.
|
26
27
|
module PlatformIntrospection
|
27
28
|
include ChefUtils
|
29
|
+
include Chef::Mixin::ChefUtilsWiring
|
28
30
|
|
29
31
|
# Implementation class for determining platform dependent values
|
30
32
|
class PlatformDependentValue
|
@@ -77,14 +79,14 @@ class Chef
|
|
77
79
|
key_matches = []
|
78
80
|
keys = @values[platform].keys
|
79
81
|
keys.each do |k|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
end
|
84
|
-
rescue Chef::Exceptions::InvalidVersionConstraint => e
|
85
|
-
Chef::Log.trace "Caught InvalidVersionConstraint. This means that a key in value_for_platform cannot be interpreted as a Chef::VersionConstraint::Platform."
|
86
|
-
Chef::Log.trace(e)
|
82
|
+
|
83
|
+
if Chef::VersionConstraint::Platform.new(k).include?(node_version)
|
84
|
+
key_matches << k
|
87
85
|
end
|
86
|
+
rescue Chef::Exceptions::InvalidVersionConstraint => e
|
87
|
+
Chef::Log.trace "Caught InvalidVersionConstraint. This means that a key in value_for_platform cannot be interpreted as a Chef::VersionConstraint::Platform."
|
88
|
+
Chef::Log.trace(e)
|
89
|
+
|
88
90
|
end
|
89
91
|
return @values[platform][version] if key_matches.include?(version)
|
90
92
|
|
data/lib/chef/environment.rb
CHANGED
@@ -119,7 +119,7 @@ class Chef
|
|
119
119
|
end
|
120
120
|
|
121
121
|
def to_h
|
122
|
-
|
122
|
+
{
|
123
123
|
"name" => @name,
|
124
124
|
"description" => @description,
|
125
125
|
"cookbook_versions" => @cookbook_versions,
|
@@ -128,7 +128,6 @@ class Chef
|
|
128
128
|
"default_attributes" => @default_attributes,
|
129
129
|
"override_attributes" => @override_attributes,
|
130
130
|
}
|
131
|
-
result
|
132
131
|
end
|
133
132
|
|
134
133
|
alias_method :to_hash, :to_h
|
@@ -255,11 +254,11 @@ class Chef
|
|
255
254
|
js_file = File.join(Chef::Config[:environment_path], "#{name}.json")
|
256
255
|
rb_file = File.join(Chef::Config[:environment_path], "#{name}.rb")
|
257
256
|
|
258
|
-
if File.
|
257
|
+
if File.exist?(js_file)
|
259
258
|
# from_json returns object.class => json_class in the JSON.
|
260
259
|
hash = Chef::JSONCompat.parse(IO.read(js_file))
|
261
260
|
from_hash(hash)
|
262
|
-
elsif File.
|
261
|
+
elsif File.exist?(rb_file)
|
263
262
|
environment = Chef::Environment.new
|
264
263
|
environment.name(name)
|
265
264
|
environment.from_file(rb_file)
|
data/lib/chef/exceptions.rb
CHANGED
@@ -198,6 +198,7 @@ class Chef
|
|
198
198
|
class MetadataNotFound < StandardError
|
199
199
|
attr_reader :install_path
|
200
200
|
attr_reader :cookbook_name
|
201
|
+
|
201
202
|
def initialize(install_path, cookbook_name)
|
202
203
|
@install_path = install_path
|
203
204
|
@cookbook_name = cookbook_name
|
@@ -422,7 +423,7 @@ class Chef
|
|
422
423
|
|
423
424
|
class ChecksumMismatch < RuntimeError
|
424
425
|
def initialize(res_cksum, cont_cksum)
|
425
|
-
super "Checksum on resource (#{res_cksum}) does not match checksum on content (#{cont_cksum})"
|
426
|
+
super "Checksum on resource (#{res_cksum}...) does not match checksum on content (#{cont_cksum}...)"
|
426
427
|
end
|
427
428
|
end
|
428
429
|
|
@@ -448,6 +449,7 @@ class Chef
|
|
448
449
|
# to correctly populate the backtrace with the wrapped backtraces.
|
449
450
|
class RunFailedWrappingError < RuntimeError
|
450
451
|
attr_reader :wrapped_errors
|
452
|
+
|
451
453
|
def initialize(*errors)
|
452
454
|
errors = errors.select { |e| !e.nil? }
|
453
455
|
output = "Found #{errors.size} errors, they are stored in the backtrace"
|
@@ -488,6 +490,7 @@ class Chef
|
|
488
490
|
|
489
491
|
class MultipleDscResourcesFound < RuntimeError
|
490
492
|
attr_reader :resources_found
|
493
|
+
|
491
494
|
def initialize(resources_found)
|
492
495
|
@resources_found = resources_found
|
493
496
|
matches_info = @resources_found.each do |r|
|
@@ -96,7 +96,7 @@ class Chef
|
|
96
96
|
self_ace.mask = securable_object.predict_rights_mask(target_ace.mask)
|
97
97
|
new_target_acl << self_ace
|
98
98
|
end
|
99
|
-
# As there is no
|
99
|
+
# As there is no inheritance needed in case of WRITE permissions.
|
100
100
|
if target_ace.mask != Chef::ReservedNames::Win32::API::Security::WRITE && target_ace.flags & (CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE) != 0
|
101
101
|
children_ace = target_ace.dup
|
102
102
|
children_ace.flags |= INHERIT_ONLY_ACE
|
@@ -242,7 +242,7 @@ class Chef
|
|
242
242
|
flags = 0
|
243
243
|
|
244
244
|
#
|
245
|
-
# Configure child
|
245
|
+
# Configure child inheritance only if the resource is some
|
246
246
|
# type of a directory.
|
247
247
|
#
|
248
248
|
if resource.is_a? Chef::Resource::Directory
|
@@ -51,7 +51,7 @@ class Chef
|
|
51
51
|
# in the case where i'm running chef-solo on my homedir as myself and some root-shell
|
52
52
|
# work has caused dotfiles of mine to change to root-owned, i'm fine with this not being
|
53
53
|
# exceptional, and i think most use cases will consider this to not be exceptional, and
|
54
|
-
# the right thing is to fix the ownership of the file to the user running the
|
54
|
+
# the right thing is to fix the ownership of the file to the user running the command
|
55
55
|
# (which requires write perms to the directory, or mv will throw an exception)
|
56
56
|
begin
|
57
57
|
::File.chown(uid, nil, src)
|
@@ -39,15 +39,15 @@ class Chef
|
|
39
39
|
errors = [ ]
|
40
40
|
|
41
41
|
tempfile_dirnames.each do |tempfile_dirname|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
42
|
+
|
43
|
+
# preserving the file extension of the target filename should be considered a public API
|
44
|
+
tf = ::Tempfile.open([tempfile_basename, tempfile_extension], tempfile_dirname)
|
45
|
+
break
|
46
|
+
rescue SystemCallError => e
|
47
|
+
message = "Creating temp file under '#{tempfile_dirname}' failed with: '#{e.message}'"
|
48
|
+
Chef::Log.trace(message)
|
49
|
+
errors << message
|
50
|
+
|
51
51
|
end
|
52
52
|
|
53
53
|
raise Chef::Exceptions::FileContentStagingError, errors if tf.nil?
|
data/lib/chef/handler.rb
CHANGED
@@ -240,6 +240,8 @@ class Chef
|
|
240
240
|
# This ensures that all handlers get a chance to run even if one fails.
|
241
241
|
# This method should not be overridden by subclasses unless you know what
|
242
242
|
# you're doing.
|
243
|
+
#
|
244
|
+
# @api private
|
243
245
|
def run_report_safely(run_status)
|
244
246
|
run_report_unsafe(run_status)
|
245
247
|
rescue Exception => e
|
data/lib/chef/http.rb
CHANGED
@@ -22,7 +22,8 @@
|
|
22
22
|
#
|
23
23
|
|
24
24
|
require "tempfile" unless defined?(Tempfile)
|
25
|
-
require "
|
25
|
+
require "openssl" unless defined?(OpenSSL)
|
26
|
+
require "net/http" unless defined?(Net::HTTP)
|
26
27
|
require "uri" unless defined?(URI)
|
27
28
|
require_relative "http/basic_client"
|
28
29
|
require_relative "monkey_patches/net_http"
|
@@ -52,13 +53,12 @@ class Chef
|
|
52
53
|
|
53
54
|
def handle_chunk(next_chunk)
|
54
55
|
# stream handlers handle responses so must be applied in reverse order
|
55
|
-
# (same as #apply_stream_complete_middleware or #
|
56
|
+
# (same as #apply_stream_complete_middleware or #apply_response_middleware)
|
56
57
|
@stream_handlers.reverse.inject(next_chunk) do |chunk, handler|
|
57
58
|
Chef::Log.trace("Chef::HTTP::StreamHandler calling #{handler.class}#handle_chunk")
|
58
59
|
handler.handle_chunk(chunk)
|
59
60
|
end
|
60
61
|
end
|
61
|
-
|
62
62
|
end
|
63
63
|
|
64
64
|
def self.middlewares
|
@@ -155,7 +155,7 @@ class Chef
|
|
155
155
|
rescue Net::HTTPClientException => e
|
156
156
|
http_attempts += 1
|
157
157
|
response = e.response
|
158
|
-
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts
|
158
|
+
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts >= 0
|
159
159
|
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
160
160
|
retry
|
161
161
|
else
|
@@ -194,7 +194,7 @@ class Chef
|
|
194
194
|
rescue Net::HTTPClientException => e
|
195
195
|
http_attempts += 1
|
196
196
|
response = e.response
|
197
|
-
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts
|
197
|
+
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts >= 0
|
198
198
|
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
199
199
|
retry
|
200
200
|
else
|
@@ -250,7 +250,7 @@ class Chef
|
|
250
250
|
rescue Net::HTTPClientException => e
|
251
251
|
http_attempts += 1
|
252
252
|
response = e.response
|
253
|
-
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts
|
253
|
+
if response.is_a?(Net::HTTPNotAcceptable) && version_retries - http_attempts >= 0
|
254
254
|
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
255
255
|
retry
|
256
256
|
else
|
@@ -429,7 +429,7 @@ class Chef
|
|
429
429
|
response, request, return_value = yield
|
430
430
|
# handle HTTP 50X Error
|
431
431
|
if response.is_a?(Net::HTTPServerError) && !Chef::Config.local_mode
|
432
|
-
if http_retry_count - http_attempts
|
432
|
+
if http_retry_count - http_attempts >= 0
|
433
433
|
sleep_time = 1 + (2**http_attempts) + rand(2**http_attempts)
|
434
434
|
Chef::Log.error("Server returned error #{response.code} for #{url}, retrying #{http_attempts}/#{http_retry_count} in #{sleep_time}s")
|
435
435
|
sleep(sleep_time)
|
@@ -439,7 +439,7 @@ class Chef
|
|
439
439
|
return [response, request, return_value]
|
440
440
|
end
|
441
441
|
rescue SocketError, Errno::ETIMEDOUT, Errno::ECONNRESET => e
|
442
|
-
if http_retry_count - http_attempts
|
442
|
+
if http_retry_count - http_attempts >= 0
|
443
443
|
Chef::Log.error("Error connecting to #{url}, retry #{http_attempts}/#{http_retry_count}")
|
444
444
|
sleep(http_retry_delay)
|
445
445
|
retry
|
@@ -447,21 +447,21 @@ class Chef
|
|
447
447
|
e.message.replace "Error connecting to #{url} - #{e.message}"
|
448
448
|
raise e
|
449
449
|
rescue Errno::ECONNREFUSED
|
450
|
-
if http_retry_count - http_attempts
|
450
|
+
if http_retry_count - http_attempts >= 0
|
451
451
|
Chef::Log.error("Connection refused connecting to #{url}, retry #{http_attempts}/#{http_retry_count}")
|
452
452
|
sleep(http_retry_delay)
|
453
453
|
retry
|
454
454
|
end
|
455
455
|
raise Errno::ECONNREFUSED, "Connection refused connecting to #{url}, giving up"
|
456
456
|
rescue Timeout::Error
|
457
|
-
if http_retry_count - http_attempts
|
457
|
+
if http_retry_count - http_attempts >= 0
|
458
458
|
Chef::Log.error("Timeout connecting to #{url}, retry #{http_attempts}/#{http_retry_count}")
|
459
459
|
sleep(http_retry_delay)
|
460
460
|
retry
|
461
461
|
end
|
462
462
|
raise Timeout::Error, "Timeout connecting to #{url}, giving up"
|
463
463
|
rescue OpenSSL::SSL::SSLError => e
|
464
|
-
if (http_retry_count - http_attempts
|
464
|
+
if (http_retry_count - http_attempts >= 0) && !e.message.include?("certificate verify failed")
|
465
465
|
Chef::Log.error("SSL Error connecting to #{url}, retry #{http_attempts}/#{http_retry_count}")
|
466
466
|
sleep(http_retry_delay)
|
467
467
|
retry
|
@@ -471,7 +471,7 @@ class Chef
|
|
471
471
|
end
|
472
472
|
|
473
473
|
def version_retries
|
474
|
-
@version_retries ||= options[:version_class]
|
474
|
+
@version_retries ||= options[:version_class]&.possible_requests || 1
|
475
475
|
end
|
476
476
|
|
477
477
|
# @api private
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
class HTTP
|
25
25
|
class Authenticator
|
26
26
|
|
27
|
-
DEFAULT_SERVER_API_VERSION = "
|
27
|
+
DEFAULT_SERVER_API_VERSION = "2".freeze
|
28
28
|
|
29
29
|
attr_reader :signing_key_filename
|
30
30
|
attr_reader :raw_key
|
@@ -68,6 +68,8 @@ class Chef
|
|
68
68
|
version_class.best_request_version
|
69
69
|
elsif api_version
|
70
70
|
api_version
|
71
|
+
elsif Chef::ServerAPIVersions.instance.negotiated?
|
72
|
+
Chef::ServerAPIVersions.instance.max_server_version.to_s
|
71
73
|
else
|
72
74
|
DEFAULT_SERVER_API_VERSION
|
73
75
|
end
|
data/lib/chef/json_compat.rb
CHANGED
data/lib/chef/knife.rb
CHANGED
@@ -20,10 +20,10 @@
|
|
20
20
|
require "forwardable" unless defined?(Forwardable)
|
21
21
|
require_relative "version"
|
22
22
|
require "mixlib/cli" unless defined?(Mixlib::CLI)
|
23
|
-
require "chef-utils/dsl/
|
23
|
+
require "chef-utils/dsl/default_paths" unless defined?(ChefUtils::DSL::DefaultPaths)
|
24
24
|
require_relative "workstation_config_loader"
|
25
25
|
require_relative "mixin/convert_to_class_name"
|
26
|
-
require_relative "mixin/
|
26
|
+
require_relative "mixin/default_paths"
|
27
27
|
require_relative "knife/core/subcommand_loader"
|
28
28
|
require_relative "knife/core/ui"
|
29
29
|
require_relative "local_mode"
|
@@ -40,7 +40,7 @@ class Chef
|
|
40
40
|
Chef::HTTP::HTTPRequest.user_agent = "#{Chef::Dist::PRODUCT} Knife#{Chef::HTTP::HTTPRequest::UA_COMMON}"
|
41
41
|
|
42
42
|
include Mixlib::CLI
|
43
|
-
include ChefUtils::DSL::
|
43
|
+
include ChefUtils::DSL::DefaultPaths
|
44
44
|
extend Chef::Mixin::ConvertToClassName
|
45
45
|
extend Forwardable
|
46
46
|
|
@@ -484,7 +484,7 @@ class Chef
|
|
484
484
|
unless respond_to?(:run)
|
485
485
|
ui.error "You need to add a #run method to your knife command before you can use it"
|
486
486
|
end
|
487
|
-
ENV["PATH"] =
|
487
|
+
ENV["PATH"] = default_paths if Chef::Config[:enforce_default_paths] || Chef::Config[:enforce_path_sanity]
|
488
488
|
maybe_setup_fips
|
489
489
|
Chef::LocalMode.with_server_connectivity do
|
490
490
|
run
|
data/lib/chef/knife/bootstrap.rb
CHANGED
@@ -480,7 +480,7 @@ class Chef
|
|
480
480
|
template = bootstrap_template
|
481
481
|
|
482
482
|
# Use the template directly if it's a path to an actual file
|
483
|
-
if File.
|
483
|
+
if File.exist?(template)
|
484
484
|
Chef::Log.trace("Using the specified bootstrap template: #{File.dirname(template)}")
|
485
485
|
return template
|
486
486
|
end
|
@@ -495,7 +495,7 @@ class Chef
|
|
495
495
|
|
496
496
|
template_file = Array(bootstrap_files).find do |bootstrap_template|
|
497
497
|
Chef::Log.trace("Looking for bootstrap template in #{File.dirname(bootstrap_template)}")
|
498
|
-
File.
|
498
|
+
File.exist?(bootstrap_template)
|
499
499
|
end
|
500
500
|
|
501
501
|
unless template_file
|
@@ -538,7 +538,7 @@ class Chef
|
|
538
538
|
end
|
539
539
|
|
540
540
|
def run
|
541
|
-
check_license
|
541
|
+
check_license if ChefConfig::Dist::ENFORCE_LICENSE
|
542
542
|
|
543
543
|
plugin_setup!
|
544
544
|
validate_name_args!
|
@@ -630,9 +630,7 @@ class Chef
|
|
630
630
|
raise
|
631
631
|
else
|
632
632
|
ui.warn("Failed to authenticate #{opts[:user]} to #{server_name} - trying password auth")
|
633
|
-
password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:"
|
634
|
-
q.echo = false
|
635
|
-
end
|
633
|
+
password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:", echo: false)
|
636
634
|
end
|
637
635
|
|
638
636
|
opts.merge! force_ssh_password_opts(password)
|
@@ -646,9 +644,7 @@ class Chef
|
|
646
644
|
raise
|
647
645
|
else
|
648
646
|
ui.warn("Failed to authenticate #{opts[:user]} to #{server_name} - trying password auth")
|
649
|
-
password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:"
|
650
|
-
q.echo = false
|
651
|
-
end
|
647
|
+
password = ui.ask("Enter password for #{opts[:user]}@#{server_name}:", echo: false)
|
652
648
|
end
|
653
649
|
|
654
650
|
opts.merge! force_winrm_password_opts(password)
|
@@ -681,9 +677,7 @@ class Chef
|
|
681
677
|
retry
|
682
678
|
elsif config[:use_sudo_password] && (e.reason == :sudo_password_required || e.reason == :bad_sudo_password) && limit < 3
|
683
679
|
ui.warn("Failed to authenticate #{conn_options[:user]} to #{server_name} - #{e.message} \n sudo: #{limit} incorrect password attempt")
|
684
|
-
sudo_password = ui.ask("Enter sudo password for #{conn_options[:user]}@#{server_name}:"
|
685
|
-
q.echo = false
|
686
|
-
end
|
680
|
+
sudo_password = ui.ask("Enter sudo password for #{conn_options[:user]}@#{server_name}:", echo: false)
|
687
681
|
limit += 1
|
688
682
|
conn_options[:sudo_password] = sudo_password
|
689
683
|
|
@@ -703,8 +697,17 @@ class Chef
|
|
703
697
|
true
|
704
698
|
end
|
705
699
|
|
700
|
+
# FIXME: someone needs to clean this up properly: https://github.com/chef/chef/issues/9645
|
701
|
+
# This code is deliberately left without an abstraction around deprecating the config options to avoid knife plugins from
|
702
|
+
# using those methods (which will need to be deprecated and break them) via inheritance (ruby does not have a true `private`
|
703
|
+
# so the lack of any inheritable implementation is because of that).
|
704
|
+
#
|
706
705
|
def winrm_auth_method
|
707
|
-
|
706
|
+
config.key?(:winrm_auth_method) ? config[:winrm_auth_method] : config.key?(:winrm_authentications_protocol) ? config[:winrm_authentication_protocol] : "negotiate" # rubocop:disable Style/NestedTernaryOperator
|
707
|
+
end
|
708
|
+
|
709
|
+
def ssh_verify_host_key
|
710
|
+
config.key?(:ssh_verify_host_key) ? config[:ssh_verify_host_key] : config.key?(:host_key_verify) ? config[:host_key_verify] : "always" # rubocop:disable Style/NestedTernaryOperator
|
708
711
|
end
|
709
712
|
|
710
713
|
# Fail if using plaintext auth without ssl because
|
@@ -905,7 +908,7 @@ class Chef
|
|
905
908
|
{ self_signed: config[:winrm_no_verify_cert] === true }
|
906
909
|
elsif ssh?
|
907
910
|
# Fall back to the old knife config key name for back compat.
|
908
|
-
{ verify_host_key:
|
911
|
+
{ verify_host_key: ssh_verify_host_key }
|
909
912
|
else
|
910
913
|
{}
|
911
914
|
end
|
@@ -1051,7 +1054,7 @@ class Chef
|
|
1051
1054
|
# @api deprecated
|
1052
1055
|
#
|
1053
1056
|
def config_value(key, fallback_key = nil, default = nil)
|
1054
|
-
Chef.deprecated(:knife_bootstrap_apis, "Use of config_value
|
1057
|
+
Chef.deprecated(:knife_bootstrap_apis, "Use of config_value is deprecated. Knife plugin authors should access the config hash directly, which does correct merging of cli and config options.")
|
1055
1058
|
if config.key?(key)
|
1056
1059
|
# the first key is the primary key so we check the merged hash first
|
1057
1060
|
config[key]
|