chef 13.12.14-universal-mingw32 → 14.0.190-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/CONTRIBUTING.md +151 -0
- data/Gemfile +12 -9
- data/README.md +34 -32
- data/Rakefile +22 -18
- data/VERSION +1 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +33 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +272 -0
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +57 -0
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +68 -0
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +1 -0
- data/acceptance/Gemfile +19 -0
- data/acceptance/Gemfile.lock +266 -0
- data/acceptance/README.md +137 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/basics/.kitchen.yml +4 -0
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +19 -0
- data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +6 -0
- data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +8 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +2 -0
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +16 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +3 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +101 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +3 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +4 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +2 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +7 -0
- data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +44 -0
- data/acceptance/data-collector/.kitchen.yml +9 -0
- data/acceptance/data-collector/Berksfile +3 -0
- data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +208 -0
- data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +8 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +61 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +43 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +41 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +3 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/top-cookbooks/.gitignore +1 -0
- data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +6 -0
- data/acceptance/top-cookbooks/.kitchen.iis.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +7 -0
- data/acceptance/top-cookbooks/.kitchen.powershell.yml +4 -0
- data/acceptance/top-cookbooks/.kitchen.sql_server.yml +5 -0
- data/acceptance/top-cookbooks/.kitchen.winbox.yml +8 -0
- data/acceptance/top-cookbooks/.kitchen.windows.yml +38 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +2 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/trivial/.kitchen.yml +7 -0
- data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +5 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +2 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +2 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +1 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +1 -0
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +1 -0
- data/acceptance/windows-service/.kitchen.yml +7 -0
- data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +58 -0
- data/chef-universal-mingw32.gemspec +2 -2
- data/chef.gemspec +10 -10
- data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
- data/distro/powershell/chef/Newtonsoft.Json.dll +0 -0
- data/lib/chef/api_client.rb +1 -1
- data/lib/chef/api_client/registration.rb +10 -2
- data/lib/chef/api_client_v1.rb +7 -6
- data/lib/chef/application.rb +75 -46
- data/lib/chef/application/client.rb +17 -19
- data/lib/chef/application/solo.rb +13 -16
- data/lib/chef/application/windows_service.rb +5 -5
- data/lib/chef/audit/audit_event_proxy.rb +1 -1
- data/lib/chef/audit/audit_reporter.rb +12 -12
- data/lib/chef/audit/runner.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +17 -31
- data/lib/chef/chef_fs/command_line.rb +9 -9
- data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/policy_group_data_handler.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +2 -2
- data/lib/chef/chef_fs/file_system_cache.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +2 -2
- data/lib/chef/client.rb +61 -41
- data/lib/chef/config.rb +1 -2
- data/lib/chef/config_fetcher.rb +1 -1
- data/lib/chef/cookbook/chefignore.rb +2 -2
- data/lib/chef/cookbook/cookbook_collection.rb +2 -2
- data/lib/chef/cookbook/cookbook_version_loader.rb +0 -1
- data/lib/chef/cookbook/gem_installer.rb +4 -4
- data/lib/chef/cookbook/manifest_v2.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +2 -3
- data/lib/chef/cookbook/remote_file_vendor.rb +4 -4
- data/lib/chef/cookbook/synchronizer.rb +2 -2
- data/lib/chef/cookbook/syntax_check.rb +4 -4
- data/lib/chef/cookbook_loader.rb +10 -2
- data/lib/chef/cookbook_site_streaming_uploader.rb +4 -4
- data/lib/chef/cookbook_uploader.rb +2 -3
- data/lib/chef/cookbook_version.rb +5 -11
- data/lib/chef/data_bag.rb +1 -3
- data/lib/chef/data_bag_item.rb +1 -7
- data/lib/chef/data_collector.rb +111 -35
- data/lib/chef/data_collector/messages.rb +2 -2
- data/lib/chef/data_collector/messages/helpers.rb +2 -4
- data/lib/chef/deprecated.rb +0 -4
- data/lib/chef/dsl/data_query.rb +1 -5
- data/lib/chef/dsl/include_attribute.rb +3 -7
- data/lib/chef/dsl/include_recipe.rb +1 -5
- data/lib/chef/dsl/platform_introspection.rb +9 -13
- data/lib/chef/dsl/reboot_pending.rb +1 -8
- data/lib/chef/dsl/recipe.rb +2 -12
- data/lib/chef/dsl/universal.rb +3 -3
- data/lib/chef/environment.rb +2 -4
- data/lib/chef/event_dispatch/dsl.rb +2 -2
- data/lib/chef/exceptions.rb +1 -1
- data/lib/chef/file_access_control/unix.rb +14 -14
- data/lib/chef/file_content_management/content_base.rb +3 -1
- data/lib/chef/file_content_management/deploy/cp.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +4 -4
- data/lib/chef/file_content_management/deploy/mv_windows.rb +1 -1
- data/lib/chef/file_content_management/tempfile.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +3 -3
- data/lib/chef/guard_interpreter/default_guard_interpreter.rb +3 -1
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -2
- data/lib/chef/handler.rb +1 -3
- data/lib/chef/handler/json_file.rb +1 -2
- data/lib/chef/http.rb +23 -11
- data/lib/chef/http/auth_credentials.rb +1 -1
- data/lib/chef/http/basic_client.rb +16 -17
- data/lib/chef/http/decompressor.rb +6 -6
- data/lib/chef/http/http_request.rb +5 -5
- data/lib/chef/http/json_output.rb +2 -2
- data/lib/chef/http/socketless_chef_zero_client.rb +2 -2
- data/lib/chef/http/validate_content_length.rb +5 -5
- data/lib/chef/knife.rb +1 -1
- data/lib/chef/knife/bootstrap.rb +12 -37
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +7 -1
- data/lib/chef/knife/client_reregister.rb +1 -1
- data/lib/chef/knife/configure.rb +1 -3
- data/lib/chef/knife/cookbook_download.rb +2 -2
- data/lib/chef/knife/cookbook_metadata.rb +3 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/cookbook_site_share.rb +5 -5
- data/lib/chef/knife/cookbook_test.rb +2 -2
- data/lib/chef/knife/cookbook_upload.rb +2 -2
- data/lib/chef/knife/core/status_presenter.rb +22 -17
- data/lib/chef/knife/core/subcommand_loader.rb +1 -1
- data/lib/chef/knife/deps.rb +1 -1
- data/lib/chef/knife/environment_compare.rb +4 -4
- data/lib/chef/knife/exec.rb +3 -3
- data/lib/chef/knife/list.rb +1 -1
- data/lib/chef/knife/node_policy_set.rb +79 -0
- data/lib/chef/knife/osc_user_reregister.rb +1 -1
- data/lib/chef/knife/ssh.rb +35 -22
- data/lib/chef/knife/ssl_check.rb +3 -3
- data/lib/chef/knife/ssl_fetch.rb +1 -1
- data/lib/chef/knife/user_reregister.rb +1 -1
- data/lib/chef/knife/xargs.rb +1 -1
- data/lib/chef/mixin/api_version_request_handling.rb +2 -4
- data/lib/chef/mixin/create_path.rb +1 -1
- data/lib/chef/mixin/deprecation.rb +14 -14
- data/lib/chef/mixin/from_file.rb +5 -0
- data/lib/chef/mixin/get_source_from_package.rb +2 -2
- data/lib/chef/mixin/homebrew_user.rb +13 -2
- data/lib/chef/mixin/openssl_helper.rb +119 -0
- data/lib/chef/mixin/params_validate.rb +2 -8
- data/lib/chef/mixin/powershell_exec.rb +105 -0
- data/lib/chef/mixin/provides.rb +3 -2
- data/lib/chef/mixin/securable.rb +1 -5
- data/lib/chef/mixin/shell_out.rb +2 -2
- data/lib/chef/mixin/template.rb +1 -3
- data/lib/chef/mixin/user_context.rb +6 -3
- data/lib/chef/mixin/why_run.rb +6 -11
- data/lib/chef/monkey_patches/net_http.rb +7 -7
- data/lib/chef/monologger.rb +2 -86
- data/lib/chef/node.rb +30 -20
- data/lib/chef/node/attribute.rb +1 -6
- data/lib/chef/node/attribute_collections.rb +2 -2
- data/lib/chef/node/immutable_collections.rb +1 -1
- data/lib/chef/node/mixin/immutablize_array.rb +110 -3
- data/lib/chef/node/mixin/immutablize_hash.rb +111 -5
- data/lib/chef/node_map.rb +5 -23
- data/lib/chef/platform/query_helpers.rb +0 -12
- data/lib/chef/policy_builder/dynamic.rb +1 -1
- data/lib/chef/policy_builder/expand_node_object.rb +1 -1
- data/lib/chef/policy_builder/policyfile.rb +17 -1
- data/lib/chef/powershell.rb +55 -0
- data/lib/chef/property.rb +12 -34
- data/lib/chef/provider.rb +16 -39
- data/lib/chef/provider/apt_preference.rb +3 -3
- data/lib/chef/provider/apt_repository.rb +116 -34
- data/lib/chef/provider/batch.rb +1 -1
- data/lib/chef/provider/cookbook_file/content.rb +1 -1
- data/lib/chef/provider/cron.rb +10 -10
- data/lib/chef/provider/cron/unix.rb +3 -3
- data/lib/chef/provider/directory.rb +3 -3
- data/lib/chef/provider/dsc_resource.rb +4 -4
- data/lib/chef/provider/dsc_script.rb +4 -4
- data/lib/chef/provider/execute.rb +9 -5
- data/lib/chef/provider/file.rb +12 -12
- data/lib/chef/provider/git.rb +14 -14
- data/lib/chef/provider/group.rb +6 -6
- data/lib/chef/provider/group/aix.rb +1 -1
- data/lib/chef/provider/group/dscl.rb +4 -4
- data/lib/chef/provider/group/groupadd.rb +4 -4
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +4 -4
- data/lib/chef/provider/group/windows.rb +2 -2
- data/lib/chef/provider/http_request.rb +12 -12
- data/lib/chef/provider/ifconfig.rb +6 -6
- data/lib/chef/provider/ifconfig/aix.rb +1 -1
- data/lib/chef/provider/ifconfig/debian.rb +3 -5
- data/lib/chef/provider/launchd.rb +1 -1
- data/lib/chef/provider/link.rb +6 -6
- data/lib/chef/provider/log.rb +1 -1
- data/lib/chef/provider/lwrp_base.rb +2 -2
- data/lib/chef/provider/mdadm.rb +10 -10
- data/lib/chef/provider/mount.rb +12 -12
- data/lib/chef/provider/mount/aix.rb +20 -21
- data/lib/chef/provider/mount/mount.rb +20 -15
- data/lib/chef/provider/mount/solaris.rb +6 -6
- data/lib/chef/provider/mount/windows.rb +7 -7
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/ohai.rb +1 -1
- data/lib/chef/provider/osx_profile.rb +8 -8
- data/lib/chef/provider/package.rb +56 -42
- data/lib/chef/provider/package/apt.rb +24 -14
- data/lib/chef/provider/package/{aix.rb → bff.rb} +12 -12
- data/lib/chef/provider/package/cab.rb +3 -3
- data/lib/chef/provider/package/chocolatey.rb +1 -9
- data/lib/chef/provider/package/dnf/python_helper.rb +6 -6
- data/lib/chef/provider/package/dpkg.rb +9 -9
- data/lib/chef/provider/package/freebsd/base.rb +2 -2
- data/lib/chef/provider/package/freebsd/pkg.rb +2 -2
- data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
- data/lib/chef/provider/package/homebrew.rb +3 -3
- data/lib/chef/provider/package/ips.rb +2 -2
- data/lib/chef/provider/package/macports.rb +3 -3
- data/lib/chef/provider/package/msu.rb +2 -2
- data/lib/chef/provider/package/openbsd.rb +3 -3
- data/lib/chef/provider/package/pacman.rb +3 -3
- data/lib/chef/provider/package/paludis.rb +2 -2
- data/lib/chef/provider/package/portage.rb +27 -33
- data/lib/chef/provider/package/powershell.rb +24 -9
- data/lib/chef/provider/package/rpm.rb +5 -6
- data/lib/chef/provider/package/rubygems.rb +32 -28
- data/lib/chef/provider/package/smartos.rb +6 -6
- data/lib/chef/provider/package/solaris.rb +10 -10
- data/lib/chef/provider/package/windows.rb +6 -15
- data/lib/chef/provider/package/windows/exe.rb +6 -4
- data/lib/chef/provider/package/windows/msi.rb +8 -6
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +12 -6
- data/lib/chef/provider/package/yum.rb +167 -398
- data/lib/chef/provider/package/yum/python_helper.rb +221 -0
- data/lib/chef/provider/package/yum/rpm_utils.rb +10 -1
- data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +79 -0
- data/lib/chef/provider/package/yum/simplejson/__init__.py +318 -0
- data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.py +354 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.py +440 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.py +65 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/tool.py +37 -0
- data/lib/chef/provider/package/yum/version.rb +56 -0
- data/lib/chef/provider/package/yum/yum_cache.rb +33 -316
- data/lib/chef/provider/package/yum/yum_helper.py +198 -0
- data/lib/chef/provider/package/zypper.rb +9 -13
- data/lib/chef/provider/powershell_script.rb +3 -3
- data/lib/chef/provider/reboot.rb +3 -3
- data/lib/chef/provider/registry_key.rb +16 -4
- data/lib/chef/provider/remote_directory.rb +1 -3
- data/lib/chef/provider/remote_file/cache_control_data.rb +1 -1
- data/lib/chef/provider/remote_file/content.rb +4 -4
- data/lib/chef/provider/remote_file/http.rb +5 -3
- data/lib/chef/provider/remote_file/local_file.rb +1 -1
- data/lib/chef/provider/remote_file/network_file.rb +2 -2
- data/lib/chef/provider/route.rb +12 -11
- data/lib/chef/provider/ruby_block.rb +1 -1
- data/lib/chef/provider/script.rb +2 -2
- data/lib/chef/provider/service.rb +14 -14
- data/lib/chef/provider/service/aix.rb +3 -3
- data/lib/chef/provider/service/aixinit.rb +2 -2
- data/lib/chef/provider/service/debian.rb +5 -5
- data/lib/chef/provider/service/freebsd.rb +3 -3
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +8 -8
- data/lib/chef/provider/service/openbsd.rb +1 -1
- data/lib/chef/provider/service/simple.rb +7 -7
- data/lib/chef/provider/service/systemd.rb +4 -4
- data/lib/chef/provider/service/upstart.rb +10 -9
- data/lib/chef/provider/service/windows.rb +245 -70
- data/lib/chef/provider/subversion.rb +8 -8
- data/lib/chef/provider/systemd_unit.rb +25 -6
- data/lib/chef/provider/user.rb +10 -10
- data/lib/chef/provider/user/aix.rb +3 -3
- data/lib/chef/provider/user/dscl.rb +2 -2
- data/lib/chef/provider/user/pw.rb +4 -4
- data/lib/chef/provider/user/solaris.rb +1 -1
- data/lib/chef/provider/user/useradd.rb +3 -3
- data/lib/chef/provider/user/windows.rb +4 -4
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +1 -1
- data/lib/chef/provider/{env.rb → windows_env.rb} +55 -19
- data/lib/chef/provider/windows_task.rb +27 -27
- data/lib/chef/provider/zypper_repository.rb +7 -7
- data/lib/chef/provider_resolver.rb +4 -4
- data/lib/chef/providers.rb +2 -9
- data/lib/chef/resource.rb +19 -13
- data/lib/chef/resource/action_class.rb +2 -2
- data/lib/chef/resource/apt_package.rb +10 -4
- data/lib/chef/resource/apt_preference.rb +20 -7
- data/lib/chef/resource/apt_repository.rb +21 -12
- data/lib/chef/resource/apt_update.rb +3 -3
- data/lib/chef/resource/bash.rb +6 -4
- data/lib/chef/resource/batch.rb +8 -6
- data/lib/chef/resource/bff_package.rb +8 -5
- data/lib/chef/resource/breakpoint.rb +9 -6
- data/lib/chef/resource/build_essential.rb +139 -0
- data/lib/chef/resource/cab_package.rb +5 -4
- data/lib/chef/resource/chef_gem.rb +1 -1
- data/lib/chef/resource/chef_handler.rb +130 -0
- data/lib/chef/resource/chocolatey_package.rb +6 -6
- data/lib/chef/resource/cookbook_file.rb +12 -9
- data/lib/chef/resource/cron.rb +14 -75
- data/lib/chef/resource/csh.rb +6 -4
- data/lib/chef/resource/directory.rb +7 -4
- data/lib/chef/resource/dmg_package.rb +161 -0
- data/lib/chef/resource/dnf_package.rb +10 -7
- data/lib/chef/resource/dpkg_package.rb +5 -3
- data/lib/chef/resource/dsc_resource.rb +11 -28
- data/lib/chef/resource/dsc_script.rb +14 -37
- data/lib/chef/resource/execute.rb +15 -78
- data/lib/chef/resource/file.rb +6 -5
- data/lib/chef/resource/file/verification.rb +5 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +6 -3
- data/lib/chef/resource/git.rb +4 -15
- data/lib/chef/resource/group.rb +7 -46
- data/lib/chef/resource/homebrew_cask.rb +98 -0
- data/lib/chef/resource/homebrew_package.rb +3 -3
- data/lib/chef/resource/homebrew_tap.rb +86 -0
- data/lib/chef/resource/hostname.rb +249 -0
- data/lib/chef/resource/http_request.rb +8 -22
- data/lib/chef/resource/ifconfig.rb +3 -2
- data/lib/chef/resource/ips_package.rb +4 -3
- data/lib/chef/resource/ksh.rb +7 -6
- data/lib/chef/resource/launchd.rb +4 -4
- data/lib/chef/resource/link.rb +18 -56
- data/lib/chef/resource/log.rb +6 -8
- data/lib/chef/resource/lwrp_base.rb +4 -5
- data/lib/chef/resource/macos_userdefaults.rb +133 -0
- data/lib/chef/resource/macosx_service.rb +7 -23
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/mdadm.rb +13 -84
- data/lib/chef/resource/mount.rb +21 -127
- data/lib/chef/resource/msu_package.rb +4 -4
- data/lib/chef/resource/ohai.rb +5 -3
- data/lib/chef/resource/ohai_hint.rb +93 -0
- data/lib/chef/resource/openbsd_package.rb +3 -3
- data/lib/chef/resource/openssl_dhparam.rb +80 -0
- data/lib/chef/resource/openssl_rsa_private_key.rb +93 -0
- data/lib/chef/resource/openssl_rsa_public_key.rb +73 -0
- data/lib/chef/resource/osx_profile.rb +9 -10
- data/lib/chef/resource/package.rb +8 -6
- data/lib/chef/resource/pacman_package.rb +3 -2
- data/lib/chef/resource/paludis_package.rb +4 -4
- data/lib/chef/resource/perl.rb +6 -4
- data/lib/chef/resource/portage_package.rb +3 -6
- data/lib/chef/resource/powershell_package.rb +9 -13
- data/lib/chef/resource/powershell_script.rb +9 -8
- data/lib/chef/resource/python.rb +5 -4
- data/lib/chef/resource/reboot.rb +8 -9
- data/lib/chef/resource/registry_key.rb +9 -19
- data/lib/chef/resource/remote_directory.rb +5 -3
- data/lib/chef/resource/remote_file.rb +11 -50
- data/lib/chef/resource/resource_notification.rb +2 -2
- data/lib/chef/resource/rhsm_errata.rb +44 -0
- data/lib/chef/resource/rhsm_errata_level.rb +51 -0
- data/lib/chef/resource/rhsm_register.rb +162 -0
- data/lib/chef/resource/rhsm_repo.rb +62 -0
- data/lib/chef/resource/rhsm_subscription.rb +95 -0
- data/lib/chef/resource/route.rb +3 -1
- data/lib/chef/resource/rpm_package.rb +3 -3
- data/lib/chef/resource/ruby.rb +6 -4
- data/lib/chef/resource/ruby_block.rb +6 -17
- data/lib/chef/resource/scm.rb +14 -146
- data/lib/chef/resource/script.rb +7 -5
- data/lib/chef/resource/service.rb +2 -1
- data/lib/chef/resource/smartos_package.rb +4 -3
- data/lib/chef/resource/solaris_package.rb +3 -2
- data/lib/chef/resource/subversion.rb +20 -4
- data/lib/chef/resource/sudo.rb +231 -0
- data/lib/chef/resource/support/sudoer.erb +18 -0
- data/lib/chef/resource/swap_file.rb +209 -0
- data/lib/chef/resource/sysctl.rb +111 -0
- data/lib/chef/resource/systemd_unit.rb +6 -5
- data/lib/chef/resource/template.rb +6 -27
- data/lib/chef/resource/windows_ad_join.rb +92 -0
- data/lib/chef/resource/windows_auto_run.rb +87 -0
- data/lib/chef/resource/{env.rb → windows_env.rb} +11 -5
- data/lib/chef/resource/windows_feature.rb +95 -0
- data/lib/chef/resource/windows_feature_dism.rb +226 -0
- data/lib/chef/resource/windows_feature_powershell.rb +256 -0
- data/lib/chef/resource/windows_font.rb +127 -0
- data/lib/chef/resource/windows_package.rb +5 -3
- data/lib/chef/resource/windows_pagefile.rb +206 -0
- data/lib/chef/resource/windows_path.rb +3 -3
- data/lib/chef/resource/windows_printer.rb +148 -0
- data/lib/chef/resource/windows_printer_port.rb +136 -0
- data/lib/chef/resource/windows_service.rb +79 -38
- data/lib/chef/resource/windows_shortcut.rb +79 -0
- data/lib/chef/resource/windows_task.rb +5 -5
- data/lib/chef/resource/yum_package.rb +8 -2
- data/lib/chef/resource/yum_repository.rb +12 -5
- data/lib/chef/resource/zypper_package.rb +5 -3
- data/lib/chef/resource/zypper_repository.rb +17 -12
- data/lib/chef/resource_inspector.rb +89 -0
- data/lib/chef/resource_reporter.rb +5 -6
- data/lib/chef/resource_resolver.rb +4 -4
- data/lib/chef/resources.rb +31 -6
- data/lib/chef/role.rb +1 -3
- data/lib/chef/run_context.rb +21 -12
- data/lib/chef/run_context/cookbook_compiler.rb +18 -9
- data/lib/chef/search/query.rb +1 -2
- data/lib/chef/shell.rb +0 -1
- data/lib/chef/shell/model_wrapper.rb +1 -1
- data/lib/chef/shell/shell_session.rb +4 -3
- data/lib/chef/util/diff.rb +2 -2
- data/lib/chef/util/dsc/configuration_generator.rb +1 -1
- data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
- data/lib/chef/util/dsc/local_configuration_manager.rb +4 -4
- data/lib/chef/util/selinux.rb +1 -1
- data/lib/chef/util/windows/logon_session.rb +5 -2
- data/lib/chef/util/windows/net_user.rb +2 -2
- data/lib/chef/util/windows/volume.rb +0 -4
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/error.rb +2 -2
- data/lib/chef/win32/api/net.rb +1 -1
- data/lib/chef/win32/api/security.rb +11 -0
- data/lib/chef/win32/eventlog.rb +2 -2
- data/lib/chef/win32/mutex.rb +1 -1
- data/lib/chef/win32/registry.rb +17 -17
- data/lib/chef/win32/security.rb +34 -12
- data/lib/chef/win32/security/sid.rb +1 -2
- data/lib/chef/win32/version.rb +2 -15
- data/lib/chef/win32_service_constants.rb +143 -0
- data/spec/data/mixin/invalid_data.rb +3 -0
- data/spec/data/mixin/real_data.rb +2 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.aarch64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.ppc64le.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.s390x.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.aarch64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.ppc64le.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.s390x.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/repomd.xml +19 -53
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +2 -2
- data/spec/functional/http/simple_spec.rb +6 -6
- data/spec/functional/mixin/from_file_spec.rb +82 -0
- data/spec/functional/notifications_spec.rb +1 -1
- data/spec/functional/resource/{package_spec.rb → apt_package_spec.rb} +4 -4
- data/spec/functional/resource/dnf_package_spec.rb +115 -115
- data/spec/functional/resource/ifconfig_spec.rb +1 -2
- data/spec/functional/resource/link_spec.rb +9 -13
- data/spec/functional/resource/powershell_script_spec.rb +0 -2
- data/spec/functional/resource/registry_spec.rb +3 -3
- data/spec/functional/resource/remote_file_spec.rb +4 -4
- data/spec/functional/resource/user/windows_spec.rb +3 -1
- data/spec/functional/resource/windows_env_spec.rb +285 -0
- data/spec/functional/resource/windows_task_spec.rb +303 -2
- data/spec/functional/resource/yum_package_spec.rb +949 -0
- data/spec/functional/root_alias_spec.rb +1 -1
- data/spec/functional/win32/security_spec.rb +60 -7
- data/spec/functional/win32/versions_spec.rb +7 -9
- data/spec/integration/client/client_spec.rb +99 -7
- data/spec/integration/knife/chef_fs_data_store_spec.rb +23 -4
- data/spec/integration/recipes/recipe_dsl_spec.rb +26 -26
- data/spec/integration/recipes/resource_action_spec.rb +25 -120
- data/spec/spec_helper.rb +10 -2
- data/spec/support/lib/chef/resource/one_two_three_four.rb +0 -2
- data/spec/support/lib/chef/resource/zen_master.rb +1 -3
- data/spec/support/mock/constant.rb +1 -1
- data/spec/support/platform_helpers.rb +24 -7
- data/spec/support/shared/context/client.rb +13 -10
- data/spec/support/shared/examples/client.rb +50 -0
- data/spec/support/shared/functional/file_resource.rb +1 -1
- data/spec/support/shared/functional/securable_resource.rb +2 -2
- data/spec/support/shared/integration/knife_support.rb +5 -0
- data/spec/unit/application/client_spec.rb +39 -13
- data/spec/unit/application/solo_spec.rb +1 -8
- data/spec/unit/application_spec.rb +66 -2
- data/spec/unit/audit/audit_event_proxy_spec.rb +1 -1
- data/spec/unit/audit/audit_reporter_spec.rb +16 -16
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/client_spec.rb +3 -4
- data/spec/unit/cookbook/metadata_spec.rb +1 -1
- data/spec/unit/cookbook_loader_spec.rb +6 -6
- data/spec/unit/cookbook_manifest_spec.rb +2 -2
- data/spec/unit/cookbook_version_file_specificity_spec.rb +5 -25
- data/spec/unit/data_collector/messages/helpers_spec.rb +9 -0
- data/spec/unit/data_collector/resource_report_spec.rb +3 -3
- data/spec/unit/data_collector_spec.rb +135 -1
- data/spec/unit/dsl/reboot_pending_spec.rb +0 -13
- data/spec/unit/dsl/recipe_spec.rb +0 -13
- data/spec/unit/environment_spec.rb +2 -2
- data/spec/unit/exceptions_spec.rb +1 -1
- data/spec/unit/http/validate_content_length_spec.rb +5 -5
- data/spec/unit/knife/bootstrap_spec.rb +11 -15
- data/spec/unit/knife/configure_spec.rb +1 -2
- data/spec/unit/knife/cookbook_test_spec.rb +2 -2
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +2 -2
- data/spec/unit/knife/core/node_editor_spec.rb +6 -6
- data/spec/unit/knife/environment_compare_spec.rb +3 -3
- data/spec/unit/knife/node_edit_spec.rb +3 -1
- data/spec/unit/knife/node_policy_set_spec.rb +122 -0
- data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
- data/spec/unit/knife/osc_user_show_spec.rb +1 -1
- data/spec/unit/knife/ssh_spec.rb +18 -0
- data/spec/unit/log/syslog_spec.rb +2 -4
- data/spec/unit/log/winevt_spec.rb +2 -3
- data/spec/unit/lwrp_spec.rb +4 -4
- data/spec/unit/mixin/homebrew_user_spec.rb +1 -5
- data/spec/unit/mixin/openssl_helper_spec.rb +252 -0
- data/spec/unit/mixin/powershell_exec_spec.rb +43 -0
- data/spec/unit/node/attribute_spec.rb +3 -3
- data/spec/unit/node/immutable_collections_spec.rb +11 -1
- data/spec/unit/node_map_spec.rb +2 -2
- data/spec/unit/node_spec.rb +11 -16
- data/spec/unit/platform/query_helpers_spec.rb +0 -13
- data/spec/unit/policy_builder/policyfile_spec.rb +79 -2
- data/spec/unit/property/validation_spec.rb +51 -4
- data/spec/unit/provider/apt_repository_spec.rb +97 -32
- data/spec/unit/provider/cookbook_file_spec.rb +2 -1
- data/spec/unit/provider/cron/unix_spec.rb +8 -3
- data/spec/unit/provider/cron_spec.rb +27 -32
- data/spec/unit/provider/file_spec.rb +2 -1
- data/spec/unit/provider/group/dscl_spec.rb +7 -8
- data/spec/unit/provider/group/gpasswd_spec.rb +5 -2
- data/spec/unit/provider/group/groupmod_spec.rb +6 -3
- data/spec/unit/provider/group/pw_spec.rb +5 -2
- data/spec/unit/provider/link_spec.rb +6 -4
- data/spec/unit/provider/log_spec.rb +18 -13
- data/spec/unit/provider/mount/aix_spec.rb +1 -9
- data/spec/unit/provider/mount/mount_spec.rb +22 -0
- data/spec/unit/provider/osx_profile_spec.rb +3 -3
- data/spec/unit/provider/package/apt_spec.rb +431 -411
- data/spec/unit/provider/package/{aix_spec.rb → bff_spec.rb} +7 -5
- data/spec/unit/provider/package/chocolatey_spec.rb +0 -13
- data/spec/unit/provider/package/homebrew_spec.rb +2 -1
- data/spec/unit/provider/package/portage_spec.rb +11 -147
- data/spec/unit/provider/package/powershell_spec.rb +208 -57
- data/spec/unit/provider/package/rubygems_spec.rb +11 -2
- data/spec/unit/provider/package/windows_spec.rb +0 -19
- data/spec/unit/provider/package/yum/python_helper_spec.rb +29 -0
- data/spec/unit/provider/package/yum/yum_cache_spec.rb +86 -4
- data/spec/unit/provider/package/zypper_spec.rb +8 -0
- data/spec/unit/provider/package_spec.rb +47 -20
- data/spec/unit/provider/registry_key_spec.rb +7 -1
- data/spec/unit/provider/remote_directory_spec.rb +1 -1
- data/spec/unit/provider/remote_file_spec.rb +2 -1
- data/spec/unit/provider/service/macosx_spec.rb +4 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +2 -10
- data/spec/unit/provider/service/windows_spec.rb +447 -30
- data/spec/unit/provider/systemd_unit_spec.rb +50 -13
- data/spec/unit/provider/template_spec.rb +2 -4
- data/spec/unit/provider/user/windows_spec.rb +3 -0
- data/spec/unit/provider/{env_spec.rb → windows_env_spec.rb} +102 -12
- data/spec/unit/provider/zypper_repository_spec.rb +4 -2
- data/spec/unit/provider_resolver_spec.rb +23 -38
- data/spec/unit/recipe_spec.rb +4 -4
- data/spec/unit/resource/apt_package_spec.rb +4 -0
- data/spec/unit/resource/apt_preference_spec.rb +0 -5
- data/spec/unit/resource/apt_repository_spec.rb +35 -10
- data/spec/unit/resource/apt_update_spec.rb +0 -5
- data/spec/unit/resource/bash_spec.rb +2 -3
- data/spec/unit/resource/batch_spec.rb +1 -4
- data/spec/unit/resource/{timestamped_deploy_spec.rb → build_essential_spec.rb} +10 -11
- data/spec/unit/resource/cab_package_spec.rb +1 -3
- data/{lib/chef/mixin/language_include_attribute.rb → spec/unit/resource/chef_handler_spec.rb} +13 -12
- data/spec/unit/resource/chocolatey_package_spec.rb +1 -3
- data/spec/unit/resource/cron_spec.rb +0 -5
- data/spec/unit/resource/csh_spec.rb +2 -3
- data/spec/unit/resource/directory_spec.rb +1 -6
- data/{lib/chef/resource/deploy_revision.rb → spec/unit/resource/dmg_package_spec.rb} +14 -10
- data/spec/unit/resource/dnf_package_spec.rb +20 -26
- data/spec/unit/resource/file_spec.rb +1 -1
- data/spec/unit/resource/freebsd_package_spec.rb +22 -23
- data/spec/unit/resource/gem_package_spec.rb +3 -5
- data/spec/unit/resource/git_spec.rb +1 -2
- data/spec/unit/resource/group_spec.rb +0 -5
- data/spec/unit/resource/homebrew_cask_spec.rb +35 -0
- data/spec/unit/resource/homebrew_package_spec.rb +4 -0
- data/spec/unit/resource/homebrew_tap_spec.rb +39 -0
- data/spec/unit/resource/hostname_spec.rb +43 -0
- data/spec/unit/resource/http_request_spec.rb +0 -5
- data/spec/unit/resource/ips_package_spec.rb +4 -0
- data/spec/unit/resource/ksh_spec.rb +2 -3
- data/spec/unit/resource/launchd_spec.rb +0 -5
- data/spec/unit/resource/link_spec.rb +1 -6
- data/spec/unit/resource/log_spec.rb +0 -5
- data/spec/unit/resource/macos_user_defaults_spec.rb +45 -0
- data/spec/unit/resource/mdadm_spec.rb +0 -5
- data/spec/unit/resource/mount_spec.rb +1 -6
- data/spec/unit/resource/msu_package_spec.rb +1 -3
- data/spec/unit/resource/ohai_hint_spec.rb +43 -0
- data/spec/unit/resource/ohai_spec.rb +0 -5
- data/spec/unit/resource/openbsd_package_spec.rb +8 -12
- data/spec/unit/resource/openssl_dhparam.rb +51 -0
- data/spec/unit/resource/openssl_rsa_private_key_spec.rb +59 -0
- data/spec/unit/resource/openssl_rsa_public_key_spec.rb +39 -0
- data/spec/unit/resource/osx_profile_spec.rb +0 -5
- data/spec/unit/resource/package_spec.rb +0 -5
- data/spec/unit/resource/perl_spec.rb +2 -3
- data/spec/unit/resource/portage_package_spec.rb +3 -7
- data/spec/unit/resource/powershell_package_spec.rb +11 -4
- data/spec/unit/resource/python_spec.rb +0 -5
- data/spec/unit/resource/reboot_spec.rb +0 -5
- data/spec/unit/resource/registry_key_spec.rb +5 -6
- data/spec/unit/resource/remote_directory_spec.rb +0 -5
- data/spec/unit/resource/remote_file_spec.rb +1 -5
- data/spec/unit/resource/rhsm_errata_level_spec.rb +46 -0
- data/{lib/chef/mixin/language_include_recipe.rb → spec/unit/resource/rhsm_errata_spec.rb} +14 -10
- data/spec/unit/resource/rhsm_register_spec.rb +199 -0
- data/spec/unit/resource/rhsm_repo_spec.rb +59 -0
- data/spec/unit/resource/rhsm_subscription_spec.rb +93 -0
- data/spec/unit/resource/route_spec.rb +1 -6
- data/spec/unit/resource/rpm_package_spec.rb +4 -0
- data/spec/unit/resource/ruby_block_spec.rb +0 -5
- data/spec/unit/resource/ruby_spec.rb +0 -5
- data/spec/unit/resource/scm_spec.rb +0 -15
- data/spec/unit/resource/service_spec.rb +0 -5
- data/spec/unit/resource/subversion_spec.rb +12 -0
- data/spec/unit/resource/sudo_spec.rb +92 -0
- data/spec/unit/resource/swap_file_spec.rb +40 -0
- data/spec/unit/resource/sysctl_spec.rb +56 -0
- data/spec/unit/resource/systemd_unit_spec.rb +5 -7
- data/spec/unit/resource/template_spec.rb +1 -3
- data/spec/unit/resource/user_spec.rb +0 -5
- data/spec/unit/resource/windows_ad_join.rb +45 -0
- data/spec/unit/resource/windows_auto_run_spec.rb +50 -0
- data/spec/unit/resource/{env_spec.rb → windows_env_spec.rb} +19 -21
- data/spec/unit/resource/windows_feature.rb +41 -0
- data/spec/unit/resource/windows_feature_dism.rb +51 -0
- data/spec/unit/resource/windows_feature_powershell.rb +51 -0
- data/spec/unit/resource/windows_font_spec.rb +44 -0
- data/spec/unit/resource/windows_package_spec.rb +2 -2
- data/spec/unit/resource/windows_pagefile_spec.rb +45 -0
- data/spec/unit/resource/windows_printer_port_spec.rb +45 -0
- data/spec/unit/resource/windows_printer_spec.rb +45 -0
- data/spec/unit/resource/windows_service_spec.rb +25 -4
- data/spec/unit/resource/windows_shortcut_spec.rb +39 -0
- data/spec/unit/resource/windows_task_spec.rb +0 -5
- data/spec/unit/resource/yum_repository_spec.rb +4 -0
- data/spec/unit/resource/zypper_repository_spec.rb +4 -0
- data/spec/unit/resource_inspector_spec.rb +60 -0
- data/spec/unit/resource_reporter_spec.rb +2 -2
- data/spec/unit/resource_spec.rb +0 -5
- data/spec/unit/shell/shell_session_spec.rb +0 -1
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/util/windows/logon_session_spec.rb +2 -1
- data/spec/unit/win32/security_spec.rb +44 -1
- data/spec/unit/windows_service_spec.rb +4 -2
- data/tasks/announce.rb +1 -1
- data/tasks/cbgb.rb +84 -0
- data/tasks/dependencies.rb +38 -2
- data/tasks/maintainers.rb +7 -7
- data/tasks/rspec.rb +2 -2
- data/tasks/templates/prerelease.md.erb +2 -11
- data/tasks/templates/release.md.erb +1 -9
- metadata +225 -96
- data/lib/chef/knife/help.rb +0 -101
- data/lib/chef/knife/help_topics.rb +0 -4
- data/lib/chef/knife/index_rebuild.rb +0 -133
- data/lib/chef/mixin/language.rb +0 -48
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +0 -35
- data/lib/chef/provider/deploy.rb +0 -470
- data/lib/chef/provider/deploy/revision.rb +0 -107
- data/lib/chef/provider/deploy/timestamped.rb +0 -34
- data/lib/chef/provider/env/windows.rb +0 -76
- data/lib/chef/provider/erl_call.rb +0 -76
- data/lib/chef/provider/package/yum/yum-dump.py +0 -307
- data/lib/chef/resource/deploy.rb +0 -449
- data/lib/chef/resource/erl_call.rb +0 -90
- data/lib/chef/resource/timestamped_deploy.rb +0 -26
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.10-1.fc24.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.i686.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.src.rpm +0 -0
- data/spec/functional/assets/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm +0 -0
- data/spec/functional/assets/yumrepo/repodata/313329137b55fd333b2dc66394a6661a2befa6cc535d8460d92a4a78a9c581f0-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/31ac4db5d5ac593728fcc26aef82b7b93c4cc4dbec843786b1845b939b658553-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/4ac40fa3c6728c1401318e2e20a997436624e83dcf7a5f952b851ef422637773-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/66391e53f0510b98b3f0b79f40ba1048026d9a1ef20905d9c40ba6f5411f3243-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/8b34697595fcc87928e12d24644dda9462c3857bd932861e28bc77ae1f31be16-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/b97cca3fe14bcf06c52be4449b6108f7731239ff221111dcce8aada5467f60dc-other.sqlite.bz2 +0 -0
- data/spec/functional/resource/deploy_revision_spec.rb +0 -881
- data/spec/functional/resource/env_spec.rb +0 -192
- data/spec/unit/knife/index_rebuild_spec.rb +0 -125
- data/spec/unit/knife/knife_help.rb +0 -92
- data/spec/unit/provider/deploy/revision_spec.rb +0 -110
- data/spec/unit/provider/deploy/timestamped_spec.rb +0 -40
- data/spec/unit/provider/deploy_spec.rb +0 -641
- data/spec/unit/provider/env/windows_spec.rb +0 -103
- data/spec/unit/provider/erl_call_spec.rb +0 -77
- data/spec/unit/provider/package/yum_spec.rb +0 -2294
- data/spec/unit/resource/deploy_revision_spec.rb +0 -42
- data/spec/unit/resource/deploy_spec.rb +0 -283
- data/spec/unit/resource/erl_call_spec.rb +0 -81
@@ -108,7 +108,7 @@ class Chef
|
|
108
108
|
def culprit_backtrace_entry
|
109
109
|
@culprit_backtrace_entry ||= begin
|
110
110
|
bt_entry = filtered_bt.first
|
111
|
-
Chef::Log.
|
111
|
+
Chef::Log.trace("Backtrace entry for compile error: '#{bt_entry}'")
|
112
112
|
bt_entry
|
113
113
|
end
|
114
114
|
end
|
@@ -116,7 +116,7 @@ class Chef
|
|
116
116
|
def culprit_line
|
117
117
|
@culprit_line ||= begin
|
118
118
|
line_number = culprit_backtrace_entry[/^(?:.\:)?[^:]+:([\d]+)/, 1].to_i
|
119
|
-
Chef::Log.
|
119
|
+
Chef::Log.trace("Line number of compile error: '#{line_number}'")
|
120
120
|
line_number
|
121
121
|
end
|
122
122
|
end
|
@@ -138,7 +138,7 @@ class Chef
|
|
138
138
|
begin
|
139
139
|
filters = Array(Chef::Config.cookbook_path).map { |p| /^#{Regexp.escape(p)}/i }
|
140
140
|
r = exception.backtrace.select { |line| filters.any? { |filter| line =~ filter } }
|
141
|
-
Chef::Log.
|
141
|
+
Chef::Log.trace("Filtered backtrace of compile error: #{r.join(",")}")
|
142
142
|
r
|
143
143
|
end
|
144
144
|
end
|
@@ -33,7 +33,9 @@ class Chef
|
|
33
33
|
public
|
34
34
|
|
35
35
|
def evaluate
|
36
|
-
shell_out_with_systems_locale(@command, @command_opts)
|
36
|
+
result = shell_out_with_systems_locale(@command, @command_opts)
|
37
|
+
Chef::Log.debug "Command failed: #{result.stderr}" unless result.status.success?
|
38
|
+
result.status.success?
|
37
39
|
# Timeout fails command rather than chef-client run, see:
|
38
40
|
# https://tickets.opscode.com/browse/CHEF-2690
|
39
41
|
rescue Chef::Exceptions::CommandTimeout
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Edwards (<adamed@chef.io>)
|
3
|
-
# Copyright:: Copyright 2014-
|
3
|
+
# Copyright:: Copyright 2014-2018, Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -108,7 +108,7 @@ class Chef
|
|
108
108
|
|
109
109
|
def block_from_attributes(attributes)
|
110
110
|
Proc.new do
|
111
|
-
attributes.
|
111
|
+
attributes.each_key do |attribute_name|
|
112
112
|
send(attribute_name, attributes[attribute_name]) if respond_to?(attribute_name)
|
113
113
|
end
|
114
114
|
end
|
data/lib/chef/handler.rb
CHANGED
@@ -19,14 +19,12 @@ require "chef/client"
|
|
19
19
|
require "forwardable"
|
20
20
|
|
21
21
|
class Chef
|
22
|
-
# == Chef::Handler
|
23
22
|
# The base class for an Exception or Notification Handler. Create your own
|
24
23
|
# handler by subclassing Chef::Handler. When a Chef run fails with an
|
25
24
|
# uncaught Exception, Chef will set the +run_status+ on your handler and call
|
26
25
|
# +report+
|
27
26
|
#
|
28
|
-
#
|
29
|
-
#
|
27
|
+
# @example
|
30
28
|
# require 'net/smtp'
|
31
29
|
#
|
32
30
|
# module MyOrg
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
|
-
# Copyright:: Copyright 2010-
|
3
|
+
# Copyright:: Copyright 2010-2018, Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -28,7 +28,6 @@ class Chef
|
|
28
28
|
def initialize(config = {})
|
29
29
|
@config = config
|
30
30
|
@config[:path] ||= "/var/chef/reports"
|
31
|
-
@config
|
32
31
|
end
|
33
32
|
|
34
33
|
def report
|
data/lib/chef/http.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# Author:: Christopher Brown (<cb@chef.io>)
|
6
6
|
# Author:: Christopher Walters (<cw@chef.io>)
|
7
7
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
8
|
-
# Copyright:: Copyright 2009-
|
8
|
+
# Copyright:: Copyright 2009-2018, Chef Software Inc.
|
9
9
|
# License:: Apache License, Version 2.0
|
10
10
|
#
|
11
11
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -54,7 +54,7 @@ class Chef
|
|
54
54
|
# stream handlers handle responses so must be applied in reverse order
|
55
55
|
# (same as #apply_stream_complete_middleware or #apply_response_midddleware)
|
56
56
|
@stream_handlers.reverse.inject(next_chunk) do |chunk, handler|
|
57
|
-
Chef::Log.
|
57
|
+
Chef::Log.trace("Chef::HTTP::StreamHandler calling #{handler.class}#handle_chunk")
|
58
58
|
handler.handle_chunk(chunk)
|
59
59
|
end
|
60
60
|
end
|
@@ -156,7 +156,7 @@ class Chef
|
|
156
156
|
http_attempts += 1
|
157
157
|
response = e.response
|
158
158
|
if response.kind_of?(Net::HTTPNotAcceptable) && version_retries - http_attempts > 0
|
159
|
-
Chef::Log.
|
159
|
+
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
160
160
|
retry
|
161
161
|
else
|
162
162
|
raise
|
@@ -194,7 +194,7 @@ class Chef
|
|
194
194
|
http_attempts += 1
|
195
195
|
response = e.response
|
196
196
|
if response.kind_of?(Net::HTTPNotAcceptable) && version_retries - http_attempts > 0
|
197
|
-
Chef::Log.
|
197
|
+
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
198
198
|
retry
|
199
199
|
else
|
200
200
|
raise
|
@@ -249,7 +249,7 @@ class Chef
|
|
249
249
|
http_attempts += 1
|
250
250
|
response = e.response
|
251
251
|
if response.kind_of?(Net::HTTPNotAcceptable) && version_retries - http_attempts > 0
|
252
|
-
Chef::Log.
|
252
|
+
Chef::Log.trace("Negotiating protocol version with #{url}, retry #{http_attempts}/#{version_retries}")
|
253
253
|
retry
|
254
254
|
else
|
255
255
|
raise
|
@@ -324,7 +324,7 @@ class Chef
|
|
324
324
|
# @api private
|
325
325
|
def apply_request_middleware(method, url, headers, data)
|
326
326
|
middlewares.inject([method, url, headers, data]) do |req_data, middleware|
|
327
|
-
Chef::Log.
|
327
|
+
Chef::Log.trace("Chef::HTTP calling #{middleware.class}#handle_request")
|
328
328
|
middleware.handle_request(*req_data)
|
329
329
|
end
|
330
330
|
end
|
@@ -332,7 +332,7 @@ class Chef
|
|
332
332
|
# @api private
|
333
333
|
def apply_response_middleware(response, rest_request, return_value)
|
334
334
|
middlewares.reverse.inject([response, rest_request, return_value]) do |res_data, middleware|
|
335
|
-
Chef::Log.
|
335
|
+
Chef::Log.trace("Chef::HTTP calling #{middleware.class}#handle_response")
|
336
336
|
middleware.handle_response(*res_data)
|
337
337
|
end
|
338
338
|
end
|
@@ -340,7 +340,7 @@ class Chef
|
|
340
340
|
# @api private
|
341
341
|
def apply_stream_complete_middleware(response, rest_request, return_value)
|
342
342
|
middlewares.reverse.inject([response, rest_request, return_value]) do |res_data, middleware|
|
343
|
-
Chef::Log.
|
343
|
+
Chef::Log.trace("Chef::HTTP calling #{middleware.class}#handle_stream_complete")
|
344
344
|
middleware.handle_stream_complete(*res_data)
|
345
345
|
end
|
346
346
|
end
|
@@ -381,7 +381,14 @@ class Chef
|
|
381
381
|
elsif redirect_location = redirected_to(response)
|
382
382
|
if [:GET, :HEAD].include?(method)
|
383
383
|
follow_redirect do
|
384
|
-
|
384
|
+
redirected_url = url + redirect_location
|
385
|
+
if http_disable_auth_on_redirect
|
386
|
+
new_headers = build_headers(method, redirected_url, headers, body)
|
387
|
+
new_headers.delete("Authorization") if url.host != redirected_url.host
|
388
|
+
send_http_request(method, redirected_url, new_headers, body, &response_handler)
|
389
|
+
else
|
390
|
+
send_http_request(method, redirected_url, headers, body, &response_handler)
|
391
|
+
end
|
385
392
|
end
|
386
393
|
else
|
387
394
|
raise Exceptions::InvalidRedirect, "#{method} request was redirected from #{url} to #{redirect_location}. Only GET and HEAD support redirects."
|
@@ -459,6 +466,11 @@ class Chef
|
|
459
466
|
config[:http_retry_count]
|
460
467
|
end
|
461
468
|
|
469
|
+
# @api private
|
470
|
+
def http_disable_auth_on_redirect
|
471
|
+
config[:http_disable_auth_on_redirect]
|
472
|
+
end
|
473
|
+
|
462
474
|
# @api private
|
463
475
|
def config
|
464
476
|
Chef::Config
|
@@ -468,7 +480,7 @@ class Chef
|
|
468
480
|
def follow_redirect
|
469
481
|
raise Chef::Exceptions::RedirectLimitExceeded if @redirects_followed >= redirect_limit
|
470
482
|
@redirects_followed += 1
|
471
|
-
Chef::Log.
|
483
|
+
Chef::Log.trace("Following redirect #{@redirects_followed}/#{redirect_limit}")
|
472
484
|
|
473
485
|
yield
|
474
486
|
ensure
|
@@ -506,7 +518,7 @@ class Chef
|
|
506
518
|
tf.binmode # required for binary files on Windows platforms
|
507
519
|
end
|
508
520
|
end
|
509
|
-
Chef::Log.
|
521
|
+
Chef::Log.trace("Streaming download from #{url} to tempfile #{tf.path}")
|
510
522
|
# Stolen from http://www.ruby-forum.com/topic/166423
|
511
523
|
# Kudos to _why!
|
512
524
|
|
@@ -38,7 +38,7 @@ class Chef
|
|
38
38
|
|
39
39
|
def signature_headers(request_params = {})
|
40
40
|
raise ArgumentError, "Cannot sign the request without a client name, check that :node_name is assigned" if client_name.nil?
|
41
|
-
Chef::Log.
|
41
|
+
Chef::Log.trace("Signing the request as #{client_name}")
|
42
42
|
|
43
43
|
# params_in = {:http_method => :GET, :path => "/clients", :body => "", :host => "localhost"}
|
44
44
|
request_params = request_params.dup
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# Author:: Christopher Brown (<cb@chef.io>)
|
6
6
|
# Author:: Christopher Walters (<cw@chef.io>)
|
7
7
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
8
|
-
# Copyright:: Copyright 2009-
|
8
|
+
# Copyright:: Copyright 2009-2018, Chef Software Inc.
|
9
9
|
# License:: Apache License, Version 2.0
|
10
10
|
#
|
11
11
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -32,7 +32,6 @@ class Chef
|
|
32
32
|
HTTPS = "https".freeze
|
33
33
|
|
34
34
|
attr_reader :url
|
35
|
-
attr_reader :http_client
|
36
35
|
attr_reader :ssl_policy
|
37
36
|
attr_reader :keepalives
|
38
37
|
|
@@ -61,32 +60,32 @@ class Chef
|
|
61
60
|
|
62
61
|
def request(method, url, req_body, base_headers = {})
|
63
62
|
http_request = HTTPRequest.new(method, url, req_body, base_headers).http_request
|
64
|
-
Chef::Log.
|
65
|
-
Chef::Log.
|
63
|
+
Chef::Log.trace("Initiating #{method} to #{url}")
|
64
|
+
Chef::Log.trace("---- HTTP Request Header Data: ----")
|
66
65
|
base_headers.each do |name, value|
|
67
|
-
Chef::Log.
|
66
|
+
Chef::Log.trace("#{name}: #{value}")
|
68
67
|
end
|
69
|
-
Chef::Log.
|
68
|
+
Chef::Log.trace("---- End HTTP Request Header Data ----")
|
70
69
|
http_client.request(http_request) do |response|
|
71
|
-
Chef::Log.
|
72
|
-
Chef::Log.
|
70
|
+
Chef::Log.trace("---- HTTP Status and Header Data: ----")
|
71
|
+
Chef::Log.trace("HTTP #{response.http_version} #{response.code} #{response.msg}")
|
73
72
|
|
74
73
|
response.each do |header, value|
|
75
|
-
Chef::Log.
|
74
|
+
Chef::Log.trace("#{header}: #{value}")
|
76
75
|
end
|
77
|
-
Chef::Log.
|
76
|
+
Chef::Log.trace("---- End HTTP Status/Header Data ----")
|
78
77
|
|
79
78
|
# For non-400's, log the request and response bodies
|
80
79
|
if !response.code || !response.code.start_with?("2")
|
81
80
|
if response.body
|
82
|
-
Chef::Log.
|
83
|
-
Chef::Log.
|
84
|
-
Chef::Log.
|
81
|
+
Chef::Log.trace("---- HTTP Response Body ----")
|
82
|
+
Chef::Log.trace(response.body)
|
83
|
+
Chef::Log.trace("---- End HTTP Response Body -----")
|
85
84
|
end
|
86
85
|
if req_body
|
87
|
-
Chef::Log.
|
88
|
-
Chef::Log.
|
89
|
-
Chef::Log.
|
86
|
+
Chef::Log.trace("---- HTTP Request Body ----")
|
87
|
+
Chef::Log.trace(req_body)
|
88
|
+
Chef::Log.trace("---- End HTTP Request Body ----")
|
90
89
|
end
|
91
90
|
end
|
92
91
|
|
@@ -134,7 +133,7 @@ class Chef
|
|
134
133
|
if proxy_uri.nil?
|
135
134
|
Net::HTTP
|
136
135
|
else
|
137
|
-
Chef::Log.
|
136
|
+
Chef::Log.trace("Using #{proxy_uri.host}:#{proxy_uri.port} for proxy")
|
138
137
|
Net::HTTP.Proxy(proxy_uri.host, proxy_uri.port, http_proxy_user(proxy_uri),
|
139
138
|
http_proxy_pass(proxy_uri))
|
140
139
|
end
|
@@ -79,10 +79,10 @@ class Chef
|
|
79
79
|
else
|
80
80
|
case response[CONTENT_ENCODING]
|
81
81
|
when GZIP
|
82
|
-
Chef::Log.
|
82
|
+
Chef::Log.trace "Decompressing gzip response"
|
83
83
|
Zlib::Inflate.new(Zlib::MAX_WBITS + 16).inflate(response.body)
|
84
84
|
when DEFLATE
|
85
|
-
Chef::Log.
|
85
|
+
Chef::Log.trace "Decompressing deflate response"
|
86
86
|
Zlib::Inflate.inflate(response.body)
|
87
87
|
else
|
88
88
|
response.body
|
@@ -94,20 +94,20 @@ class Chef
|
|
94
94
|
# object you can use to unzip/inflate a streaming response.
|
95
95
|
def stream_response_handler(response)
|
96
96
|
if gzip_disabled?
|
97
|
-
Chef::Log.
|
97
|
+
Chef::Log.trace "disable_gzip is set. \
|
98
98
|
Not using #{response[CONTENT_ENCODING]} \
|
99
99
|
and initializing noop stream deflator."
|
100
100
|
NoopInflater.new
|
101
101
|
else
|
102
102
|
case response[CONTENT_ENCODING]
|
103
103
|
when GZIP
|
104
|
-
Chef::Log.
|
104
|
+
Chef::Log.trace "Initializing gzip stream deflator"
|
105
105
|
GzipInflater.new
|
106
106
|
when DEFLATE
|
107
|
-
Chef::Log.
|
107
|
+
Chef::Log.trace "Initializing deflate stream deflator"
|
108
108
|
DeflateInflater.new
|
109
109
|
else
|
110
|
-
Chef::Log.
|
110
|
+
Chef::Log.trace "content_encoding = '#{response[CONTENT_ENCODING]}' \
|
111
111
|
initializing noop stream deflator."
|
112
112
|
NoopInflater.new
|
113
113
|
end
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# Author:: Christopher Brown (<cb@chef.io>)
|
6
6
|
# Author:: Christopher Walters (<cw@chef.io>)
|
7
7
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
8
|
-
# Copyright:: Copyright 2009-2016, 2010-
|
8
|
+
# Copyright:: Copyright 2009-2016, 2010-2018, Chef Software Inc.
|
9
9
|
# License:: Apache License, Version 2.0
|
10
10
|
#
|
11
11
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -71,7 +71,7 @@ class Chef
|
|
71
71
|
@user_agent ||= DEFAULT_UA
|
72
72
|
end
|
73
73
|
|
74
|
-
attr_reader :method, :url, :headers, :
|
74
|
+
attr_reader :method, :url, :headers, :http_request
|
75
75
|
|
76
76
|
def initialize(method, url, req_body, base_headers = {})
|
77
77
|
@method, @url = method, url
|
@@ -127,9 +127,9 @@ class Chef
|
|
127
127
|
# http://redmine.ruby-lang.org/issues/show/2708
|
128
128
|
# http://redmine.ruby-lang.org/issues/show/2758
|
129
129
|
if e.to_s =~ /#{Regexp.escape(%q{undefined method `closed?' for nil:NilClass})}/
|
130
|
-
Chef::Log.
|
131
|
-
Chef::Log.
|
132
|
-
Chef::Log.
|
130
|
+
Chef::Log.trace("Rescued error in http connect, re-raising as Errno::ECONNREFUSED to hide bug in net/http")
|
131
|
+
Chef::Log.trace("#{e.class.name}: #{e}")
|
132
|
+
Chef::Log.trace(e.backtrace.join("\n"))
|
133
133
|
raise Errno::ECONNREFUSED, "Connection refused attempting to contact #{url.scheme}://#{host}:#{port}"
|
134
134
|
else
|
135
135
|
raise
|
@@ -60,9 +60,9 @@ class Chef
|
|
60
60
|
end
|
61
61
|
[http_response, rest_request, return_value]
|
62
62
|
else
|
63
|
-
Chef::Log.
|
63
|
+
Chef::Log.trace("Expected JSON response, but got content-type '#{http_response['content-type']}'")
|
64
64
|
if http_response.body
|
65
|
-
Chef::Log.
|
65
|
+
Chef::Log.trace("Response body contains:\n#{http_response.body.length < 256 ? http_response.body : http_response.body[0..256] + " [...truncated...]"}")
|
66
66
|
end
|
67
67
|
return [http_response, rest_request, http_response.body.to_s]
|
68
68
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#--
|
2
2
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
3
|
-
# Copyright:: Copyright 2015-
|
3
|
+
# Copyright:: Copyright 2015-2018, Chef Software Inc.
|
4
4
|
# License:: Apache License, Version 2.0
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -133,7 +133,7 @@ class Chef
|
|
133
133
|
511 => "Network Authentication Required",
|
134
134
|
}
|
135
135
|
|
136
|
-
STATUS_MESSAGE.
|
136
|
+
STATUS_MESSAGE.each_value { |v| v.freeze }
|
137
137
|
STATUS_MESSAGE.freeze
|
138
138
|
|
139
139
|
def initialize(base_url)
|
@@ -55,7 +55,7 @@ class Chef
|
|
55
55
|
|
56
56
|
def handle_stream_complete(http_response, rest_request, return_value)
|
57
57
|
if @content_length_counter.nil?
|
58
|
-
Chef::Log.
|
58
|
+
Chef::Log.trace("No content-length information collected for the streamed download, cannot identify streamed download.")
|
59
59
|
else
|
60
60
|
validate(http_response, @content_length_counter.content_length)
|
61
61
|
end
|
@@ -86,19 +86,19 @@ class Chef
|
|
86
86
|
transfer_encoding = http_response["transfer-encoding"]
|
87
87
|
|
88
88
|
if content_length.nil?
|
89
|
-
Chef::Log.
|
89
|
+
Chef::Log.trace "HTTP server did not include a Content-Length header in response, cannot identify truncated downloads."
|
90
90
|
return true
|
91
91
|
end
|
92
92
|
|
93
93
|
if content_length < 0
|
94
|
-
Chef::Log.
|
94
|
+
Chef::Log.trace "HTTP server responded with a negative Content-Length header (#{content_length}), cannot identify truncated downloads."
|
95
95
|
return true
|
96
96
|
end
|
97
97
|
|
98
98
|
# if Transfer-Encoding is set the RFC states that we must ignore the Content-Length field
|
99
99
|
# CHEF-5041: some proxies uncompress gzip content, leave the incorrect content-length, but set the transfer-encoding field
|
100
100
|
unless transfer_encoding.nil?
|
101
|
-
Chef::Log.
|
101
|
+
Chef::Log.trace "Transfer-Encoding header is set, skipping Content-Length check."
|
102
102
|
return true
|
103
103
|
end
|
104
104
|
|
@@ -106,7 +106,7 @@ class Chef
|
|
106
106
|
raise Chef::Exceptions::ContentLengthMismatch.new(response_length, content_length)
|
107
107
|
end
|
108
108
|
|
109
|
-
Chef::Log.
|
109
|
+
Chef::Log.trace "Content-Length validated correctly."
|
110
110
|
true
|
111
111
|
end
|
112
112
|
end
|
data/lib/chef/knife.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
3
3
|
# Author:: Christopher Brown (<cb@chef.io>)
|
4
|
-
# Copyright:: Copyright 2009-
|
4
|
+
# Copyright:: Copyright 2009-2018, Chef Software Inc.
|
5
5
|
# License:: Apache License, Version 2.0
|
6
6
|
#
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
data/lib/chef/knife/bootstrap.rb
CHANGED
@@ -119,16 +119,6 @@ class Chef
|
|
119
119
|
:description => "Do not proxy locations for the node being bootstrapped; this option is used internally by Opscode",
|
120
120
|
:proc => Proc.new { |np| Chef::Config[:knife][:bootstrap_no_proxy] = np }
|
121
121
|
|
122
|
-
# DEPR: Remove this option in Chef 13
|
123
|
-
option :distro,
|
124
|
-
:short => "-d DISTRO",
|
125
|
-
:long => "--distro DISTRO",
|
126
|
-
:description => "Bootstrap a distro using a template. [DEPRECATED] Use -t / --bootstrap-template option instead.",
|
127
|
-
:proc => Proc.new { |v|
|
128
|
-
Chef::Log.warn("[DEPRECATED] -d / --distro option is deprecated. Use -t / --bootstrap-template option instead.")
|
129
|
-
v
|
130
|
-
}
|
131
|
-
|
132
122
|
option :bootstrap_template,
|
133
123
|
:short => "-t TEMPLATE",
|
134
124
|
:long => "--bootstrap-template TEMPLATE",
|
@@ -149,15 +139,6 @@ class Chef
|
|
149
139
|
:description => "Execute the bootstrap via sudo with password",
|
150
140
|
:boolean => false
|
151
141
|
|
152
|
-
# DEPR: Remove this option in Chef 13
|
153
|
-
option :template_file,
|
154
|
-
:long => "--template-file TEMPLATE",
|
155
|
-
:description => "Full path to location of template to use. [DEPRECATED] Use -t / --bootstrap-template option instead.",
|
156
|
-
:proc => Proc.new { |v|
|
157
|
-
Chef::Log.warn("[DEPRECATED] --template-file option is deprecated. Use -t / --bootstrap-template option instead.")
|
158
|
-
v
|
159
|
-
}
|
160
|
-
|
161
142
|
option :run_list,
|
162
143
|
:short => "-r RUN_LIST",
|
163
144
|
:long => "--run-list RUN_LIST",
|
@@ -219,6 +200,11 @@ class Chef
|
|
219
200
|
:description => "Custom command to install chef-client",
|
220
201
|
:proc => Proc.new { |ic| Chef::Config[:knife][:bootstrap_install_command] = ic }
|
221
202
|
|
203
|
+
option :bootstrap_preinstall_command,
|
204
|
+
:long => "--bootstrap-preinstall-command COMMANDS",
|
205
|
+
:description => "Custom commands to run before installing chef-client",
|
206
|
+
:proc => Proc.new { |preic| Chef::Config[:knife][:bootstrap_preinstall_command] = preic }
|
207
|
+
|
222
208
|
option :bootstrap_wget_options,
|
223
209
|
:long => "--bootstrap-wget-options OPTIONS",
|
224
210
|
:description => "Add options to wget when installing chef-client",
|
@@ -307,10 +293,9 @@ class Chef
|
|
307
293
|
end
|
308
294
|
|
309
295
|
def bootstrap_template
|
310
|
-
#
|
311
|
-
#
|
312
|
-
|
313
|
-
config[:bootstrap_template] || config[:template_file] || config[:distro] || default_bootstrap_template
|
296
|
+
# Allow passing a bootstrap template or use the default
|
297
|
+
# @return [String] The CLI specific bootstrap template or the default
|
298
|
+
config[:bootstrap_template] || default_bootstrap_template
|
314
299
|
end
|
315
300
|
|
316
301
|
def find_template
|
@@ -318,7 +303,7 @@ class Chef
|
|
318
303
|
|
319
304
|
# Use the template directly if it's a path to an actual file
|
320
305
|
if File.exists?(template)
|
321
|
-
Chef::Log.
|
306
|
+
Chef::Log.trace("Using the specified bootstrap template: #{File.dirname(template)}")
|
322
307
|
return template
|
323
308
|
end
|
324
309
|
|
@@ -331,7 +316,7 @@ class Chef
|
|
331
316
|
bootstrap_files.flatten!
|
332
317
|
|
333
318
|
template_file = Array(bootstrap_files).find do |bootstrap_template|
|
334
|
-
Chef::Log.
|
319
|
+
Chef::Log.trace("Looking for bootstrap template in #{File.dirname(bootstrap_template)}")
|
335
320
|
File.exists?(bootstrap_template)
|
336
321
|
end
|
337
322
|
|
@@ -340,7 +325,7 @@ class Chef
|
|
340
325
|
raise Errno::ENOENT
|
341
326
|
end
|
342
327
|
|
343
|
-
Chef::Log.
|
328
|
+
Chef::Log.trace("Found bootstrap template in #{File.dirname(template_file)}")
|
344
329
|
|
345
330
|
template_file
|
346
331
|
end
|
@@ -420,11 +405,10 @@ class Chef
|
|
420
405
|
exit 1
|
421
406
|
elsif server_name == "windows"
|
422
407
|
# catches "knife bootstrap windows" when that command is not installed
|
423
|
-
ui.warn("
|
408
|
+
ui.warn("Hostname containing 'windows' specified. Please install 'knife-windows' if you are attempting to bootstrap a Windows node via WinRM.")
|
424
409
|
end
|
425
410
|
end
|
426
411
|
|
427
|
-
# make sure policyfile values are set correctly
|
428
412
|
def validate_options!
|
429
413
|
if incomplete_policyfile_options?
|
430
414
|
ui.error("--policy-name and --policy-group must be specified together")
|
@@ -436,9 +420,6 @@ class Chef
|
|
436
420
|
true
|
437
421
|
end
|
438
422
|
|
439
|
-
# setup a Chef::Knife::Ssh object using the passed config options
|
440
|
-
#
|
441
|
-
# @return Chef::Knife::Ssh
|
442
423
|
def knife_ssh
|
443
424
|
ssh = Chef::Knife::Ssh.new
|
444
425
|
ssh.ui = ui
|
@@ -456,10 +437,6 @@ class Chef
|
|
456
437
|
ssh
|
457
438
|
end
|
458
439
|
|
459
|
-
# prompt for a password then return a knife ssh object with that password set
|
460
|
-
# and with ssh_identity_file set to nil
|
461
|
-
#
|
462
|
-
# @return Chef::Knife::Ssh
|
463
440
|
def knife_ssh_with_password_auth
|
464
441
|
ssh = knife_ssh
|
465
442
|
ssh.config[:ssh_identity_file] = nil
|
@@ -467,8 +444,6 @@ class Chef
|
|
467
444
|
ssh
|
468
445
|
end
|
469
446
|
|
470
|
-
# build the ssh dommand for bootrapping
|
471
|
-
# @return String
|
472
447
|
def ssh_command
|
473
448
|
command = render_template
|
474
449
|
|