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
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: Nimisha Sharad (<nimisha.sharad@msystechnologies.com>)
|
3
|
-
# Copyright:: Copyright 2008-
|
3
|
+
# Copyright:: Copyright 2008-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");
|
@@ -27,7 +27,7 @@ class Chef
|
|
27
27
|
include Chef::Mixin::ShellOut
|
28
28
|
include Chef::Mixin::PowershellOut
|
29
29
|
|
30
|
-
provides :windows_task
|
30
|
+
provides :windows_task
|
31
31
|
|
32
32
|
def load_current_resource
|
33
33
|
self.current_resource = Chef::Resource::WindowsTask.new(new_resource.name)
|
@@ -75,9 +75,9 @@ class Chef
|
|
75
75
|
|
76
76
|
def action_create
|
77
77
|
if current_resource.exists
|
78
|
-
|
78
|
+
logger.trace "#{new_resource} task exists"
|
79
79
|
if !(task_need_update? || new_resource.force)
|
80
|
-
|
80
|
+
logger.info "#{new_resource} task does not need updating and force is not specified - nothing to do"
|
81
81
|
return
|
82
82
|
end
|
83
83
|
# Setting the attributes of new_resource as current_resource.
|
@@ -128,74 +128,74 @@ class Chef
|
|
128
128
|
|
129
129
|
def action_run
|
130
130
|
if current_resource.exists
|
131
|
-
|
131
|
+
logger.trace "#{new_resource} task exists"
|
132
132
|
if current_resource.status == :running
|
133
|
-
|
133
|
+
logger.info "#{new_resource} task is currently running, skipping run"
|
134
134
|
else
|
135
135
|
converge_by("run scheduled task #{new_resource}") do
|
136
136
|
run_schtasks "RUN"
|
137
137
|
end
|
138
138
|
end
|
139
139
|
else
|
140
|
-
|
140
|
+
logger.warn "#{new_resource} task does not exist - nothing to do"
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
144
144
|
def action_delete
|
145
145
|
if current_resource.exists
|
146
|
-
|
146
|
+
logger.trace "#{new_resource} task exists"
|
147
147
|
converge_by("delete scheduled task #{new_resource}") do
|
148
148
|
# always need to force deletion
|
149
149
|
run_schtasks "DELETE", "F" => ""
|
150
150
|
end
|
151
151
|
else
|
152
|
-
|
152
|
+
logger.warn "#{new_resource} task does not exist - nothing to do"
|
153
153
|
end
|
154
154
|
end
|
155
155
|
|
156
156
|
def action_end
|
157
157
|
if current_resource.exists
|
158
|
-
|
158
|
+
logger.trace "#{new_resource} task exists"
|
159
159
|
if current_resource.status != :running
|
160
|
-
|
160
|
+
logger.trace "#{new_resource} is not running - nothing to do"
|
161
161
|
else
|
162
162
|
converge_by("#{new_resource} task ended") do
|
163
163
|
run_schtasks "END"
|
164
164
|
end
|
165
165
|
end
|
166
166
|
else
|
167
|
-
|
167
|
+
logger.warn "#{new_resource} task does not exist - nothing to do"
|
168
168
|
end
|
169
169
|
end
|
170
170
|
|
171
171
|
def action_enable
|
172
172
|
if current_resource.exists
|
173
|
-
|
173
|
+
logger.trace "#{new_resource} task exists"
|
174
174
|
if current_resource.enabled
|
175
|
-
|
175
|
+
logger.trace "#{new_resource} already enabled - nothing to do"
|
176
176
|
else
|
177
177
|
converge_by("#{new_resource} task enabled") do
|
178
178
|
run_schtasks "CHANGE", "ENABLE" => ""
|
179
179
|
end
|
180
180
|
end
|
181
181
|
else
|
182
|
-
|
182
|
+
logger.fatal "#{new_resource} task does not exist - nothing to do"
|
183
183
|
raise Errno::ENOENT, "#{new_resource}: task does not exist, cannot enable"
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
187
|
def action_disable
|
188
188
|
if current_resource.exists
|
189
|
-
|
189
|
+
logger.info "#{new_resource} task exists"
|
190
190
|
if current_resource.enabled
|
191
191
|
converge_by("#{new_resource} task disabled") do
|
192
192
|
run_schtasks "CHANGE", "DISABLE" => ""
|
193
193
|
end
|
194
194
|
else
|
195
|
-
|
195
|
+
logger.warn "#{new_resource} already disabled - nothing to do"
|
196
196
|
end
|
197
197
|
else
|
198
|
-
|
198
|
+
logger.warn "#{new_resource} task does not exist - nothing to do"
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
@@ -204,7 +204,7 @@ class Chef
|
|
204
204
|
# rubocop:disable Style/StringLiteralsInInterpolation
|
205
205
|
def run_schtasks(task_action, options = {})
|
206
206
|
cmd = "schtasks /#{task_action} /TN \"#{new_resource.task_name}\" "
|
207
|
-
options.
|
207
|
+
options.each_key do |option|
|
208
208
|
unless option == "TR"
|
209
209
|
cmd += "/#{option} "
|
210
210
|
cmd += "\"#{options[option].to_s.gsub('"', "\\\"")}\" " unless options[option] == ""
|
@@ -214,8 +214,8 @@ class Chef
|
|
214
214
|
if options["TR"]
|
215
215
|
cmd += "/TR \"#{options["TR"]} \" " unless task_action == "DELETE"
|
216
216
|
end
|
217
|
-
|
218
|
-
|
217
|
+
logger.trace("running: ")
|
218
|
+
logger.trace(" #{cmd}")
|
219
219
|
shell_out!(cmd, returns: [0])
|
220
220
|
end
|
221
221
|
# rubocop:enable Style/StringLiteralsInInterpolation
|
@@ -236,7 +236,7 @@ class Chef
|
|
236
236
|
return true if new_resource.day.to_s.casecmp(current_resource.day.to_s) != 0 ||
|
237
237
|
new_resource.months.to_s.casecmp(current_resource.months.to_s) != 0
|
238
238
|
rescue
|
239
|
-
|
239
|
+
logger.trace "caught a raise in task_needs_update?"
|
240
240
|
end
|
241
241
|
|
242
242
|
false
|
@@ -314,7 +314,7 @@ class Chef
|
|
314
314
|
|
315
315
|
def get_system_short_date_format
|
316
316
|
return @system_short_date_format if @system_short_date_format
|
317
|
-
|
317
|
+
logger.trace "Finding system date format"
|
318
318
|
task_script = <<-EOH
|
319
319
|
[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
|
320
320
|
[Globalization.Cultureinfo]::CurrentCulture.DateTimeFormat.ShortDatePattern
|
@@ -349,7 +349,7 @@ class Chef
|
|
349
349
|
"execution_time_limit" => "Settings/ExecutionTimeLimit",
|
350
350
|
}
|
351
351
|
|
352
|
-
|
352
|
+
logger.trace "looking for existing tasks"
|
353
353
|
|
354
354
|
task_script = <<-EOH
|
355
355
|
[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
|
@@ -368,12 +368,12 @@ class Chef
|
|
368
368
|
end
|
369
369
|
|
370
370
|
options.each do |option|
|
371
|
-
|
371
|
+
logger.trace "Removing former #{option} if any"
|
372
372
|
doc.root.elements.delete(xml_element_mapping[option])
|
373
373
|
option_value = new_resource.send("#{option}")
|
374
374
|
|
375
375
|
if option_value
|
376
|
-
|
376
|
+
logger.trace "Setting #{option} as #{option_value}"
|
377
377
|
split_xml_path = xml_element_mapping[option].split("/") # eg. if xml_element_mapping[option] = "Actions/Exec/WorkingDirectory"
|
378
378
|
element_name = split_xml_path.last # element_name = "WorkingDirectory"
|
379
379
|
cwd_element = REXML::Element.new(element_name)
|
@@ -403,7 +403,7 @@ class Chef
|
|
403
403
|
end
|
404
404
|
|
405
405
|
def load_task_hash(task_name)
|
406
|
-
|
406
|
+
logger.trace "Looking for existing tasks"
|
407
407
|
|
408
408
|
task_script = <<-EOH
|
409
409
|
[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8
|
@@ -34,7 +34,7 @@ class Chef
|
|
34
34
|
if new_resource.gpgautoimportkeys
|
35
35
|
install_gpg_key(new_resource.gpgkey)
|
36
36
|
else
|
37
|
-
|
37
|
+
logger.trace("'gpgautoimportkeys' property is set to false. Skipping key import.")
|
38
38
|
end
|
39
39
|
|
40
40
|
declare_resource(:template, "/etc/zypp/repos.d/#{escaped_repo_name}.repo") do
|
@@ -89,7 +89,7 @@ class Chef
|
|
89
89
|
end
|
90
90
|
|
91
91
|
# determine if a cookbook file is available in the run
|
92
|
-
# @param [String]
|
92
|
+
# @param [String] fn the path to the template file
|
93
93
|
#
|
94
94
|
# @return [Boolean] cookbook file exists or doesn't
|
95
95
|
def has_cookbook_file?(fn)
|
@@ -105,10 +105,10 @@ class Chef
|
|
105
105
|
# @return [Symbol] :remote_file or :cookbook_file
|
106
106
|
def key_type(uri)
|
107
107
|
if uri.start_with?("http")
|
108
|
-
|
108
|
+
logger.trace("Will use :remote_file resource to cache the gpg key locally")
|
109
109
|
:remote_file
|
110
110
|
elsif has_cookbook_file?(uri)
|
111
|
-
|
111
|
+
logger.trace("Will use :cookbook_file resource to cache the gpg key locally")
|
112
112
|
:cookbook_file
|
113
113
|
else
|
114
114
|
raise Chef::Exceptions::FileNotFound, "Cannot determine location of gpgkey. Must start with 'http' or be a file managed by Chef."
|
@@ -123,7 +123,7 @@ class Chef
|
|
123
123
|
so = shell_out("rpm -qa gpg-pubkey*")
|
124
124
|
# expected output & match: http://rubular.com/r/RdF7EcXEtb
|
125
125
|
status = /gpg-pubkey-#{key_fingerprint(key_path)}/.match(so.stdout)
|
126
|
-
|
126
|
+
logger.trace("GPG key at #{key_path} is known by rpm? #{status ? "true" : "false"}")
|
127
127
|
status
|
128
128
|
end
|
129
129
|
|
@@ -135,7 +135,7 @@ class Chef
|
|
135
135
|
so = shell_out!("gpg --with-fingerprint #{key_path}")
|
136
136
|
# expected output and match: http://rubular.com/r/BpfMjxySQM
|
137
137
|
fingerprint = /pub\s*\S*\/(\S*)/.match(so.stdout)[1].downcase
|
138
|
-
|
138
|
+
logger.trace("GPG fingerprint of key at #{key_path} is #{fingerprint}")
|
139
139
|
fingerprint
|
140
140
|
end
|
141
141
|
|
@@ -143,7 +143,7 @@ class Chef
|
|
143
143
|
# @param [String] uri the uri of the local or remote gpg key
|
144
144
|
def install_gpg_key(uri)
|
145
145
|
unless uri
|
146
|
-
|
146
|
+
logger.trace("'gpgkey' property not provided or set to nil. Skipping key import.")
|
147
147
|
return
|
148
148
|
end
|
149
149
|
|
@@ -95,7 +95,7 @@ class Chef
|
|
95
95
|
# a provider to say "assuming /etc/init.d/whatever would have been installed" and in the non-why-run case we
|
96
96
|
# need to make a best guess at "cannot find /etc/init.d/whatever". We are essentially defining a "default" provider
|
97
97
|
# for the platform, which is the best we can do, but which might give misleading errors, but we cannot read minds.
|
98
|
-
Chef::Log.
|
98
|
+
Chef::Log.trace "No providers responded true to `supports?` for action #{action} on resource #{resource}, falling back to enabled handlers so we can return something anyway."
|
99
99
|
supported_handlers = enabled_handlers
|
100
100
|
end
|
101
101
|
|
@@ -118,14 +118,14 @@ class Chef
|
|
118
118
|
|
119
119
|
# try dynamically finding a provider based on querying the providers to see what they support
|
120
120
|
def maybe_dynamic_provider_resolution(resource, action)
|
121
|
-
Chef::Log.
|
121
|
+
Chef::Log.trace "Providers for generic #{resource.resource_name} resource enabled on node include: #{enabled_handlers}"
|
122
122
|
|
123
123
|
handler = prioritized_handlers.first
|
124
124
|
|
125
125
|
if handler
|
126
|
-
Chef::Log.
|
126
|
+
Chef::Log.trace "Provider for action #{action} on resource #{resource} is #{handler}"
|
127
127
|
else
|
128
|
-
Chef::Log.
|
128
|
+
Chef::Log.trace "Dynamic provider resolver FAILED to resolve a provider for action #{action} on resource #{resource}"
|
129
129
|
end
|
130
130
|
|
131
131
|
handler
|
data/lib/chef/providers.rb
CHANGED
@@ -24,12 +24,9 @@ require "chef/provider/cookbook_file"
|
|
24
24
|
require "chef/provider/cron"
|
25
25
|
require "chef/provider/cron/solaris"
|
26
26
|
require "chef/provider/cron/aix"
|
27
|
-
require "chef/provider/deploy"
|
28
27
|
require "chef/provider/directory"
|
29
28
|
require "chef/provider/dsc_script"
|
30
29
|
require "chef/provider/dsc_resource"
|
31
|
-
require "chef/provider/env"
|
32
|
-
require "chef/provider/erl_call"
|
33
30
|
require "chef/provider/execute"
|
34
31
|
require "chef/provider/file"
|
35
32
|
require "chef/provider/git"
|
@@ -58,13 +55,12 @@ require "chef/provider/systemd_unit"
|
|
58
55
|
require "chef/provider/template"
|
59
56
|
require "chef/provider/user"
|
60
57
|
require "chef/provider/whyrun_safe_ruby_block"
|
58
|
+
require "chef/provider/windows_env"
|
61
59
|
require "chef/provider/yum_repository"
|
62
60
|
require "chef/provider/windows_task"
|
63
61
|
require "chef/provider/zypper_repository"
|
64
62
|
require "chef/provider/windows_path"
|
65
63
|
|
66
|
-
require "chef/provider/env/windows"
|
67
|
-
|
68
64
|
require "chef/provider/package/apt"
|
69
65
|
require "chef/provider/package/chocolatey"
|
70
66
|
require "chef/provider/package/dpkg"
|
@@ -85,7 +81,7 @@ require "chef/provider/package/yum"
|
|
85
81
|
require "chef/provider/package/zypper"
|
86
82
|
require "chef/provider/package/solaris"
|
87
83
|
require "chef/provider/package/smartos"
|
88
|
-
require "chef/provider/package/
|
84
|
+
require "chef/provider/package/bff"
|
89
85
|
require "chef/provider/package/cab"
|
90
86
|
require "chef/provider/package/powershell"
|
91
87
|
require "chef/provider/package/msu"
|
@@ -131,9 +127,6 @@ require "chef/provider/mount/aix"
|
|
131
127
|
require "chef/provider/mount/solaris"
|
132
128
|
require "chef/provider/mount/windows"
|
133
129
|
|
134
|
-
require "chef/provider/deploy/revision"
|
135
|
-
require "chef/provider/deploy/timestamped"
|
136
|
-
|
137
130
|
require "chef/provider/remote_file/ftp"
|
138
131
|
require "chef/provider/remote_file/sftp"
|
139
132
|
require "chef/provider/remote_file/http"
|
data/lib/chef/resource.rb
CHANGED
@@ -131,6 +131,13 @@ class Chef
|
|
131
131
|
def initialize(name, run_context = nil)
|
132
132
|
name(name) unless name.nil?
|
133
133
|
@run_context = run_context
|
134
|
+
|
135
|
+
@logger = if run_context
|
136
|
+
run_context.logger.with_child({ name: name, resource: resource_name })
|
137
|
+
else
|
138
|
+
Chef::Log.with_child({ name: name, resource: resource_name })
|
139
|
+
end
|
140
|
+
|
134
141
|
@before = nil
|
135
142
|
@params = Hash.new
|
136
143
|
@provider = nil
|
@@ -536,11 +543,6 @@ class Chef
|
|
536
543
|
#
|
537
544
|
property :ignore_failure, [ TrueClass, FalseClass ], default: false, desired_state: false
|
538
545
|
|
539
|
-
#
|
540
|
-
# Equivalent to #ignore_failure.
|
541
|
-
#
|
542
|
-
alias :epic_fail :ignore_failure
|
543
|
-
|
544
546
|
#
|
545
547
|
# Make this resource into an exact (shallow) copy of the other resource.
|
546
548
|
#
|
@@ -573,9 +575,9 @@ class Chef
|
|
573
575
|
resolve_notification_references
|
574
576
|
validate_action(action)
|
575
577
|
|
576
|
-
if Chef::Config[:verbose_logging] ||
|
578
|
+
if Chef::Config[:verbose_logging] || logger.level == :debug
|
577
579
|
# This can be noisy
|
578
|
-
|
580
|
+
logger.info("Processing #{self} action #{action} (#{defined_at})")
|
579
581
|
end
|
580
582
|
|
581
583
|
# ensure that we don't leave @updated_by_last_action set to true
|
@@ -592,12 +594,12 @@ class Chef
|
|
592
594
|
provider_for_action(action).run_action
|
593
595
|
rescue StandardError => e
|
594
596
|
if ignore_failure
|
595
|
-
|
597
|
+
logger.error("#{custom_exception_message(e)}; ignore_failure is set, continuing")
|
596
598
|
events.resource_failed(self, action, e)
|
597
599
|
elsif remaining_retries > 0
|
598
600
|
events.resource_failed_retriable(self, action, remaining_retries, e)
|
599
601
|
remaining_retries -= 1
|
600
|
-
|
602
|
+
logger.info("Retrying execution of #{self}, #{remaining_retries} attempt#{"s" if remaining_retries > 1} left")
|
601
603
|
sleep retry_delay
|
602
604
|
retry
|
603
605
|
else
|
@@ -862,7 +864,7 @@ class Chef
|
|
862
864
|
# @return [Array<Symbol>] The list of actions this Resource is allowed to
|
863
865
|
# have.
|
864
866
|
#
|
865
|
-
|
867
|
+
attr_writer :allowed_actions
|
866
868
|
def allowed_actions(value = NOT_PASSED)
|
867
869
|
if value != NOT_PASSED
|
868
870
|
self.allowed_actions = value
|
@@ -1180,8 +1182,8 @@ class Chef
|
|
1180
1182
|
# Internal Resource Interface (for Chef)
|
1181
1183
|
#
|
1182
1184
|
|
1183
|
-
FORBIDDEN_IVARS = [:@run_context, :@not_if, :@only_if, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated]
|
1184
|
-
HIDDEN_IVARS = [:@allowed_actions, :@resource_name, :@source_line, :@run_context, :@name, :@not_if, :@only_if, :@elapsed_time, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated]
|
1185
|
+
FORBIDDEN_IVARS = [:@run_context, :@logger, :@not_if, :@only_if, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated]
|
1186
|
+
HIDDEN_IVARS = [:@allowed_actions, :@resource_name, :@source_line, :@run_context, :@logger, :@name, :@not_if, :@only_if, :@elapsed_time, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated]
|
1185
1187
|
|
1186
1188
|
include Chef::Mixin::ConvertToClassName
|
1187
1189
|
extend Chef::Mixin::ConvertToClassName
|
@@ -1195,6 +1197,10 @@ class Chef
|
|
1195
1197
|
# and the resource collection.
|
1196
1198
|
attr_accessor :run_context
|
1197
1199
|
|
1200
|
+
# @return [Mixlib::Log::Child] The logger for this resources. This is a child
|
1201
|
+
# of the run context's logger, if one exists.
|
1202
|
+
attr_reader :logger
|
1203
|
+
|
1198
1204
|
# @return [String] The cookbook this resource was declared in.
|
1199
1205
|
attr_accessor :cookbook_name
|
1200
1206
|
|
@@ -1470,7 +1476,7 @@ class Chef
|
|
1470
1476
|
false
|
1471
1477
|
else
|
1472
1478
|
events.resource_skipped(self, action, conditional)
|
1473
|
-
|
1479
|
+
logger.debug("Skipping #{self} due to #{conditional.description}")
|
1474
1480
|
true
|
1475
1481
|
end
|
1476
1482
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
#
|
2
2
|
# Author:: John Keiser (<jkeiser@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");
|
@@ -40,7 +40,7 @@ class Chef
|
|
40
40
|
# We clear desired state in the copy, because it is supposed to be actual state.
|
41
41
|
# We keep identity properties and non-desired-state, which are assumed to be
|
42
42
|
# "control" values like `recurse: true`
|
43
|
-
current_resource.class.properties.
|
43
|
+
current_resource.class.properties.each_value do |property|
|
44
44
|
if property.desired_state? && !property.identity? && !property.name_property?
|
45
45
|
property.reset(current_resource)
|
46
46
|
end
|
@@ -17,16 +17,22 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "chef/resource/package"
|
20
|
-
require "chef/provider/package/apt"
|
21
20
|
|
22
21
|
class Chef
|
23
22
|
class Resource
|
24
|
-
# Use the apt_package resource to manage packages on Debian and Ubuntu platforms.
|
25
23
|
class AptPackage < Chef::Resource::Package
|
26
24
|
resource_name :apt_package
|
27
|
-
provides :package,
|
25
|
+
provides :package, platform_family: "debian"
|
28
26
|
|
29
|
-
|
27
|
+
description "Use the apt_package resource to manage packages on Debian and Ubuntu platforms."
|
28
|
+
|
29
|
+
property :default_release, String,
|
30
|
+
description: "The default release. For example: stable.",
|
31
|
+
desired_state: false
|
32
|
+
|
33
|
+
property :overwrite_config_files, [TrueClass, FalseClass],
|
34
|
+
description: "Overwrite existing config files with those in the package if prompted by apt.",
|
35
|
+
default: false
|
30
36
|
|
31
37
|
end
|
32
38
|
end
|
@@ -20,18 +20,31 @@ require "chef/resource"
|
|
20
20
|
|
21
21
|
class Chef
|
22
22
|
class Resource
|
23
|
-
# The apt_preference resource allows for the creation of APT preference files. Preference files are used to control
|
24
|
-
# which package versions and sources are prioritized during installation.
|
25
|
-
#
|
26
23
|
# @since 13.3
|
27
24
|
class AptPreference < Chef::Resource
|
28
25
|
resource_name :apt_preference
|
29
26
|
provides :apt_preference
|
30
27
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
28
|
+
description "The apt_preference resource allows for the creation of APT preference"\
|
29
|
+
" files. Preference files are used to control which package versions and"\
|
30
|
+
" sources are prioritized during installation."
|
31
|
+
introduced "13.3"
|
32
|
+
|
33
|
+
property :package_name, String,
|
34
|
+
name_property: true,
|
35
|
+
description: "The name of the package.",
|
36
|
+
regex: [/^([a-z]|[A-Z]|[0-9]|_|-|\.|\*|\+)+$/]
|
37
|
+
|
38
|
+
property :glob, String,
|
39
|
+
description: "Pin by glob() expression or with regular expressions surrounded by /."
|
40
|
+
|
41
|
+
property :pin, String,
|
42
|
+
description: "The package version or repository to pin.",
|
43
|
+
required: true
|
44
|
+
|
45
|
+
property :pin_priority, [String, Integer],
|
46
|
+
description: "Sets the Pin-Priority for a package.",
|
47
|
+
required: true
|
35
48
|
|
36
49
|
default_action :add
|
37
50
|
allowed_actions :add, :remove
|