chef 16.0.287 → 16.2.73
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -3
- data/README.md +3 -3
- data/Rakefile +3 -2
- data/chef.gemspec +5 -5
- data/lib/chef/application/apply.rb +2 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/windows_service_manager.rb +1 -1
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +4 -4
- data/lib/chef/cookbook/chefignore.rb +1 -1
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/cookbook_loader.rb +1 -1
- data/lib/chef/cookbook_manifest.rb +1 -1
- data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
- data/lib/chef/cookbook_version.rb +4 -4
- data/lib/chef/data_bag.rb +4 -4
- data/lib/chef/data_collector.rb +1 -1
- data/lib/chef/data_collector/error_handlers.rb +1 -1
- data/lib/chef/decorator/lazy_array.rb +2 -2
- data/lib/chef/deprecated.rb +4 -0
- data/lib/chef/digester.rb +5 -4
- data/lib/chef/dsl/declare_resource.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
- data/lib/chef/file_access_control.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
- data/lib/chef/formatters/base.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
- data/lib/chef/http.rb +19 -4
- data/lib/chef/http/decompressor.rb +1 -1
- data/lib/chef/http/http_request.rb +1 -1
- data/lib/chef/http/json_output.rb +1 -1
- data/lib/chef/http/ssl_policies.rb +18 -0
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/key.rb +1 -1
- data/lib/chef/knife.rb +2 -2
- data/lib/chef/knife/bootstrap.rb +20 -14
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
- data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
- data/lib/chef/knife/client_bulk_delete.rb +1 -1
- data/lib/chef/knife/config_get.rb +1 -1
- data/lib/chef/knife/config_use_profile.rb +15 -5
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +1 -4
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/status_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +1 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +19 -4
- data/lib/chef/knife/data_bag_create.rb +1 -1
- data/lib/chef/knife/key_create_base.rb +1 -1
- data/lib/chef/knife/key_edit_base.rb +1 -1
- data/lib/chef/knife/node_bulk_delete.rb +1 -1
- data/lib/chef/knife/node_run_list_remove.rb +1 -1
- data/lib/chef/knife/role_bulk_delete.rb +1 -1
- data/lib/chef/knife/ssh.rb +2 -2
- data/lib/chef/knife/supermarket_share.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -1
- data/lib/chef/log.rb +1 -1
- data/lib/chef/mixin/api_version_request_handling.rb +1 -1
- data/lib/chef/mixin/checksum.rb +0 -1
- data/lib/chef/mixin/openssl_helper.rb +4 -4
- data/lib/chef/mixin/properties.rb +2 -2
- data/lib/chef/mixin/securable.rb +2 -2
- data/lib/chef/mixin/shell_out.rb +1 -1
- data/lib/chef/node/attribute.rb +2 -2
- data/lib/chef/node/immutable_collections.rb +1 -1
- data/lib/chef/policy_builder/policyfile.rb +1 -1
- data/lib/chef/powershell.rb +1 -1
- data/lib/chef/property.rb +2 -2
- data/lib/chef/provider.rb +3 -3
- data/lib/chef/provider/batch.rb +3 -10
- data/lib/chef/provider/cron.rb +2 -14
- data/lib/chef/provider/directory.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +1 -1
- data/lib/chef/provider/group/dscl.rb +2 -2
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +7 -7
- data/lib/chef/provider/launchd.rb +11 -9
- data/lib/chef/provider/mount/aix.rb +1 -1
- data/lib/chef/provider/mount/windows.rb +2 -2
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/package/cab.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -1
- data/lib/chef/provider/package/dpkg.rb +1 -1
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/portage.rb +3 -2
- data/lib/chef/provider/package/powershell.rb +6 -2
- data/lib/chef/provider/package/rubygems.rb +3 -3
- data/lib/chef/provider/package/snap.rb +96 -27
- data/lib/chef/provider/package/windows.rb +2 -2
- data/lib/chef/provider/package/windows/msi.rb +3 -3
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/yum.rb +1 -1
- data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +11 -15
- data/lib/chef/provider/remote_directory.rb +2 -2
- data/lib/chef/provider/remote_file/http.rb +4 -1
- data/lib/chef/provider/script.rb +4 -75
- data/lib/chef/provider/service/arch.rb +2 -2
- data/lib/chef/provider/service/debian.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +9 -0
- data/lib/chef/provider/service/openbsd.rb +4 -4
- data/lib/chef/provider/service/redhat.rb +1 -1
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/subversion.rb +2 -2
- data/lib/chef/provider/user/aix.rb +1 -1
- data/lib/chef/provider/user/dscl.rb +6 -6
- data/lib/chef/provider/user/linux.rb +3 -3
- data/lib/chef/provider/user/mac.rb +15 -11
- data/lib/chef/provider/windows_script.rb +87 -25
- data/lib/chef/provider/windows_task.rb +4 -2
- data/lib/chef/provider/zypper_repository.rb +30 -10
- data/lib/chef/resource.rb +25 -14
- data/lib/chef/resource/alternatives.rb +1 -1
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/archive_file.rb +28 -8
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +4 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +13 -1
- data/lib/chef/resource/chef_gem.rb +57 -21
- data/lib/chef/resource/chef_handler.rb +2 -2
- data/lib/chef/resource/chef_vault_secret.rb +1 -1
- data/lib/chef/resource/cron/_cron_shared.rb +98 -0
- data/lib/chef/resource/cron/cron.rb +46 -0
- data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
- data/lib/chef/resource/cron_access.rb +11 -3
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -2
- data/lib/chef/resource/execute.rb +478 -8
- data/lib/chef/resource/file.rb +10 -8
- data/lib/chef/resource/freebsd_package.rb +1 -1
- data/lib/chef/resource/gem_package.rb +35 -2
- data/lib/chef/resource/helpers/cron_validations.rb +6 -3
- data/lib/chef/resource/homebrew_package.rb +30 -1
- data/lib/chef/resource/homebrew_update.rb +107 -0
- data/lib/chef/resource/hostname.rb +7 -20
- data/lib/chef/resource/kernel_module.rb +14 -1
- data/lib/chef/resource/launchd.rb +1 -1
- data/lib/chef/resource/locale.rb +3 -3
- data/lib/chef/resource/macos_userdefaults.rb +11 -6
- data/lib/chef/resource/mount.rb +1 -1
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +23 -4
- data/lib/chef/resource/powershell_script.rb +4 -2
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/remote_file.rb +26 -10
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +15 -0
- data/lib/chef/resource/sudo.rb +29 -2
- data/lib/chef/resource/swap_file.rb +17 -0
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +15 -0
- data/lib/chef/resource/windows_ad_join.rb +30 -1
- data/lib/chef/resource/windows_audit_policy.rb +227 -0
- data/lib/chef/resource/windows_auto_run.rb +11 -0
- data/lib/chef/resource/windows_certificate.rb +27 -1
- data/lib/chef/resource/windows_dfs_server.rb +1 -1
- data/lib/chef/resource/windows_font.rb +3 -3
- data/lib/chef/resource/windows_package.rb +1 -1
- data/lib/chef/resource/windows_pagefile.rb +2 -2
- data/lib/chef/resource/windows_script.rb +2 -16
- data/lib/chef/resource/windows_security_policy.rb +47 -16
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +10 -10
- data/lib/chef/resource/windows_user_privilege.rb +70 -5
- data/lib/chef/resource/yum_repository.rb +9 -9
- data/lib/chef/resource_inspector.rb +4 -3
- data/lib/chef/resources.rb +4 -2
- data/lib/chef/run_context/cookbook_compiler.rb +1 -1
- data/lib/chef/search/query.rb +1 -1
- data/lib/chef/shell/ext.rb +1 -1
- data/lib/chef/util/diff.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +1 -1
- data/lib/chef/util/windows/volume.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +2 -2
- data/lib/chef/win32/api/error.rb +3 -1
- data/lib/chef/win32/api/file.rb +1 -1
- data/lib/chef/win32/api/net.rb +1 -0
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/mutex.rb +1 -1
- data/lib/chef/win32/net.rb +1 -0
- data/lib/chef/win32/registry.rb +2 -2
- data/lib/chef/win32/security.rb +1 -1
- data/lib/chef/win32/security/sid.rb +4 -4
- data/spec/data/lwrp/providers/buck_passer.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
- data/spec/functional/knife/configure_spec.rb +1 -1
- data/spec/functional/resource/aix_service_spec.rb +10 -1
- data/spec/functional/resource/aixinit_service_spec.rb +1 -1
- data/spec/functional/resource/bash_spec.rb +3 -2
- data/spec/functional/resource/bff_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
- data/spec/functional/resource/cron_spec.rb +20 -1
- data/spec/functional/resource/dnf_package_spec.rb +6 -3
- data/spec/functional/resource/execute_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +6 -6
- data/spec/functional/resource/group_spec.rb +9 -1
- data/spec/functional/resource/ifconfig_spec.rb +9 -1
- data/spec/functional/resource/insserv_spec.rb +3 -2
- data/spec/functional/resource/launchd_spec.rb +232 -0
- data/spec/functional/resource/link_spec.rb +2 -5
- data/spec/functional/resource/mount_spec.rb +9 -1
- data/spec/functional/resource/msu_package_spec.rb +9 -3
- data/spec/functional/resource/powershell_script_spec.rb +4 -4
- data/spec/functional/resource/remote_file_spec.rb +8 -8
- data/spec/functional/resource/rpm_spec.rb +1 -1
- data/spec/functional/resource/timezone_spec.rb +2 -0
- data/spec/functional/resource/windows_package_spec.rb +0 -1
- data/spec/functional/resource/windows_path_spec.rb +4 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
- data/spec/functional/resource/windows_service_spec.rb +4 -0
- data/spec/functional/resource/windows_task_spec.rb +16 -15
- data/spec/functional/resource/windows_user_privilege_spec.rb +0 -1
- data/spec/functional/resource/yum_package_spec.rb +4 -1
- data/spec/functional/resource/zypper_package_spec.rb +4 -1
- data/spec/functional/shell_spec.rb +0 -1
- data/spec/functional/win32/crypto_spec.rb +1 -1
- data/spec/integration/knife/config_use_profile_spec.rb +55 -2
- data/spec/integration/knife/cookbook_upload_spec.rb +1 -1
- data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/integration/knife/environment_from_file_spec.rb +1 -1
- data/spec/integration/knife/node_from_file_spec.rb +1 -1
- data/spec/integration/knife/role_from_file_spec.rb +1 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +4 -0
- data/spec/integration/recipes/resource_load_spec.rb +2 -2
- data/spec/support/chef_helpers.rb +1 -1
- data/spec/support/platform_helpers.rb +1 -1
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/securable_resource.rb +1 -2
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
- data/spec/support/shared/functional/windows_script.rb +3 -3
- data/spec/support/shared/unit/execute_resource.rb +1 -1
- data/spec/support/shared/unit/provider/file.rb +12 -8
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
- data/spec/unit/application/solo_spec.rb +4 -2
- data/spec/unit/application_spec.rb +7 -0
- data/spec/unit/chef_fs/config_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +8 -8
- data/spec/unit/client_spec.rb +4 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
- data/spec/unit/data_bag_spec.rb +6 -3
- data/spec/unit/decorator_spec.rb +23 -23
- data/spec/unit/environment_spec.rb +5 -1
- data/spec/unit/guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/api_versions_spec.rb +1 -1
- data/spec/unit/http/ssl_policies_spec.rb +20 -0
- data/spec/unit/knife/bootstrap_spec.rb +3 -2
- data/spec/unit/knife/cookbook_download_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +6 -7
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
- data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +5 -2
- data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
- data/spec/unit/mixin/powershell_out_spec.rb +2 -4
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
- data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
- data/spec/unit/mixin/unformatter_spec.rb +2 -2
- data/spec/unit/mixin/uris_spec.rb +1 -1
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/provider/batch_spec.rb +130 -0
- data/spec/unit/provider/cron/unix_spec.rb +1 -1
- data/spec/unit/provider/cron_spec.rb +9 -49
- data/spec/unit/provider/dsc_resource_spec.rb +22 -38
- data/spec/unit/provider/dsc_script_spec.rb +10 -10
- data/spec/unit/provider/execute_spec.rb +1 -1
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/group/groupadd_spec.rb +1 -1
- data/spec/unit/provider/launchd_spec.rb +0 -42
- data/spec/unit/provider/mdadm_spec.rb +1 -3
- data/spec/unit/provider/package/openbsd_spec.rb +1 -1
- data/spec/unit/provider/package/pacman_spec.rb +17 -20
- data/spec/unit/provider/package/portage_spec.rb +2 -2
- data/spec/unit/provider/package/powershell_spec.rb +96 -87
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
- data/spec/unit/provider/powershell_script_spec.rb +3 -45
- data/spec/unit/provider/script_spec.rb +20 -110
- data/spec/unit/provider/user/dscl_spec.rb +2 -2
- data/spec/unit/provider/windows_env_spec.rb +5 -4
- data/spec/unit/provider/zypper_repository_spec.rb +60 -10
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/file/verification_spec.rb +2 -1
- data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
- data/spec/unit/resource/homebrew_update_spec.rb +30 -0
- data/spec/unit/resource/powershell_script_spec.rb +10 -15
- data/spec/unit/resource/timezone_spec.rb +1 -1
- data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
- data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
- data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource/windows_uac_spec.rb +2 -2
- data/spec/unit/resource/yum_repository_spec.rb +21 -21
- data/spec/unit/resource_spec.rb +84 -1
- data/spec/unit/role_spec.rb +23 -21
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
- data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
- data/spec/unit/util/selinux_spec.rb +2 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- data/spec/unit/win32/registry_spec.rb +1 -1
- metadata +37 -31
- data/lib/chef/resource/cron.rb +0 -157
- data/spec/functional/resource/base.rb +0 -28
@@ -161,7 +161,7 @@ describe Chef::Util::DSC::ConfigurationGenerator do
|
|
161
161
|
dsc = conf_man.send(:configuration_code, "archive{}", "hello", {})
|
162
162
|
found_configuration = false
|
163
163
|
dsc.split(";").each do |command|
|
164
|
-
if
|
164
|
+
if /\s*configuration\s+'hello'\s*\{\s*node\s+'localhost'\s*\{\s*archive\s*\{\s*\}\s*\}\s*\}\s*/.match?(command.downcase)
|
165
165
|
found_configuration = true
|
166
166
|
end
|
167
167
|
end
|
@@ -20,8 +20,8 @@ require "chef"
|
|
20
20
|
require "chef/util/powershell/ps_credential"
|
21
21
|
|
22
22
|
describe Chef::Util::Powershell::PSCredential do
|
23
|
-
let
|
24
|
-
let
|
23
|
+
let(:username) { "foo" }
|
24
|
+
let(:password) { "ThIsIsThEpAsSwOrD" }
|
25
25
|
|
26
26
|
context "when username and password are provided" do
|
27
27
|
let(:ps_credential) { Chef::Util::Powershell::PSCredential.new(username, password) }
|
@@ -30,6 +30,7 @@ describe Chef::Util::Selinux do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
before do
|
33
|
+
allow(ChefUtils).to receive(:windows?).and_return(false)
|
33
34
|
TestClass.reset_state
|
34
35
|
@test_instance = TestClass.new
|
35
36
|
end
|
@@ -113,7 +114,7 @@ describe Chef::Util::Selinux do
|
|
113
114
|
end
|
114
115
|
|
115
116
|
describe "when restorecon binary exists on the system" do
|
116
|
-
let
|
117
|
+
let(:path) { "/path/to/awesome directory" }
|
117
118
|
|
118
119
|
before do
|
119
120
|
@restorecon_enabled_path = File.join("/sbin", "restorecon")
|
@@ -21,6 +21,15 @@ end
|
|
21
21
|
describe Chef::Util::ThreadedJobQueue do
|
22
22
|
let(:queue) { Chef::Util::ThreadedJobQueue.new }
|
23
23
|
|
24
|
+
around(:example) do |example|
|
25
|
+
old_value = Thread.report_on_exception
|
26
|
+
Thread.report_on_exception = false
|
27
|
+
|
28
|
+
example.run
|
29
|
+
|
30
|
+
Thread.report_on_exception = old_value
|
31
|
+
end
|
32
|
+
|
24
33
|
it "should pass mutex to jobs with an arity of 1" do
|
25
34
|
job = double
|
26
35
|
expect(job).to receive(:arity).at_least(:once).and_return(1)
|
@@ -30,7 +30,7 @@ describe Chef::Win32::Registry do
|
|
30
30
|
let(:sub_key) { "OpscodePrimes" }
|
31
31
|
let(:missing_key_path) { 'HKCU\Software' }
|
32
32
|
let(:registry) { Chef::Win32::Registry.new }
|
33
|
-
let(:hive_mock) { double("::Win32::Registry::
|
33
|
+
let(:hive_mock) { double("::Win32::Registry::HKEY_CURRENT_USER") }
|
34
34
|
let(:reg_mock) { double("reg") }
|
35
35
|
|
36
36
|
before(:all) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 16.
|
4
|
+
version: 16.2.73
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-config
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 16.
|
19
|
+
version: 16.2.73
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 16.
|
26
|
+
version: 16.2.73
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef-utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 16.
|
33
|
+
version: 16.2.73
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 16.
|
40
|
+
version: 16.2.73
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: train-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,9 +210,6 @@ dependencies:
|
|
210
210
|
name: ffi
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '1.9'
|
216
213
|
- - ">="
|
217
214
|
- !ruby/object:Gem::Version
|
218
215
|
version: 1.9.25
|
@@ -220,9 +217,6 @@ dependencies:
|
|
220
217
|
prerelease: false
|
221
218
|
version_requirements: !ruby/object:Gem::Requirement
|
222
219
|
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: '1.9'
|
226
220
|
- - ">="
|
227
221
|
- !ruby/object:Gem::Version
|
228
222
|
version: 1.9.25
|
@@ -249,7 +243,7 @@ dependencies:
|
|
249
243
|
version: '4.2'
|
250
244
|
- - "<"
|
251
245
|
- !ruby/object:Gem::Version
|
252
|
-
version: '
|
246
|
+
version: '7'
|
253
247
|
type: :runtime
|
254
248
|
prerelease: false
|
255
249
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -259,7 +253,7 @@ dependencies:
|
|
259
253
|
version: '4.2'
|
260
254
|
- - "<"
|
261
255
|
- !ruby/object:Gem::Version
|
262
|
-
version: '
|
256
|
+
version: '7'
|
263
257
|
- !ruby/object:Gem::Dependency
|
264
258
|
name: net-ssh-multi
|
265
259
|
requirement: !ruby/object:Gem::Requirement
|
@@ -284,22 +278,22 @@ dependencies:
|
|
284
278
|
name: net-sftp
|
285
279
|
requirement: !ruby/object:Gem::Requirement
|
286
280
|
requirements:
|
287
|
-
- - "~>"
|
288
|
-
- !ruby/object:Gem::Version
|
289
|
-
version: '2.1'
|
290
281
|
- - ">="
|
291
282
|
- !ruby/object:Gem::Version
|
292
283
|
version: 2.1.2
|
284
|
+
- - "<"
|
285
|
+
- !ruby/object:Gem::Version
|
286
|
+
version: '4.0'
|
293
287
|
type: :runtime
|
294
288
|
prerelease: false
|
295
289
|
version_requirements: !ruby/object:Gem::Requirement
|
296
290
|
requirements:
|
297
|
-
- - "~>"
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '2.1'
|
300
291
|
- - ">="
|
301
292
|
- !ruby/object:Gem::Version
|
302
293
|
version: 2.1.2
|
294
|
+
- - "<"
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: '4.0'
|
303
297
|
- !ruby/object:Gem::Dependency
|
304
298
|
name: ed25519
|
305
299
|
requirement: !ruby/object:Gem::Requirement
|
@@ -394,36 +388,42 @@ dependencies:
|
|
394
388
|
name: diff-lcs
|
395
389
|
requirement: !ruby/object:Gem::Requirement
|
396
390
|
requirements:
|
397
|
-
- - "~>"
|
398
|
-
- !ruby/object:Gem::Version
|
399
|
-
version: '1.2'
|
400
391
|
- - ">="
|
401
392
|
- !ruby/object:Gem::Version
|
402
393
|
version: 1.2.4
|
394
|
+
- - "<"
|
395
|
+
- !ruby/object:Gem::Version
|
396
|
+
version: 1.4.0
|
403
397
|
type: :runtime
|
404
398
|
prerelease: false
|
405
399
|
version_requirements: !ruby/object:Gem::Requirement
|
406
400
|
requirements:
|
407
|
-
- - "~>"
|
408
|
-
- !ruby/object:Gem::Version
|
409
|
-
version: '1.2'
|
410
401
|
- - ">="
|
411
402
|
- !ruby/object:Gem::Version
|
412
403
|
version: 1.2.4
|
404
|
+
- - "<"
|
405
|
+
- !ruby/object:Gem::Version
|
406
|
+
version: 1.4.0
|
413
407
|
- !ruby/object:Gem::Dependency
|
414
408
|
name: ffi-libarchive
|
415
409
|
requirement: !ruby/object:Gem::Requirement
|
416
410
|
requirements:
|
411
|
+
- - "~>"
|
412
|
+
- !ruby/object:Gem::Version
|
413
|
+
version: '1.0'
|
417
414
|
- - ">="
|
418
415
|
- !ruby/object:Gem::Version
|
419
|
-
version:
|
416
|
+
version: 1.0.3
|
420
417
|
type: :runtime
|
421
418
|
prerelease: false
|
422
419
|
version_requirements: !ruby/object:Gem::Requirement
|
423
420
|
requirements:
|
421
|
+
- - "~>"
|
422
|
+
- !ruby/object:Gem::Version
|
423
|
+
version: '1.0'
|
424
424
|
- - ">="
|
425
425
|
- !ruby/object:Gem::Version
|
426
|
-
version:
|
426
|
+
version: 1.0.3
|
427
427
|
- !ruby/object:Gem::Dependency
|
428
428
|
name: chef-zero
|
429
429
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1222,9 +1222,10 @@ files:
|
|
1222
1222
|
- lib/chef/resource/conditional.rb
|
1223
1223
|
- lib/chef/resource/conditional_action_not_nothing.rb
|
1224
1224
|
- lib/chef/resource/cookbook_file.rb
|
1225
|
-
- lib/chef/resource/cron.rb
|
1225
|
+
- lib/chef/resource/cron/_cron_shared.rb
|
1226
|
+
- lib/chef/resource/cron/cron.rb
|
1227
|
+
- lib/chef/resource/cron/cron_d.rb
|
1226
1228
|
- lib/chef/resource/cron_access.rb
|
1227
|
-
- lib/chef/resource/cron_d.rb
|
1228
1229
|
- lib/chef/resource/csh.rb
|
1229
1230
|
- lib/chef/resource/directory.rb
|
1230
1231
|
- lib/chef/resource/dmg_package.rb
|
@@ -1243,6 +1244,7 @@ files:
|
|
1243
1244
|
- lib/chef/resource/homebrew_cask.rb
|
1244
1245
|
- lib/chef/resource/homebrew_package.rb
|
1245
1246
|
- lib/chef/resource/homebrew_tap.rb
|
1247
|
+
- lib/chef/resource/homebrew_update.rb
|
1246
1248
|
- lib/chef/resource/hostname.rb
|
1247
1249
|
- lib/chef/resource/http_request.rb
|
1248
1250
|
- lib/chef/resource/ifconfig.rb
|
@@ -1328,6 +1330,7 @@ files:
|
|
1328
1330
|
- lib/chef/resource/user_ulimit.rb
|
1329
1331
|
- lib/chef/resource/whyrun_safe_ruby_block.rb
|
1330
1332
|
- lib/chef/resource/windows_ad_join.rb
|
1333
|
+
- lib/chef/resource/windows_audit_policy.rb
|
1331
1334
|
- lib/chef/resource/windows_auto_run.rb
|
1332
1335
|
- lib/chef/resource/windows_certificate.rb
|
1333
1336
|
- lib/chef/resource/windows_dfs_folder.rb
|
@@ -1899,7 +1902,6 @@ files:
|
|
1899
1902
|
- spec/functional/resource/aix_service_spec.rb
|
1900
1903
|
- spec/functional/resource/aixinit_service_spec.rb
|
1901
1904
|
- spec/functional/resource/apt_package_spec.rb
|
1902
|
-
- spec/functional/resource/base.rb
|
1903
1905
|
- spec/functional/resource/bash_spec.rb
|
1904
1906
|
- spec/functional/resource/batch_spec.rb
|
1905
1907
|
- spec/functional/resource/bff_spec.rb
|
@@ -1917,6 +1919,7 @@ files:
|
|
1917
1919
|
- spec/functional/resource/group_spec.rb
|
1918
1920
|
- spec/functional/resource/ifconfig_spec.rb
|
1919
1921
|
- spec/functional/resource/insserv_spec.rb
|
1922
|
+
- spec/functional/resource/launchd_spec.rb
|
1920
1923
|
- spec/functional/resource/link_spec.rb
|
1921
1924
|
- spec/functional/resource/locale_spec.rb
|
1922
1925
|
- spec/functional/resource/mount_spec.rb
|
@@ -2346,6 +2349,7 @@ files:
|
|
2346
2349
|
- spec/unit/provider/apt_preference_spec.rb
|
2347
2350
|
- spec/unit/provider/apt_repository_spec.rb
|
2348
2351
|
- spec/unit/provider/apt_update_spec.rb
|
2352
|
+
- spec/unit/provider/batch_spec.rb
|
2349
2353
|
- spec/unit/provider/cookbook_file/content_spec.rb
|
2350
2354
|
- spec/unit/provider/cookbook_file_spec.rb
|
2351
2355
|
- spec/unit/provider/cron/unix_spec.rb
|
@@ -2517,6 +2521,7 @@ files:
|
|
2517
2521
|
- spec/unit/resource/homebrew_cask_spec.rb
|
2518
2522
|
- spec/unit/resource/homebrew_package_spec.rb
|
2519
2523
|
- spec/unit/resource/homebrew_tap_spec.rb
|
2524
|
+
- spec/unit/resource/homebrew_update_spec.rb
|
2520
2525
|
- spec/unit/resource/hostname_spec.rb
|
2521
2526
|
- spec/unit/resource/http_request_spec.rb
|
2522
2527
|
- spec/unit/resource/ifconfig_spec.rb
|
@@ -2588,6 +2593,7 @@ files:
|
|
2588
2593
|
- spec/unit/resource/user_spec.rb
|
2589
2594
|
- spec/unit/resource/user_ulimit_spec.rb
|
2590
2595
|
- spec/unit/resource/windows_ad_join_spec.rb
|
2596
|
+
- spec/unit/resource/windows_audit_policy_spec.rb
|
2591
2597
|
- spec/unit/resource/windows_auto_run_spec.rb
|
2592
2598
|
- spec/unit/resource/windows_certificate_spec.rb
|
2593
2599
|
- spec/unit/resource/windows_dfs_folder_spec.rb
|
data/lib/chef/resource/cron.rb
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Bryan McLellan (btm@loftninjas.org)
|
3
|
-
# Author:: Tyler Cloke (<tyler@chef.io>)
|
4
|
-
# Copyright:: Copyright 2009-2016, Bryan McLellan
|
5
|
-
# License:: Apache License, Version 2.0
|
6
|
-
#
|
7
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
-
# you may not use this file except in compliance with the License.
|
9
|
-
# You may obtain a copy of the License at
|
10
|
-
#
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
13
|
-
# Unless required by applicable law or agreed to in writing, software
|
14
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
-
# See the License for the specific language governing permissions and
|
17
|
-
# limitations under the License.
|
18
|
-
#
|
19
|
-
|
20
|
-
require_relative "../resource"
|
21
|
-
require_relative "helpers/cron_validations"
|
22
|
-
require_relative "../provider/cron" # do not remove. we actually need this below
|
23
|
-
|
24
|
-
class Chef
|
25
|
-
class Resource
|
26
|
-
class Cron < Chef::Resource
|
27
|
-
unified_mode true
|
28
|
-
provides :cron
|
29
|
-
|
30
|
-
description "Use the **cron** resource to manage cron entries for time-based job scheduling. Properties for a schedule will default to * if not provided. The cron resource requires access to a crontab program, typically cron."
|
31
|
-
|
32
|
-
state_attrs :minute, :hour, :day, :month, :weekday, :user
|
33
|
-
|
34
|
-
default_action :create
|
35
|
-
allowed_actions :create, :delete
|
36
|
-
|
37
|
-
def initialize(name, run_context = nil)
|
38
|
-
super
|
39
|
-
@month = "*"
|
40
|
-
@weekday = "*"
|
41
|
-
end
|
42
|
-
|
43
|
-
property :minute, [Integer, String],
|
44
|
-
description: "The minute at which the cron entry should run (`0 - 59`).",
|
45
|
-
default: "*", callbacks: {
|
46
|
-
"should be a valid minute spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 0, 59) },
|
47
|
-
}
|
48
|
-
|
49
|
-
property :hour, [Integer, String],
|
50
|
-
description: "The hour at which the cron entry is to run (`0 - 23`).",
|
51
|
-
default: "*", callbacks: {
|
52
|
-
"should be a valid hour spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 0, 23) },
|
53
|
-
}
|
54
|
-
|
55
|
-
property :day, [Integer, String],
|
56
|
-
description: "The day of month at which the cron entry should run (`1 - 31`).",
|
57
|
-
default: "*", callbacks: {
|
58
|
-
"should be a valid day spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 1, 31) },
|
59
|
-
}
|
60
|
-
|
61
|
-
property :month, [Integer, String],
|
62
|
-
description: "The month in the year on which a cron entry is to run (`1 - 12`, `jan-dec`, or `*`).",
|
63
|
-
default: "*", callbacks: {
|
64
|
-
"should be a valid month spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_month(spec) },
|
65
|
-
}
|
66
|
-
|
67
|
-
def weekday(arg = nil)
|
68
|
-
if arg.is_a?(Integer)
|
69
|
-
converted_arg = arg.to_s
|
70
|
-
else
|
71
|
-
converted_arg = arg
|
72
|
-
end
|
73
|
-
begin
|
74
|
-
error_message = "You provided '#{arg}' as a weekday, acceptable values are "
|
75
|
-
error_message << Provider::Cron::WEEKDAY_SYMBOLS.map { |sym| ":#{sym}" }.join(", ")
|
76
|
-
error_message << " and a string in crontab format"
|
77
|
-
if (arg.is_a?(Symbol) && !Provider::Cron::WEEKDAY_SYMBOLS.include?(arg)) ||
|
78
|
-
(!arg.is_a?(Symbol) && integerize(arg) > 7) ||
|
79
|
-
(!arg.is_a?(Symbol) && integerize(arg) < 0)
|
80
|
-
raise RangeError, error_message
|
81
|
-
end
|
82
|
-
rescue ArgumentError
|
83
|
-
end
|
84
|
-
set_or_return(
|
85
|
-
:weekday,
|
86
|
-
converted_arg,
|
87
|
-
kind_of: [String, Symbol]
|
88
|
-
)
|
89
|
-
end
|
90
|
-
|
91
|
-
property :time, Symbol,
|
92
|
-
description: "A time interval.",
|
93
|
-
equal_to: Chef::Provider::Cron::SPECIAL_TIME_VALUES
|
94
|
-
|
95
|
-
property :mailto, String,
|
96
|
-
description: "Set the `MAILTO` environment variable."
|
97
|
-
|
98
|
-
property :path, String,
|
99
|
-
description: "Set the `PATH` environment variable."
|
100
|
-
|
101
|
-
property :home, String,
|
102
|
-
description: "Set the `HOME` environment variable."
|
103
|
-
|
104
|
-
property :shell, String,
|
105
|
-
description: "Set the `SHELL` environment variable."
|
106
|
-
|
107
|
-
property :command, String,
|
108
|
-
description: "The command to be run, or the path to a file that contains the command to be run.",
|
109
|
-
identity: true
|
110
|
-
|
111
|
-
property :user, String,
|
112
|
-
description: "The name of the user that runs the command. If the user property is changed, the original user for the crontab program continues to run until that crontab program is deleted. This property is not applicable on the AIX platform.",
|
113
|
-
default: "root"
|
114
|
-
|
115
|
-
property :environment, Hash,
|
116
|
-
description: "A Hash containing additional arbitrary environment variables under which the cron job will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`.",
|
117
|
-
default: lazy { {} }
|
118
|
-
|
119
|
-
TIMEOUT_OPTS = %w{duration preserve-status foreground kill-after signal}.freeze
|
120
|
-
TIMEOUT_REGEX = /\A\S+/.freeze
|
121
|
-
|
122
|
-
property :time_out, Hash,
|
123
|
-
description: "A Hash of timeouts in the form of `({'OPTION' => 'VALUE'})`.
|
124
|
-
Accepted valid options are:
|
125
|
-
`preserve-status` (BOOL, default: 'false'),
|
126
|
-
`foreground` (BOOL, default: 'false'),
|
127
|
-
`kill-after` (in seconds),
|
128
|
-
`signal` (a name like 'HUP' or a number)",
|
129
|
-
default: lazy { {} },
|
130
|
-
introduced: "15.7",
|
131
|
-
coerce: proc { |h|
|
132
|
-
if h.is_a?(Hash)
|
133
|
-
invalid_keys = h.keys - TIMEOUT_OPTS
|
134
|
-
unless invalid_keys.empty?
|
135
|
-
error_msg = "Key of option time_out must be equal to one of: \"#{TIMEOUT_OPTS.join('", "')}\"! You passed \"#{invalid_keys.join(", ")}\"."
|
136
|
-
raise Chef::Exceptions::ValidationFailed, error_msg
|
137
|
-
end
|
138
|
-
unless h.values.all? { |x| x =~ TIMEOUT_REGEX }
|
139
|
-
error_msg = "Values of option time_out should be non-empty string without any leading whitespaces."
|
140
|
-
raise Chef::Exceptions::ValidationFailed, error_msg
|
141
|
-
end
|
142
|
-
h
|
143
|
-
elsif h.is_a?(Integer) || h.is_a?(String)
|
144
|
-
{ "duration" => h }
|
145
|
-
end
|
146
|
-
}
|
147
|
-
|
148
|
-
private
|
149
|
-
|
150
|
-
def integerize(integerish)
|
151
|
-
Integer(integerish)
|
152
|
-
rescue TypeError
|
153
|
-
0
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|