chef 14.2.0 → 14.3.37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +13 -12
- data/Gemfile +15 -0
- data/README.md +36 -40
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bin/chef-apply +0 -1
- data/bin/chef-client +1 -2
- data/bin/chef-shell +1 -6
- data/bin/chef-solo +1 -2
- data/bin/knife +1 -2
- data/chef-universal-mingw32.gemspec +2 -2
- data/chef.gemspec +1 -1
- data/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll +0 -0
- data/distro/ruby_bin_folder/Chef.PowerShell.dll +0 -0
- data/distro/{powershell/chef → ruby_bin_folder}/Newtonsoft.Json.dll +0 -0
- data/lib/chef/api_client.rb +10 -10
- data/lib/chef/api_client/registration.rb +5 -5
- data/lib/chef/api_client_v1.rb +15 -15
- data/lib/chef/application.rb +1 -1
- data/lib/chef/application/apply.rb +56 -56
- data/lib/chef/application/client.rb +169 -170
- data/lib/chef/application/exit_code.rb +2 -2
- data/lib/chef/application/knife.rb +79 -78
- data/lib/chef/application/solo.rb +120 -120
- data/lib/chef/application/windows_service.rb +21 -21
- data/lib/chef/application/windows_service_manager.rb +39 -39
- data/lib/chef/audit/audit_event_proxy.rb +6 -6
- data/lib/chef/audit/audit_reporter.rb +2 -2
- data/lib/chef/audit/control_group_data.rb +15 -15
- data/lib/chef/audit/runner.rb +1 -1
- data/lib/chef/chef_class.rb +16 -8
- data/lib/chef/chef_fs/chef_fs_data_store.rb +8 -8
- data/lib/chef/chef_fs/config.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.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/chef_server_root_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +3 -3
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/directory.rb +3 -3
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +3 -3
- data/lib/chef/chef_fs/knife.rb +6 -6
- data/lib/chef/chef_fs/parallelizer.rb +1 -1
- data/lib/chef/client.rb +3 -0
- data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/cookbook/manifest_v0.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +61 -61
- data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
- data/lib/chef/cookbook/synchronizer.rb +2 -2
- data/lib/chef/cookbook_loader.rb +3 -3
- data/lib/chef/cookbook_manifest.rb +5 -5
- data/lib/chef/cookbook_site_streaming_uploader.rb +5 -5
- data/lib/chef/cookbook_uploader.rb +2 -2
- data/lib/chef/cookbook_version.rb +2 -2
- data/lib/chef/data_bag.rb +3 -3
- data/lib/chef/data_bag_item.rb +2 -2
- data/lib/chef/deprecated.rb +110 -176
- data/lib/chef/dsl/audit.rb +1 -1
- data/lib/chef/dsl/definitions.rb +1 -1
- data/lib/chef/dsl/platform_introspection.rb +5 -0
- data/lib/chef/dsl/reboot_pending.rb +1 -1
- data/lib/chef/encrypted_data_bag_item.rb +2 -2
- data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
- data/lib/chef/environment.rb +10 -10
- data/lib/chef/event_loggers/windows_eventlog.rb +21 -21
- data/lib/chef/exceptions.rb +3 -3
- data/lib/chef/file_cache.rb +18 -16
- data/lib/chef/formatters/base.rb +9 -10
- data/lib/chef/formatters/doc.rb +12 -16
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +51 -51
- data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +10 -10
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +13 -13
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +39 -39
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
- data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +16 -16
- data/lib/chef/formatters/indentable_output_stream.rb +4 -4
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -3
- data/lib/chef/handler/json_file.rb +1 -1
- data/lib/chef/http/auth_credentials.rb +2 -2
- data/lib/chef/http/authenticator.rb +6 -6
- data/lib/chef/http/cookie_manager.rb +1 -1
- data/lib/chef/http/http_request.rb +3 -3
- data/lib/chef/http/json_input.rb +1 -1
- data/lib/chef/http/json_to_model_output.rb +1 -1
- data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/key.rb +9 -9
- data/lib/chef/knife.rb +5 -5
- data/lib/chef/knife/bootstrap.rb +116 -116
- data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
- data/lib/chef/knife/client_bulk_delete.rb +3 -3
- data/lib/chef/knife/client_create.rb +17 -17
- data/lib/chef/knife/client_delete.rb +3 -3
- data/lib/chef/knife/client_list.rb +3 -3
- data/lib/chef/knife/client_reregister.rb +3 -3
- data/lib/chef/knife/config_get.rb +126 -0
- data/lib/chef/knife/configure.rb +25 -25
- data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
- data/lib/chef/knife/cookbook_delete.rb +2 -2
- data/lib/chef/knife/cookbook_download.rb +11 -11
- data/lib/chef/knife/cookbook_list.rb +6 -6
- data/lib/chef/knife/cookbook_metadata.rb +7 -8
- data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -1
- data/lib/chef/knife/cookbook_show.rb +16 -16
- data/lib/chef/knife/cookbook_site_download.rb +11 -10
- data/lib/chef/knife/cookbook_site_install.rb +24 -24
- data/lib/chef/knife/cookbook_site_list.rb +8 -8
- data/lib/chef/knife/cookbook_site_search.rb +6 -5
- data/lib/chef/knife/cookbook_site_share.rb +20 -19
- data/lib/chef/knife/cookbook_site_show.rb +6 -5
- data/lib/chef/knife/cookbook_site_unshare.rb +5 -5
- data/lib/chef/knife/cookbook_test.rb +8 -8
- data/lib/chef/knife/cookbook_upload.rb +32 -32
- data/lib/chef/knife/core/bootstrap_context.rb +7 -7
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/generic_presenter.rb +7 -7
- data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
- data/lib/chef/knife/core/node_presenter.rb +37 -37
- data/lib/chef/knife/core/status_presenter.rb +11 -11
- data/lib/chef/knife/data_bag_from_file.rb +4 -4
- data/lib/chef/knife/data_bag_list.rb +3 -3
- data/lib/chef/knife/data_bag_secret_options.rb +13 -13
- data/lib/chef/knife/delete.rb +29 -13
- data/lib/chef/knife/deps.rb +25 -9
- data/lib/chef/knife/diff.rb +30 -14
- data/lib/chef/knife/download.rb +39 -23
- data/lib/chef/knife/edit.rb +19 -3
- data/lib/chef/knife/environment_compare.rb +8 -8
- data/lib/chef/knife/environment_create.rb +3 -3
- data/lib/chef/knife/environment_from_file.rb +5 -3
- data/lib/chef/knife/environment_list.rb +3 -3
- data/lib/chef/knife/exec.rb +7 -7
- data/lib/chef/knife/key_create.rb +4 -4
- data/lib/chef/knife/key_create_base.rb +12 -12
- data/lib/chef/knife/key_edit.rb +5 -5
- data/lib/chef/knife/key_edit_base.rb +15 -15
- data/lib/chef/knife/key_list.rb +3 -3
- data/lib/chef/knife/key_list_base.rb +9 -9
- data/lib/chef/knife/list.rb +35 -19
- data/lib/chef/knife/node_edit.rb +4 -4
- data/lib/chef/knife/node_list.rb +3 -3
- data/lib/chef/knife/node_run_list_add.rb +6 -6
- data/lib/chef/knife/node_show.rb +6 -6
- data/lib/chef/knife/osc_user_create.rb +13 -13
- data/lib/chef/knife/osc_user_list.rb +3 -3
- data/lib/chef/knife/osc_user_reregister.rb +3 -3
- data/lib/chef/knife/raw.rb +32 -16
- data/lib/chef/knife/role_create.rb +3 -3
- data/lib/chef/knife/role_env_run_list_add.rb +4 -3
- data/lib/chef/knife/role_env_run_list_remove.rb +2 -2
- data/lib/chef/knife/role_env_run_list_replace.rb +1 -0
- data/lib/chef/knife/role_list.rb +3 -3
- data/lib/chef/knife/role_run_list_add.rb +4 -3
- data/lib/chef/knife/role_run_list_remove.rb +2 -2
- data/lib/chef/knife/role_run_list_replace.rb +1 -0
- data/lib/chef/knife/search.rb +23 -23
- data/lib/chef/knife/serve.rb +22 -6
- data/lib/chef/knife/show.rb +19 -3
- data/lib/chef/knife/ssh.rb +68 -68
- data/lib/chef/knife/ssl_check.rb +31 -31
- data/lib/chef/knife/ssl_fetch.rb +5 -5
- data/lib/chef/knife/status.rb +11 -11
- data/lib/chef/knife/upload.rb +41 -25
- data/lib/chef/knife/user_create.rb +28 -28
- data/lib/chef/knife/user_delete.rb +9 -9
- data/lib/chef/knife/user_edit.rb +9 -9
- data/lib/chef/knife/user_list.rb +3 -3
- data/lib/chef/knife/user_reregister.rb +12 -12
- data/lib/chef/knife/user_show.rb +9 -9
- data/lib/chef/knife/xargs.rb +52 -36
- data/lib/chef/log.rb +10 -8
- data/lib/chef/log/winevt.rb +21 -21
- data/lib/chef/mixin/api_version_request_handling.rb +6 -6
- data/lib/chef/mixin/deep_merge.rb +1 -1
- data/lib/chef/mixin/deprecation.rb +2 -2
- data/lib/chef/mixin/params_validate.rb +9 -9
- data/lib/chef/mixin/properties.rb +2 -2
- data/lib/chef/mixin/securable.rb +11 -11
- data/lib/chef/mixin/shell_out.rb +138 -82
- data/lib/chef/mixin/wide_string.rb +5 -23
- data/lib/chef/mixin/windows_env_helper.rb +1 -1
- data/lib/chef/mixin/xml_escape.rb +3 -3
- data/lib/chef/node.rb +15 -15
- data/lib/chef/node/attribute.rb +6 -6
- data/lib/chef/node/attribute_collections.rb +2 -2
- data/lib/chef/node/mixin/deep_merge_cache.rb +1 -1
- data/lib/chef/node/mixin/immutablize_array.rb +2 -2
- data/lib/chef/node/mixin/immutablize_hash.rb +2 -2
- data/lib/chef/node_map.rb +77 -3
- data/lib/chef/org.rb +8 -8
- data/lib/chef/policy_builder/expand_node_object.rb +1 -1
- data/lib/chef/powershell.rb +9 -7
- data/lib/chef/property.rb +14 -14
- data/lib/chef/provider/apt_update.rb +2 -2
- data/lib/chef/provider/cron.rb +3 -3
- data/lib/chef/provider/cron/unix.rb +2 -2
- data/lib/chef/provider/dsc_resource.rb +1 -1
- data/lib/chef/provider/dsc_script.rb +8 -8
- data/lib/chef/provider/execute.rb +1 -1
- data/lib/chef/provider/group/aix.rb +6 -6
- data/lib/chef/provider/group/dscl.rb +1 -1
- data/lib/chef/provider/group/gpasswd.rb +4 -4
- data/lib/chef/provider/group/groupadd.rb +3 -3
- data/lib/chef/provider/group/groupmod.rb +6 -6
- data/lib/chef/provider/group/pw.rb +4 -4
- data/lib/chef/provider/group/suse.rb +2 -2
- data/lib/chef/provider/group/usermod.rb +1 -1
- data/lib/chef/provider/http_request.rb +6 -6
- data/lib/chef/provider/ifconfig.rb +4 -4
- data/lib/chef/provider/ifconfig/aix.rb +1 -1
- data/lib/chef/provider/mdadm.rb +1 -1
- data/lib/chef/provider/mount/mount.rb +1 -1
- data/lib/chef/provider/mount/windows.rb +7 -7
- data/lib/chef/provider/package.rb +3 -18
- data/lib/chef/provider/package/apt.rb +4 -4
- data/lib/chef/provider/package/bff.rb +9 -9
- data/lib/chef/provider/package/chocolatey.rb +7 -7
- data/lib/chef/provider/package/dnf.rb +2 -2
- data/lib/chef/provider/package/dpkg.rb +6 -6
- data/lib/chef/provider/package/freebsd/base.rb +2 -2
- data/lib/chef/provider/package/freebsd/pkg.rb +6 -6
- data/lib/chef/provider/package/freebsd/pkgng.rb +5 -5
- data/lib/chef/provider/package/freebsd/port.rb +4 -4
- data/lib/chef/provider/package/homebrew.rb +1 -1
- data/lib/chef/provider/package/ips.rb +6 -6
- data/lib/chef/provider/package/macports.rb +6 -6
- data/lib/chef/provider/package/msu.rb +1 -1
- data/lib/chef/provider/package/openbsd.rb +5 -5
- data/lib/chef/provider/package/pacman.rb +4 -4
- data/lib/chef/provider/package/paludis.rb +3 -3
- data/lib/chef/provider/package/portage.rb +5 -5
- data/lib/chef/provider/package/powershell.rb +6 -2
- data/lib/chef/provider/package/rpm.rb +10 -10
- data/lib/chef/provider/package/rubygems.rb +4 -4
- data/lib/chef/provider/package/smartos.rb +4 -4
- data/lib/chef/provider/package/solaris.rb +9 -9
- data/lib/chef/provider/package/windows.rb +4 -3
- data/lib/chef/provider/package/yum.rb +2 -2
- data/lib/chef/provider/package/zypper.rb +4 -4
- data/lib/chef/provider/powershell_script.rb +73 -73
- data/lib/chef/provider/reboot.rb +4 -4
- data/lib/chef/provider/registry_key.rb +4 -4
- data/lib/chef/provider/remote_file/cache_control_data.rb +2 -2
- data/lib/chef/provider/remote_file/sftp.rb +1 -1
- data/lib/chef/provider/resource_update.rb +1 -1
- data/lib/chef/provider/route.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +3 -3
- data/lib/chef/provider/service/redhat.rb +1 -1
- data/lib/chef/provider/service/simple.rb +1 -0
- data/lib/chef/provider/service/solaris.rb +1 -1
- data/lib/chef/provider/service/systemd.rb +2 -2
- data/lib/chef/provider/service/windows.rb +17 -17
- data/lib/chef/provider/subversion.rb +3 -3
- data/lib/chef/provider/systemd_unit.rb +2 -2
- data/lib/chef/provider/template/content.rb +1 -1
- data/lib/chef/provider/user/aix.rb +6 -6
- data/lib/chef/provider/user/dscl.rb +6 -6
- data/lib/chef/provider/user/linux.rb +6 -6
- data/lib/chef/provider/user/pw.rb +5 -5
- data/lib/chef/provider/user/solaris.rb +6 -6
- data/lib/chef/provider/user/useradd.rb +7 -7
- data/lib/chef/provider/windows_env.rb +6 -6
- data/lib/chef/provider/windows_task.rb +22 -24
- data/lib/chef/resource.rb +26 -4
- data/lib/chef/resource/chef_handler.rb +2 -0
- data/lib/chef/resource/chocolatey_config.rb +83 -0
- data/lib/chef/resource/chocolatey_source.rb +95 -0
- data/lib/chef/resource/cron.rb +5 -5
- data/lib/chef/resource/dsc_script.rb +12 -11
- data/lib/chef/resource/execute.rb +1 -1
- data/lib/chef/resource/file/verification.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +3 -1
- data/lib/chef/resource/group.rb +2 -2
- data/lib/chef/resource/homebrew_package.rb +2 -1
- data/lib/chef/resource/homebrew_tap.rb +1 -1
- data/lib/chef/resource/hostname.rb +23 -7
- data/lib/chef/resource/http_request.rb +6 -3
- data/lib/chef/resource/ifconfig.rb +57 -17
- data/lib/chef/resource/ips_package.rb +3 -1
- data/lib/chef/resource/kernel_module.rb +129 -0
- data/lib/chef/resource/launchd.rb +205 -98
- data/lib/chef/resource/log.rb +7 -2
- data/lib/chef/resource/mdadm.rb +29 -8
- data/lib/chef/resource/ohai.rb +2 -0
- data/lib/chef/resource/ohai_hint.rb +5 -3
- data/lib/chef/resource/openssl_dhparam.rb +1 -1
- data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
- data/lib/chef/resource/paludis_package.rb +1 -1
- data/lib/chef/resource/portage_package.rb +2 -0
- data/lib/chef/resource/powershell_package.rb +2 -0
- data/lib/chef/resource/powershell_package_source.rb +165 -0
- data/lib/chef/resource/powershell_script.rb +2 -2
- data/lib/chef/resource/registry_key.rb +1 -1
- data/lib/chef/resource/remote_directory.rb +3 -3
- data/lib/chef/resource/remote_file.rb +2 -2
- data/lib/chef/resource/resource_notification.rb +16 -16
- data/lib/chef/resource/rhsm_errata.rb +1 -1
- data/lib/chef/resource/rhsm_errata_level.rb +1 -1
- data/lib/chef/resource/rhsm_register.rb +4 -4
- data/lib/chef/resource/rhsm_repo.rb +2 -2
- data/lib/chef/resource/rhsm_subscription.rb +2 -2
- data/lib/chef/resource/script.rb +1 -1
- data/lib/chef/resource/service.rb +18 -18
- data/lib/chef/resource/ssh_known_hosts_entry.rb +146 -0
- data/lib/chef/resource/sudo.rb +4 -4
- data/lib/chef/resource/support/ssh_known_hosts.erb +3 -0
- data/lib/chef/resource/sysctl.rb +9 -5
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/user.rb +15 -15
- data/lib/chef/resource/windows_feature_dism.rb +10 -9
- data/lib/chef/resource/windows_feature_powershell.rb +24 -13
- data/lib/chef/resource/windows_script.rb +1 -1
- data/lib/chef/resource/windows_service.rb +2 -2
- data/lib/chef/resource/windows_task.rb +3 -3
- data/lib/chef/resource_definition.rb +1 -1
- data/lib/chef/resource_inspector.rb +1 -0
- data/lib/chef/resource_reporter.rb +4 -4
- data/lib/chef/resources.rb +5 -0
- data/lib/chef/role.rb +8 -8
- data/lib/chef/run_context.rb +8 -8
- data/lib/chef/run_list/run_list_expansion.rb +6 -6
- data/lib/chef/run_list/run_list_item.rb +1 -1
- data/lib/chef/run_list/versioned_recipe_list.rb +3 -3
- data/lib/chef/run_status.rb +10 -10
- data/lib/chef/shell.rb +60 -60
- data/lib/chef/shell/ext.rb +151 -151
- data/lib/chef/shell/shell_session.rb +2 -2
- data/lib/chef/user.rb +11 -11
- data/lib/chef/user_v1.rb +26 -26
- data/lib/chef/util/backup.rb +2 -2
- data/lib/chef/util/diff.rb +1 -1
- data/lib/chef/util/dsc/configuration_generator.rb +11 -11
- data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
- data/lib/chef/util/file_edit.rb +14 -14
- data/lib/chef/util/powershell/cmdlet.rb +4 -4
- data/lib/chef/util/selinux.rb +2 -2
- data/lib/chef/util/windows/net_group.rb +1 -1
- data/lib/chef/util/windows/net_use.rb +3 -3
- data/lib/chef/util/windows/net_user.rb +12 -12
- data/lib/chef/util/windows/volume.rb +2 -2
- data/lib/chef/version.rb +3 -3
- data/lib/chef/version_constraint.rb +3 -3
- data/lib/chef/win32/api.rb +6 -6
- data/lib/chef/win32/api/error.rb +2 -2
- data/lib/chef/win32/api/file.rb +12 -12
- data/lib/chef/win32/api/net.rb +58 -58
- data/lib/chef/win32/registry.rb +8 -8
- data/lib/chef/win32/security.rb +6 -6
- data/lib/chef/win32/security/securable_object.rb +10 -10
- data/lib/chef/win32/unicode.rb +6 -0
- data/lib/chef/win32/version.rb +16 -16
- data/spec/functional/audit/rspec_formatter_spec.rb +1 -1
- data/spec/functional/audit/runner_spec.rb +1 -1
- data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
- data/spec/functional/dsl/registry_helper_spec.rb +3 -3
- data/spec/functional/http/simple_spec.rb +1 -1
- data/spec/functional/knife/exec_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +2 -2
- data/spec/functional/mixin/shell_out_spec.rb +8 -4
- data/spec/functional/rebooter_spec.rb +6 -6
- data/spec/functional/resource/aixinit_service_spec.rb +2 -2
- data/spec/functional/resource/apt_package_spec.rb +17 -17
- data/spec/functional/resource/bash_spec.rb +1 -1
- data/spec/functional/resource/bff_spec.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +1 -1
- data/spec/functional/resource/dnf_package_spec.rb +7 -7
- data/spec/functional/resource/dsc_script_spec.rb +94 -94
- data/spec/functional/resource/execute_spec.rb +4 -4
- data/spec/functional/resource/file_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +19 -19
- data/spec/functional/resource/ifconfig_spec.rb +5 -5
- data/spec/functional/resource/link_spec.rb +1 -1
- data/spec/functional/resource/mount_spec.rb +2 -2
- data/spec/functional/resource/powershell_script_spec.rb +13 -13
- data/spec/functional/resource/reboot_spec.rb +3 -3
- data/spec/functional/resource/registry_spec.rb +82 -82
- data/spec/functional/resource/remote_file_spec.rb +2 -2
- data/spec/functional/resource/rpm_spec.rb +1 -1
- data/spec/functional/resource/template_spec.rb +5 -5
- data/spec/functional/resource/user/dscl_spec.rb +3 -3
- data/spec/functional/resource/windows_env_spec.rb +1 -1
- data/spec/functional/resource/windows_service_spec.rb +1 -1
- data/spec/functional/resource/windows_task_spec.rb +92 -38
- data/spec/functional/resource/yum_package_spec.rb +8 -8
- data/spec/functional/run_lock_spec.rb +4 -4
- data/spec/functional/shell_spec.rb +1 -1
- data/spec/functional/util/powershell/cmdlet_spec.rb +7 -7
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/crypto_spec.rb +9 -9
- data/spec/functional/win32/registry_spec.rb +66 -66
- data/spec/integration/client/client_spec.rb +219 -219
- data/spec/integration/client/exit_code_spec.rb +19 -19
- data/spec/integration/client/ipv6_spec.rb +36 -36
- data/spec/integration/knife/chef_fs_data_store_spec.rb +130 -130
- data/spec/integration/knife/chef_repo_path_spec.rb +418 -418
- data/spec/integration/knife/chef_repository_file_system_spec.rb +35 -35
- data/spec/integration/knife/chefignore_spec.rb +88 -88
- data/spec/integration/knife/client_bulk_delete_spec.rb +49 -49
- data/spec/integration/knife/client_create_spec.rb +5 -5
- data/spec/integration/knife/client_delete_spec.rb +13 -13
- data/spec/integration/knife/client_key_delete_spec.rb +2 -2
- data/spec/integration/knife/client_key_list_spec.rb +4 -4
- data/spec/integration/knife/client_list_spec.rb +8 -8
- data/spec/integration/knife/common_options_spec.rb +31 -31
- data/spec/integration/knife/config_get_spec.rb +183 -0
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +38 -38
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +14 -14
- data/spec/integration/knife/cookbook_download_spec.rb +12 -12
- data/spec/integration/knife/cookbook_list_spec.rb +8 -8
- data/spec/integration/knife/cookbook_show_spec.rb +81 -81
- data/spec/integration/knife/cookbook_upload_spec.rb +24 -24
- data/spec/integration/knife/data_bag_delete_spec.rb +8 -8
- data/spec/integration/knife/data_bag_from_file_spec.rb +47 -47
- data/spec/integration/knife/data_bag_list_spec.rb +4 -4
- data/spec/integration/knife/data_bag_show_spec.rb +7 -7
- data/spec/integration/knife/delete_spec.rb +593 -593
- data/spec/integration/knife/deps_spec.rb +185 -185
- data/spec/integration/knife/diff_spec.rb +116 -116
- data/spec/integration/knife/download_spec.rb +510 -510
- data/spec/integration/knife/environment_compare_spec.rb +15 -15
- data/spec/integration/knife/environment_from_file_spec.rb +59 -59
- data/spec/integration/knife/environment_list_spec.rb +4 -4
- data/spec/integration/knife/environment_show_spec.rb +25 -25
- data/spec/integration/knife/list_spec.rb +731 -731
- data/spec/integration/knife/node_bulk_delete_spec.rb +8 -8
- data/spec/integration/knife/node_delete_spec.rb +6 -6
- data/spec/integration/knife/node_environment_set_spec.rb +3 -3
- data/spec/integration/knife/node_from_file_spec.rb +16 -16
- data/spec/integration/knife/node_list_spec.rb +5 -5
- data/spec/integration/knife/raw_spec.rb +117 -117
- data/spec/integration/knife/role_bulk_delete_spec.rb +8 -8
- data/spec/integration/knife/role_delete_spec.rb +6 -6
- data/spec/integration/knife/role_from_file_spec.rb +42 -42
- data/spec/integration/knife/role_list_spec.rb +5 -5
- data/spec/integration/knife/role_show_spec.rb +9 -9
- data/spec/integration/knife/show_spec.rb +57 -57
- data/spec/integration/knife/upload_spec.rb +396 -396
- data/spec/integration/recipes/accumulator_spec.rb +2 -2
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +8 -8
- data/spec/integration/recipes/lwrp_spec.rb +12 -12
- data/spec/integration/recipes/notifies_spec.rb +167 -167
- data/spec/integration/recipes/notifying_block_spec.rb +2 -2
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +99 -99
- data/spec/integration/recipes/resource_load_spec.rb +8 -8
- data/spec/integration/solo/solo_spec.rb +40 -40
- data/spec/scripts/ssl-serve.rb +12 -12
- data/spec/spec_helper.rb +73 -73
- data/spec/stress/win32/file_spec.rb +2 -2
- data/spec/stress/win32/security_spec.rb +2 -2
- data/spec/support/platform_helpers.rb +1 -1
- data/spec/support/shared/context/client.rb +25 -25
- data/spec/support/shared/functional/securable_resource.rb +13 -13
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +6 -6
- data/spec/support/shared/functional/win32_service.rb +5 -5
- data/spec/support/shared/functional/windows_script.rb +3 -3
- data/spec/support/shared/integration/app_server_support.rb +3 -3
- data/spec/support/shared/integration/integration_helper.rb +2 -2
- data/spec/support/shared/integration/knife_support.rb +9 -3
- data/spec/support/shared/unit/api_error_inspector.rb +6 -6
- data/spec/support/shared/unit/api_versioning.rb +2 -2
- data/spec/support/shared/unit/execute_resource.rb +2 -2
- data/spec/support/shared/unit/provider/file.rb +12 -12
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +34 -34
- data/spec/support/shared/unit/user_and_client_shared.rb +3 -3
- data/spec/tiny_server.rb +8 -8
- data/spec/unit/api_client/registration_spec.rb +30 -30
- data/spec/unit/api_client_spec.rb +6 -6
- data/spec/unit/api_client_v1_spec.rb +6 -6
- data/spec/unit/application/apply_spec.rb +4 -4
- data/spec/unit/application/client_spec.rb +11 -11
- data/spec/unit/application/knife_spec.rb +3 -3
- data/spec/unit/application/solo_spec.rb +5 -5
- data/spec/unit/application_spec.rb +11 -11
- data/spec/unit/audit/audit_event_proxy_spec.rb +48 -48
- data/spec/unit/audit/audit_reporter_spec.rb +51 -55
- data/spec/unit/audit/control_group_data_spec.rb +20 -20
- data/spec/unit/audit/runner_spec.rb +2 -2
- data/spec/unit/chef_class_spec.rb +120 -0
- data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +3 -3
- data/spec/unit/chef_fs/diff_spec.rb +45 -45
- data/spec/unit/chef_fs/file_pattern_spec.rb +2 -2
- data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +2 -2
- data/spec/unit/chef_fs/file_system_spec.rb +8 -8
- data/spec/unit/chef_fs/parallelizer.rb +12 -12
- data/spec/unit/client_spec.rb +15 -15
- data/spec/unit/config_fetcher_spec.rb +23 -23
- data/spec/unit/config_spec.rb +2 -2
- data/spec/unit/cookbook/metadata_spec.rb +81 -81
- data/spec/unit/cookbook/synchronizer_spec.rb +171 -171
- data/spec/unit/cookbook_loader_spec.rb +10 -5
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +6 -6
- data/spec/unit/cookbook_uploader_spec.rb +8 -8
- data/spec/unit/cookbook_version_file_specificity_spec.rb +135 -135
- data/spec/unit/daemon_spec.rb +4 -4
- data/spec/unit/data_bag_item_spec.rb +3 -3
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/data_collector/resource_report_spec.rb +1 -1
- data/spec/unit/data_collector_spec.rb +4 -3
- data/spec/unit/deprecated_spec.rb +18 -12
- data/spec/unit/dsl/audit_spec.rb +1 -1
- data/spec/unit/dsl/platform_introspection_spec.rb +16 -16
- data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
- data/spec/unit/environment_spec.rb +16 -16
- data/spec/unit/file_access_control_spec.rb +8 -8
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +26 -26
- data/spec/unit/formatters/error_description_spec.rb +39 -39
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +16 -16
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +5 -5
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +4 -4
- data/spec/unit/handler/json_file_spec.rb +1 -1
- data/spec/unit/http/api_versions_spec.rb +1 -1
- data/spec/unit/http/authenticator_spec.rb +17 -17
- data/spec/unit/http/ssl_policies_spec.rb +1 -1
- data/spec/unit/http/validate_content_length_spec.rb +2 -2
- data/spec/unit/key_spec.rb +12 -12
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +3 -3
- data/spec/unit/knife/client_bulk_delete_spec.rb +1 -1
- data/spec/unit/knife/client_delete_spec.rb +1 -1
- data/spec/unit/knife/client_reregister_spec.rb +1 -1
- data/spec/unit/knife/configure_client_spec.rb +4 -4
- data/spec/unit/knife/configure_spec.rb +1 -1
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
- data/spec/unit/knife/cookbook_delete_spec.rb +4 -4
- data/spec/unit/knife/cookbook_download_spec.rb +21 -21
- data/spec/unit/knife/cookbook_list_spec.rb +7 -7
- data/spec/unit/knife/cookbook_show_spec.rb +24 -24
- data/spec/unit/knife/cookbook_site_download_spec.rb +23 -23
- data/spec/unit/knife/cookbook_site_install_spec.rb +4 -4
- data/spec/unit/knife/cookbook_site_share_spec.rb +10 -10
- data/spec/unit/knife/cookbook_site_unshare_spec.rb +2 -2
- data/spec/unit/knife/cookbook_upload_spec.rb +19 -19
- data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -37
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +20 -20
- data/spec/unit/knife/core/object_loader_spec.rb +1 -1
- data/spec/unit/knife/core/ui_spec.rb +55 -55
- data/spec/unit/knife/data_bag_create_spec.rb +2 -2
- data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
- data/spec/unit/knife/data_bag_secret_options_spec.rb +5 -5
- data/spec/unit/knife/environment_from_file_spec.rb +1 -1
- data/spec/unit/knife/key_create_spec.rb +4 -4
- data/spec/unit/knife/key_delete_spec.rb +3 -3
- data/spec/unit/knife/key_edit_spec.rb +3 -3
- data/spec/unit/knife/key_list_spec.rb +3 -3
- data/spec/unit/knife/key_show_spec.rb +3 -3
- data/spec/unit/knife/node_delete_spec.rb +1 -1
- data/spec/unit/knife/node_edit_spec.rb +7 -7
- data/spec/unit/knife/node_from_file_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
- data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
- data/spec/unit/knife/role_bulk_delete_spec.rb +1 -1
- data/spec/unit/knife/role_create_spec.rb +1 -1
- data/spec/unit/knife/role_delete_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_add_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/role_from_file_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_add_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/ssh_spec.rb +25 -25
- data/spec/unit/knife/ssl_check_spec.rb +23 -23
- data/spec/unit/knife/ssl_fetch_spec.rb +11 -11
- data/spec/unit/knife/user_delete_spec.rb +1 -1
- data/spec/unit/knife/user_reregister_spec.rb +1 -1
- data/spec/unit/knife_spec.rb +26 -26
- data/spec/unit/log/syslog_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +4 -4
- data/spec/unit/mash_spec.rb +3 -3
- data/spec/unit/mixin/api_version_request_handling_spec.rb +16 -16
- data/spec/unit/mixin/checksum_spec.rb +1 -1
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +8 -8
- data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +96 -96
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +27 -27
- data/spec/unit/mixin/shell_out_spec.rb +286 -132
- data/spec/unit/mixin/user_context_spec.rb +1 -1
- data/spec/unit/mixin/xml_escape_spec.rb +1 -1
- data/spec/unit/node/attribute_spec.rb +10 -10
- data/spec/unit/node/vivid_mash_spec.rb +3 -3
- data/spec/unit/node_map_spec.rb +71 -3
- data/spec/unit/node_spec.rb +15 -15
- data/spec/unit/org_spec.rb +2 -2
- data/spec/unit/platform/query_helpers_spec.rb +26 -26
- data/spec/unit/policy_builder/expand_node_object_spec.rb +4 -4
- data/spec/unit/policy_builder/policyfile_spec.rb +29 -29
- data/spec/unit/property_spec.rb +5 -5
- data/spec/unit/provider/apt_repository_spec.rb +19 -19
- data/spec/unit/provider/cookbook_file/content_spec.rb +1 -1
- data/spec/unit/provider/cookbook_file_spec.rb +1 -1
- data/spec/unit/provider/cron/unix_spec.rb +12 -12
- data/spec/unit/provider/cron_spec.rb +279 -279
- data/spec/unit/provider/dsc_resource_spec.rb +6 -6
- data/spec/unit/provider/execute_spec.rb +2 -2
- data/spec/unit/provider/file/content_spec.rb +1 -1
- data/spec/unit/provider/file_spec.rb +1 -1
- data/spec/unit/provider/git_spec.rb +123 -123
- data/spec/unit/provider/group/dscl_spec.rb +18 -18
- data/spec/unit/provider/group/gpasswd_spec.rb +7 -7
- data/spec/unit/provider/group/groupadd_spec.rb +7 -7
- data/spec/unit/provider/group/groupmod_spec.rb +13 -13
- data/spec/unit/provider/group/pw_spec.rb +4 -4
- data/spec/unit/provider/group/suse_spec.rb +2 -2
- data/spec/unit/provider/group/usermod_spec.rb +4 -4
- data/spec/unit/provider/group_spec.rb +3 -3
- data/spec/unit/provider/ifconfig/aix_spec.rb +17 -17
- data/spec/unit/provider/ifconfig/debian_spec.rb +16 -16
- data/spec/unit/provider/ifconfig_spec.rb +16 -16
- data/spec/unit/provider/launchd_spec.rb +52 -52
- data/spec/unit/provider/link_spec.rb +7 -7
- data/spec/unit/provider/mdadm_spec.rb +3 -3
- data/spec/unit/provider/mount/aix_spec.rb +39 -39
- data/spec/unit/provider/mount/mount_spec.rb +26 -26
- data/spec/unit/provider/mount/solaris_spec.rb +2 -2
- data/spec/unit/provider/mount/windows_spec.rb +6 -6
- data/spec/unit/provider/ohai_spec.rb +9 -9
- data/spec/unit/provider/osx_profile_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +186 -186
- data/spec/unit/provider/package/bff_spec.rb +36 -36
- data/spec/unit/provider/package/cab_spec.rb +58 -58
- data/spec/unit/provider/package/chocolatey_spec.rb +34 -34
- data/spec/unit/provider/package/dpkg_spec.rb +33 -33
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +35 -35
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +22 -22
- data/spec/unit/provider/package/freebsd/port_spec.rb +21 -21
- data/spec/unit/provider/package/homebrew_spec.rb +4 -4
- data/spec/unit/provider/package/ips_spec.rb +94 -94
- data/spec/unit/provider/package/macports_spec.rb +23 -23
- data/spec/unit/provider/package/msu_spec.rb +44 -44
- data/spec/unit/provider/package/openbsd_spec.rb +19 -19
- data/spec/unit/provider/package/pacman_spec.rb +50 -50
- data/spec/unit/provider/package/paludis_spec.rb +33 -33
- data/spec/unit/provider/package/portage_spec.rb +25 -25
- data/spec/unit/provider/package/powershell_spec.rb +98 -85
- data/spec/unit/provider/package/rpm_spec.rb +21 -21
- data/spec/unit/provider/package/rubygems_spec.rb +71 -71
- data/spec/unit/provider/package/smartos_spec.rb +21 -21
- data/spec/unit/provider/package/solaris_spec.rb +38 -38
- data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
- data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
- data/spec/unit/provider/package/windows_spec.rb +11 -4
- data/spec/unit/provider/package/zypper_spec.rb +42 -46
- data/spec/unit/provider/package_spec.rb +2 -2
- data/spec/unit/provider/powershell_script_spec.rb +1 -1
- data/spec/unit/provider/registry_key_spec.rb +22 -22
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +7 -7
- data/spec/unit/provider/remote_file/content_spec.rb +4 -4
- data/spec/unit/provider/remote_file/fetcher_spec.rb +5 -5
- data/spec/unit/provider/remote_file/ftp_spec.rb +1 -1
- data/spec/unit/provider/remote_file/http_spec.rb +1 -1
- data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
- data/spec/unit/provider/remote_file/network_file_spec.rb +3 -3
- data/spec/unit/provider/remote_file/sftp_spec.rb +2 -2
- data/spec/unit/provider/remote_file_spec.rb +1 -1
- data/spec/unit/provider/script_spec.rb +1 -1
- data/spec/unit/provider/service/aix_service_spec.rb +8 -8
- data/spec/unit/provider/service/aixinit_service_spec.rb +3 -3
- data/spec/unit/provider/service/arch_service_spec.rb +21 -21
- data/spec/unit/provider/service/debian_service_spec.rb +2 -2
- data/spec/unit/provider/service/freebsd_service_spec.rb +30 -30
- data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
- data/spec/unit/provider/service/init_service_spec.rb +14 -14
- data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
- data/spec/unit/provider/service/invokercd_service_spec.rb +17 -17
- data/spec/unit/provider/service/macosx_spec.rb +59 -59
- data/spec/unit/provider/service/openbsd_service_spec.rb +6 -6
- data/spec/unit/provider/service/redhat_spec.rb +27 -27
- data/spec/unit/provider/service/simple_service_spec.rb +14 -14
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +19 -19
- data/spec/unit/provider/service/systemd_service_spec.rb +13 -13
- data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
- data/spec/unit/provider/service/windows_spec.rb +38 -38
- data/spec/unit/provider/service_spec.rb +3 -3
- data/spec/unit/provider/subversion_spec.rb +13 -13
- data/spec/unit/provider/systemd_unit_spec.rb +10 -10
- data/spec/unit/provider/template/content_spec.rb +44 -44
- data/spec/unit/provider/template_spec.rb +2 -2
- data/spec/unit/provider/user/aix_spec.rb +5 -5
- data/spec/unit/provider/user/dscl_spec.rb +12 -12
- data/spec/unit/provider/user/pw_spec.rb +12 -12
- data/spec/unit/provider/user/solaris_spec.rb +6 -6
- data/spec/unit/provider/windows_env_spec.rb +2 -2
- data/spec/unit/provider/windows_task_spec.rb +16 -16
- data/spec/unit/provider/zypper_repository_spec.rb +7 -7
- data/spec/unit/provider_resolver_spec.rb +3 -3
- data/spec/unit/recipe_spec.rb +13 -13
- data/spec/unit/resource/chocolatey_config_spec.rb +98 -0
- data/spec/unit/resource/chocolatey_source_spec.rb +102 -0
- data/spec/unit/resource/conditional_spec.rb +1 -1
- data/spec/unit/resource/cookbook_file_spec.rb +3 -3
- data/spec/unit/resource/dnf_package_spec.rb +3 -3
- data/spec/unit/resource/dsc_script_spec.rb +10 -10
- data/spec/unit/resource/execute_spec.rb +2 -2
- data/spec/unit/resource/file/verification/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/file/verification_spec.rb +1 -1
- data/spec/unit/resource/file_spec.rb +3 -3
- data/spec/unit/resource/freebsd_package_spec.rb +5 -4
- data/spec/unit/resource/group_spec.rb +4 -4
- data/spec/unit/resource/kernel_module_spec.rb +48 -0
- data/spec/unit/resource/mount_spec.rb +13 -3
- data/spec/unit/resource/package_spec.rb +2 -2
- data/spec/unit/resource/powershell_package_source_spec.rb +219 -0
- data/spec/unit/resource/powershell_package_spec.rb +10 -1
- data/spec/unit/resource/powershell_script_spec.rb +8 -8
- data/spec/unit/resource/registry_key_spec.rb +19 -19
- data/spec/unit/resource/remote_file_spec.rb +2 -2
- data/spec/unit/resource/resource_notification_spec.rb +8 -8
- data/spec/unit/resource/service_spec.rb +3 -3
- data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +55 -0
- data/spec/unit/resource/template_spec.rb +2 -2
- data/spec/unit/resource/user_spec.rb +2 -2
- data/spec/unit/resource/windows_feature_dism.rb +5 -5
- data/spec/unit/resource/windows_feature_powershell.rb +27 -6
- data/spec/unit/resource/yum_package_spec.rb +3 -3
- data/spec/unit/resource_collection/resource_set_spec.rb +6 -6
- data/spec/unit/resource_collection_spec.rb +5 -5
- data/spec/unit/resource_definition_spec.rb +2 -2
- data/spec/unit/resource_inspector_spec.rb +3 -3
- data/spec/unit/resource_reporter_spec.rb +24 -24
- data/spec/unit/resource_spec.rb +65 -31
- data/spec/unit/role_spec.rb +22 -22
- data/spec/unit/run_context_spec.rb +1 -1
- data/spec/unit/run_list/run_list_item_spec.rb +3 -3
- data/spec/unit/run_list/versioned_recipe_list_spec.rb +12 -12
- data/spec/unit/run_list_spec.rb +6 -6
- data/spec/unit/runner_spec.rb +4 -4
- data/spec/unit/scan_access_control_spec.rb +3 -3
- data/spec/unit/shell/model_wrapper_spec.rb +4 -4
- data/spec/unit/shell/shell_ext_spec.rb +4 -4
- data/spec/unit/shell/shell_session_spec.rb +28 -28
- data/spec/unit/user_spec.rb +2 -2
- data/spec/unit/user_v1_spec.rb +25 -25
- data/spec/unit/util/diff_spec.rb +1 -1
- data/spec/unit/util/dsc/configuration_generator_spec.rb +4 -4
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +105 -105
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +16 -16
- data/spec/unit/util/file_edit_spec.rb +38 -38
- data/spec/unit/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/unit/util/selinux_spec.rb +10 -10
- data/spec/unit/win32/registry_spec.rb +3 -3
- data/spec/unit/windows_service_spec.rb +2 -2
- data/tasks/cbgb.rb +3 -3
- data/tasks/dependencies.rb +6 -8
- data/tasks/maintainers.rb +7 -7
- data/tasks/rspec.rb +2 -2
- metadata +20 -79
- data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +0 -33
- data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +0 -272
- data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +0 -57
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +0 -68
- data/acceptance/.shared/kitchen_acceptance/metadata.rb +0 -1
- data/acceptance/Gemfile +0 -19
- data/acceptance/Gemfile.lock +0 -266
- data/acceptance/README.md +0 -137
- data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +0 -3
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
- data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
- data/acceptance/basics/.kitchen.yml +0 -4
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +0 -19
- data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +0 -6
- data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +0 -8
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +0 -3
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -2
- data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +0 -16
- data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +0 -3
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +0 -101
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +0 -3
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +0 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +0 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +0 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +0 -4
- data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +0 -2
- data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +0 -7
- data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +0 -44
- data/acceptance/data-collector/.kitchen.yml +0 -9
- data/acceptance/data-collector/Berksfile +0 -3
- data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +0 -208
- data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +0 -8
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +0 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
- data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -61
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +0 -43
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +0 -41
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +0 -3
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
- data/acceptance/top-cookbooks/.gitignore +0 -1
- data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +0 -6
- data/acceptance/top-cookbooks/.kitchen.iis.yml +0 -4
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +0 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +0 -7
- data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +0 -7
- data/acceptance/top-cookbooks/.kitchen.powershell.yml +0 -4
- data/acceptance/top-cookbooks/.kitchen.sql_server.yml +0 -5
- data/acceptance/top-cookbooks/.kitchen.winbox.yml +0 -8
- data/acceptance/top-cookbooks/.kitchen.windows.yml +0 -38
- data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +0 -2
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
- data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
- data/acceptance/trivial/.kitchen.yml +0 -7
- data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +0 -5
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +0 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +0 -2
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
- data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
- data/acceptance/windows-service/.kitchen.yml +0 -7
- data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +0 -58
- data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
@@ -247,8 +247,8 @@ class Chef
|
|
247
247
|
if new_resource.user
|
248
248
|
uid = Etc.getpwnam(new_resource.user).uid
|
249
249
|
{
|
250
|
-
:
|
251
|
-
:
|
250
|
+
user: new_resource.user,
|
251
|
+
environment: {
|
252
252
|
"DBUS_SESSION_BUS_ADDRESS" => "unix:path=/run/user/#{uid}/bus",
|
253
253
|
},
|
254
254
|
}
|
@@ -29,7 +29,7 @@ class Chef
|
|
29
29
|
|
30
30
|
def template_location
|
31
31
|
@template_file_cache_location ||= begin
|
32
|
-
template_finder.find(new_resource.source, :
|
32
|
+
template_finder.find(new_resource.source, local: new_resource.local, cookbook: new_resource.cookbook)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -24,7 +24,7 @@ class Chef
|
|
24
24
|
provides :aix_user
|
25
25
|
|
26
26
|
def create_user
|
27
|
-
|
27
|
+
shell_out!("useradd", universal_options, useradd_options, new_resource.username)
|
28
28
|
add_password
|
29
29
|
end
|
30
30
|
|
@@ -32,11 +32,11 @@ class Chef
|
|
32
32
|
add_password
|
33
33
|
manage_home
|
34
34
|
return if universal_options.empty? && usermod_options.empty?
|
35
|
-
|
35
|
+
shell_out!("usermod", universal_options, usermod_options, new_resource.username)
|
36
36
|
end
|
37
37
|
|
38
38
|
def remove_user
|
39
|
-
|
39
|
+
shell_out!("userdel", userdel_options, new_resource.username)
|
40
40
|
end
|
41
41
|
|
42
42
|
# Aix does not support -r like other unix, sytem account is created by adding to 'system' group
|
@@ -66,7 +66,7 @@ class Chef
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def check_lock
|
69
|
-
lock_info =
|
69
|
+
lock_info = shell_out!("lsuser", "-a", "account_locked", new_resource.username)
|
70
70
|
if whyrun_mode? && passwd_s.stdout.empty? && lock_info.stderr.match(/does not exist/)
|
71
71
|
# if we're in whyrun mode and the user is not yet created we assume it would be
|
72
72
|
return false
|
@@ -85,11 +85,11 @@ class Chef
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def lock_user
|
88
|
-
|
88
|
+
shell_out!("chuser", "account_locked=true", new_resource.username)
|
89
89
|
end
|
90
90
|
|
91
91
|
def unlock_user
|
92
|
-
|
92
|
+
shell_out!("chuser", "account_locked=false", new_resource.username)
|
93
93
|
end
|
94
94
|
|
95
95
|
def universal_options
|
@@ -326,7 +326,7 @@ user password using shadow hash.")
|
|
326
326
|
end
|
327
327
|
|
328
328
|
def ditto_home
|
329
|
-
|
329
|
+
shell_out!("/usr/sbin/createhomedir", "-c", "-u", (new_resource.username).to_s)
|
330
330
|
end
|
331
331
|
|
332
332
|
def move_home
|
@@ -364,7 +364,7 @@ user password using shadow hash.")
|
|
364
364
|
|
365
365
|
# Shadow info is saved as binary plist. Convert the info to binary plist.
|
366
366
|
shadow_info_binary = StringIO.new
|
367
|
-
|
367
|
+
shell_out("plutil", "-convert", "binary1", "-o", "-", "-",
|
368
368
|
input: shadow_info.to_plist, live_stream: shadow_info_binary)
|
369
369
|
|
370
370
|
if user_info.nil?
|
@@ -586,7 +586,7 @@ user password using shadow hash.")
|
|
586
586
|
|
587
587
|
# We flush the cache here in order to make sure that we read fresh information
|
588
588
|
# for the user.
|
589
|
-
|
589
|
+
shell_out("dscacheutil", "-flushcache") # FIXME: this is MacOS version dependent
|
590
590
|
|
591
591
|
begin
|
592
592
|
user_plist_file = "#{USER_PLIST_DIRECTORY}/#{new_resource.username}.plist"
|
@@ -654,7 +654,7 @@ user password using shadow hash.")
|
|
654
654
|
end
|
655
655
|
|
656
656
|
def run_dscl(*args)
|
657
|
-
result =
|
657
|
+
result = shell_out("dscl", ".", "-#{args[0]}", args[1..-1])
|
658
658
|
return "" if ( args.first =~ /^delete/ ) && ( result.exitstatus != 0 )
|
659
659
|
raise(Chef::Exceptions::DsclCommandFailed, "dscl error: #{result.inspect}") unless result.exitstatus == 0
|
660
660
|
raise(Chef::Exceptions::DsclCommandFailed, "dscl error: #{result.inspect}") if result.stdout =~ /No such key: /
|
@@ -662,7 +662,7 @@ user password using shadow hash.")
|
|
662
662
|
end
|
663
663
|
|
664
664
|
def run_plutil(*args)
|
665
|
-
result =
|
665
|
+
result = shell_out("plutil", "-#{args[0]}", args[1..-1])
|
666
666
|
raise(Chef::Exceptions::PlistUtilCommandFailed, "plutil error: #{result.inspect}") unless result.exitstatus == 0
|
667
667
|
if result.stdout.encoding == Encoding::ASCII_8BIT
|
668
668
|
result.stdout.encode("utf-8", "binary", undef: :replace, invalid: :replace, replace: "?")
|
@@ -672,7 +672,7 @@ user password using shadow hash.")
|
|
672
672
|
end
|
673
673
|
|
674
674
|
def convert_binary_plist_to_xml(binary_plist_string)
|
675
|
-
|
675
|
+
shell_out("plutil", "-convert", "xml1", "-o", "-", "-", input: binary_plist_string).stdout
|
676
676
|
end
|
677
677
|
|
678
678
|
def convert_to_binary(string)
|
@@ -24,23 +24,23 @@ class Chef
|
|
24
24
|
provides :user, os: "linux"
|
25
25
|
|
26
26
|
def create_user
|
27
|
-
|
27
|
+
shell_out!("useradd", universal_options, useradd_options, new_resource.username)
|
28
28
|
end
|
29
29
|
|
30
30
|
def manage_user
|
31
|
-
|
31
|
+
shell_out!("usermod", universal_options, usermod_options, new_resource.username)
|
32
32
|
end
|
33
33
|
|
34
34
|
def remove_user
|
35
|
-
|
35
|
+
shell_out!("userdel", userdel_options, new_resource.username)
|
36
36
|
end
|
37
37
|
|
38
38
|
def lock_user
|
39
|
-
|
39
|
+
shell_out!("usermod", "-L", new_resource.username)
|
40
40
|
end
|
41
41
|
|
42
42
|
def unlock_user
|
43
|
-
|
43
|
+
shell_out!("usermod", "-U", new_resource.username)
|
44
44
|
end
|
45
45
|
|
46
46
|
# common to usermod and useradd
|
@@ -88,7 +88,7 @@ class Chef
|
|
88
88
|
def check_lock
|
89
89
|
# there's an old bug in rhel (https://bugzilla.redhat.com/show_bug.cgi?id=578534)
|
90
90
|
# which means that both 0 and 1 can be success.
|
91
|
-
passwd_s =
|
91
|
+
passwd_s = shell_out("passwd", "-S", new_resource.username, returns: [ 0, 1 ])
|
92
92
|
|
93
93
|
# checking "does not exist" has to come before exit code handling since centos and ubuntu differ in exit codes
|
94
94
|
if passwd_s.stderr =~ /does not exist/
|
@@ -31,19 +31,19 @@ class Chef
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def create_user
|
34
|
-
|
34
|
+
shell_out!("pw", "useradd", set_options)
|
35
35
|
modify_password
|
36
36
|
end
|
37
37
|
|
38
38
|
def manage_user
|
39
|
-
|
39
|
+
shell_out!("pw", "usermod", set_options)
|
40
40
|
modify_password
|
41
41
|
end
|
42
42
|
|
43
43
|
def remove_user
|
44
44
|
command = [ "pw", "userdel", new_resource.username ]
|
45
45
|
command << "-r" if new_resource.manage_home
|
46
|
-
|
46
|
+
shell_out!(command)
|
47
47
|
end
|
48
48
|
|
49
49
|
def check_lock
|
@@ -57,11 +57,11 @@ class Chef
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def lock_user
|
60
|
-
|
60
|
+
shell_out!("pw", "lock", new_resource.username)
|
61
61
|
end
|
62
62
|
|
63
63
|
def unlock_user
|
64
|
-
|
64
|
+
shell_out!("pw", "unlock", new_resource.username)
|
65
65
|
end
|
66
66
|
|
67
67
|
def set_options
|
@@ -27,21 +27,21 @@ class Chef
|
|
27
27
|
provides :solaris_user
|
28
28
|
provides :user, os: %w{openindiana opensolaris illumos omnios solaris2 smartos}
|
29
29
|
|
30
|
-
PASSWORD_FILE = "/etc/shadow"
|
30
|
+
PASSWORD_FILE = "/etc/shadow".freeze
|
31
31
|
|
32
32
|
def create_user
|
33
|
-
|
33
|
+
shell_out!("useradd", universal_options, useradd_options, new_resource.username)
|
34
34
|
manage_password
|
35
35
|
end
|
36
36
|
|
37
37
|
def manage_user
|
38
38
|
manage_password
|
39
39
|
return if universal_options.empty? && usermod_options.empty?
|
40
|
-
|
40
|
+
shell_out!("usermod", universal_options, usermod_options, new_resource.username)
|
41
41
|
end
|
42
42
|
|
43
43
|
def remove_user
|
44
|
-
|
44
|
+
shell_out!("userdel", userdel_options, new_resource.username)
|
45
45
|
end
|
46
46
|
|
47
47
|
def check_lock
|
@@ -56,11 +56,11 @@ class Chef
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def lock_user
|
59
|
-
|
59
|
+
shell_out!("passwd", "-l", new_resource.username)
|
60
60
|
end
|
61
61
|
|
62
62
|
def unlock_user
|
63
|
-
|
63
|
+
shell_out!("passwd", "-u", new_resource.username)
|
64
64
|
end
|
65
65
|
|
66
66
|
private
|
@@ -36,7 +36,7 @@ class Chef
|
|
36
36
|
useradd.concat(universal_options)
|
37
37
|
useradd.concat(useradd_options)
|
38
38
|
end
|
39
|
-
|
39
|
+
shell_out!(command)
|
40
40
|
end
|
41
41
|
|
42
42
|
def manage_user
|
@@ -44,7 +44,7 @@ class Chef
|
|
44
44
|
command = compile_command("usermod") do |u|
|
45
45
|
u.concat(universal_options)
|
46
46
|
end
|
47
|
-
|
47
|
+
shell_out!(command)
|
48
48
|
end
|
49
49
|
|
50
50
|
def remove_user
|
@@ -52,13 +52,13 @@ class Chef
|
|
52
52
|
command << "-r" if new_resource.manage_home
|
53
53
|
command << "-f" if new_resource.force
|
54
54
|
command << new_resource.username
|
55
|
-
|
55
|
+
shell_out!(command)
|
56
56
|
end
|
57
57
|
|
58
58
|
def check_lock
|
59
59
|
# we can get an exit code of 1 even when it's successful on
|
60
60
|
# rhel/centos (redhat bug 578534). See additional error checks below.
|
61
|
-
passwd_s =
|
61
|
+
passwd_s = shell_out!("passwd", "-S", new_resource.username, returns: [0, 1])
|
62
62
|
if whyrun_mode? && passwd_s.stdout.empty? && passwd_s.stderr.match(/does not exist/)
|
63
63
|
# if we're in whyrun mode and the user is not yet created we assume it would be
|
64
64
|
return false
|
@@ -79,7 +79,7 @@ class Chef
|
|
79
79
|
unless passwd_s.exitstatus == 0
|
80
80
|
raise_lock_error = false
|
81
81
|
if %w{redhat centos}.include?(node[:platform])
|
82
|
-
passwd_version_check =
|
82
|
+
passwd_version_check = shell_out!("rpm", "-q", "passwd")
|
83
83
|
passwd_version = passwd_version_check.stdout.chomp
|
84
84
|
|
85
85
|
unless passwd_version == "passwd-0.73-1"
|
@@ -96,11 +96,11 @@ class Chef
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def lock_user
|
99
|
-
|
99
|
+
shell_out!("usermod", "-L", new_resource.username)
|
100
100
|
end
|
101
101
|
|
102
102
|
def unlock_user
|
103
|
-
|
103
|
+
shell_out!("usermod", "-U", new_resource.username)
|
104
104
|
end
|
105
105
|
|
106
106
|
def compile_command(base_command)
|
@@ -63,7 +63,7 @@ class Chef
|
|
63
63
|
# <false>:: If a change is not required
|
64
64
|
def requires_modify_or_create?
|
65
65
|
if new_resource.delim
|
66
|
-
#e.g. check for existing value within PATH
|
66
|
+
# e.g. check for existing value within PATH
|
67
67
|
new_values.inject(0) do |index, val|
|
68
68
|
next_index = current_values.find_index val
|
69
69
|
return true if next_index.nil? || next_index < index
|
@@ -91,18 +91,18 @@ class Chef
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
#e.g. delete a PATH element
|
94
|
+
# e.g. delete a PATH element
|
95
95
|
#
|
96
96
|
# ==== Returns
|
97
97
|
# <true>:: If we handled the element case and caller should not delete the key
|
98
98
|
# <false>:: Caller should delete the key, either no :delim was specific or value was empty
|
99
99
|
# after we removed the element.
|
100
100
|
def delete_element
|
101
|
-
return false unless new_resource.delim #no delim: delete the key
|
101
|
+
return false unless new_resource.delim # no delim: delete the key
|
102
102
|
needs_delete = new_values.any? { |v| current_values.include?(v) }
|
103
103
|
if !needs_delete
|
104
104
|
logger.trace("#{new_resource} element '#{new_resource.value}' does not exist")
|
105
|
-
return true #do not delete the key
|
105
|
+
return true # do not delete the key
|
106
106
|
else
|
107
107
|
new_value =
|
108
108
|
current_values.select do |item|
|
@@ -110,13 +110,13 @@ class Chef
|
|
110
110
|
end.join(new_resource.delim)
|
111
111
|
|
112
112
|
if new_value.empty?
|
113
|
-
return false #nothing left here, delete the key
|
113
|
+
return false # nothing left here, delete the key
|
114
114
|
else
|
115
115
|
old_value = new_resource.value(new_value)
|
116
116
|
create_env
|
117
117
|
logger.trace("#{new_resource} deleted #{old_value} element")
|
118
118
|
new_resource.updated_by_last_action(true)
|
119
|
-
return true #we removed the element and updated; do not delete the key
|
119
|
+
return true # we removed the element and updated; do not delete the key
|
120
120
|
end
|
121
121
|
end
|
122
122
|
end
|
@@ -46,8 +46,8 @@ class Chef
|
|
46
46
|
SEP: TaskScheduler::SEPTEMBER,
|
47
47
|
OCT: TaskScheduler::OCTOBER,
|
48
48
|
NOV: TaskScheduler::NOVEMBER,
|
49
|
-
DEC: TaskScheduler::DECEMBER
|
50
|
-
}
|
49
|
+
DEC: TaskScheduler::DECEMBER,
|
50
|
+
}.freeze
|
51
51
|
|
52
52
|
DAYS_OF_WEEK = { MON: TaskScheduler::MONDAY,
|
53
53
|
TUE: TaskScheduler::TUESDAY,
|
@@ -55,14 +55,14 @@ class Chef
|
|
55
55
|
THU: TaskScheduler::THURSDAY,
|
56
56
|
FRI: TaskScheduler::FRIDAY,
|
57
57
|
SAT: TaskScheduler::SATURDAY,
|
58
|
-
SUN: TaskScheduler::SUNDAY }
|
58
|
+
SUN: TaskScheduler::SUNDAY }.freeze
|
59
59
|
|
60
60
|
WEEKS_OF_MONTH = {
|
61
61
|
FIRST: TaskScheduler::FIRST_WEEK,
|
62
62
|
SECOND: TaskScheduler::SECOND_WEEK,
|
63
63
|
THIRD: TaskScheduler::THIRD_WEEK,
|
64
|
-
FOURTH: TaskScheduler::FOURTH_WEEK
|
65
|
-
}
|
64
|
+
FOURTH: TaskScheduler::FOURTH_WEEK,
|
65
|
+
}.freeze
|
66
66
|
|
67
67
|
DAYS_OF_MONTH = {
|
68
68
|
1 => TaskScheduler::TASK_FIRST,
|
@@ -95,20 +95,18 @@ class Chef
|
|
95
95
|
28 => TaskScheduler::TASK_TWENTY_EIGHTH,
|
96
96
|
29 => TaskScheduler::TASK_TWENTY_NINTH,
|
97
97
|
30 => TaskScheduler::TASK_THIRTYETH,
|
98
|
-
31 => TaskScheduler::TASK_THIRTY_FIRST
|
99
|
-
}
|
98
|
+
31 => TaskScheduler::TASK_THIRTY_FIRST,
|
99
|
+
}.freeze
|
100
100
|
|
101
101
|
def load_current_resource
|
102
102
|
@current_resource = Chef::Resource::WindowsTask.new(new_resource.name)
|
103
|
-
task = TaskScheduler.new
|
104
|
-
|
105
|
-
|
103
|
+
task = TaskScheduler.new(new_resource.task_name, nil, "\\", false)
|
104
|
+
@current_resource.exists = task.exists?(new_resource.task_name)
|
105
|
+
if @current_resource.exists
|
106
106
|
task.get_task(new_resource.task_name)
|
107
107
|
@current_resource.task = task
|
108
108
|
pathed_task_name = new_resource.task_name.start_with?('\\') ? new_resource.task_name : "\\#{new_resource.task_name}"
|
109
109
|
@current_resource.task_name(pathed_task_name)
|
110
|
-
else
|
111
|
-
@current_resource.exists = false
|
112
110
|
end
|
113
111
|
@current_resource
|
114
112
|
end
|
@@ -133,10 +131,10 @@ class Chef
|
|
133
131
|
converge_by("#{new_resource} task created") do
|
134
132
|
task = TaskScheduler.new
|
135
133
|
if new_resource.frequency == :none
|
136
|
-
task.new_work_item(new_resource.task_name, {})
|
134
|
+
task.new_work_item(new_resource.task_name, {}, { user: new_resource.user, password: new_resource.password })
|
137
135
|
task.activate(new_resource.task_name)
|
138
136
|
else
|
139
|
-
task.new_work_item(new_resource.task_name, trigger)
|
137
|
+
task.new_work_item(new_resource.task_name, trigger, { user: new_resource.user, password: new_resource.password })
|
140
138
|
end
|
141
139
|
task.application_name = new_resource.command
|
142
140
|
task.parameters = new_resource.command_arguments if new_resource.command_arguments
|
@@ -197,7 +195,7 @@ class Chef
|
|
197
195
|
logger.trace "#{new_resource} task exists"
|
198
196
|
if current_resource.task.status == "not scheduled"
|
199
197
|
converge_by("#{new_resource} task enabled") do
|
200
|
-
#TODO wind32-taskscheduler currently not having any method to handle this so using schtasks.exe here
|
198
|
+
# TODO wind32-taskscheduler currently not having any method to handle this so using schtasks.exe here
|
201
199
|
run_schtasks "CHANGE", "ENABLE" => ""
|
202
200
|
end
|
203
201
|
else
|
@@ -214,7 +212,7 @@ class Chef
|
|
214
212
|
logger.info "#{new_resource} task exists"
|
215
213
|
if %w{ready running}.include?(current_resource.task.status)
|
216
214
|
converge_by("#{new_resource} task disabled") do
|
217
|
-
#TODO: in win32-taskscheduler there is no method whcih disbales the task so currently calling disable with schtasks.exe
|
215
|
+
# TODO: in win32-taskscheduler there is no method whcih disbales the task so currently calling disable with schtasks.exe
|
218
216
|
run_schtasks "CHANGE", "DISABLE" => ""
|
219
217
|
end
|
220
218
|
else
|
@@ -258,7 +256,7 @@ class Chef
|
|
258
256
|
def trigger
|
259
257
|
start_month, start_day, start_year = new_resource.start_day.to_s.split("/")
|
260
258
|
start_hour, start_minute = new_resource.start_time.to_s.split(":")
|
261
|
-
#TODO currently end_month, end_year and end_year needs to be set to 0. If not set win32-taskscheduler throwing nil into integer error.
|
259
|
+
# TODO currently end_month, end_year and end_year needs to be set to 0. If not set win32-taskscheduler throwing nil into integer error.
|
262
260
|
trigger_hash = {
|
263
261
|
start_year: start_year.to_i,
|
264
262
|
start_month: start_month.to_i,
|
@@ -270,7 +268,7 @@ class Chef
|
|
270
268
|
end_year: 0,
|
271
269
|
trigger_type: trigger_type,
|
272
270
|
type: type,
|
273
|
-
random_minutes_interval: new_resource.random_delay
|
271
|
+
random_minutes_interval: new_resource.random_delay,
|
274
272
|
}
|
275
273
|
|
276
274
|
if new_resource.frequency == :minute
|
@@ -320,7 +318,7 @@ class Chef
|
|
320
318
|
hours.to_i * 60 if hours
|
321
319
|
end
|
322
320
|
|
323
|
-
#TODO : Try to optimize this method
|
321
|
+
# TODO : Try to optimize this method
|
324
322
|
# known issue : Since start_day and time is not mandatory while updating weekly frequency for which start_day is not mentioned by user idempotency
|
325
323
|
# is not gettting maintained as new_resource.start_day is nil and we fetch the day of week from start_day to set and its currently coming as nil and don't match with current_task
|
326
324
|
def task_needs_update?(task)
|
@@ -454,7 +452,7 @@ class Chef
|
|
454
452
|
|
455
453
|
def days_of_week
|
456
454
|
if new_resource.day
|
457
|
-
#this line of code is just to support backward compatibility of wild card *
|
455
|
+
# this line of code is just to support backward compatibility of wild card *
|
458
456
|
new_resource.day = "mon, tue, wed, thu, fri, sat, sun" if new_resource.day == "*" && new_resource.frequency == :weekly
|
459
457
|
days = new_resource.day.split(",")
|
460
458
|
days.map! { |day| day.to_s.strip.upcase }
|
@@ -477,7 +475,7 @@ class Chef
|
|
477
475
|
end
|
478
476
|
|
479
477
|
if new_resource.months
|
480
|
-
#this line of code is just to support backward compatibility of wild card *
|
478
|
+
# this line of code is just to support backward compatibility of wild card *
|
481
479
|
new_resource.months = "jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec" if new_resource.months == "*" && new_resource.frequency == :monthly
|
482
480
|
months = new_resource.months.split(",")
|
483
481
|
months.map! { |month| month.to_s.strip.upcase }
|
@@ -541,11 +539,11 @@ class Chef
|
|
541
539
|
end
|
542
540
|
end
|
543
541
|
|
544
|
-
#TODO: while creating the configuration settings win32-taskscheduler it accepts execution time limit values in ISO8601 formata
|
542
|
+
# TODO: while creating the configuration settings win32-taskscheduler it accepts execution time limit values in ISO8601 formata
|
545
543
|
def config_settings
|
546
544
|
settings = {
|
547
545
|
execution_time_limit: new_resource.execution_time_limit,
|
548
|
-
enabled: true
|
546
|
+
enabled: true,
|
549
547
|
}
|
550
548
|
settings[:idle_duration] = new_resource.idle_time if new_resource.idle_time
|
551
549
|
settings[:run_only_if_idle] = true if new_resource.idle_time
|
@@ -565,7 +563,7 @@ class Chef
|
|
565
563
|
new_resource.password.nil? ? TaskScheduler::TASK_LOGON_SERVICE_ACCOUNT : TaskScheduler::TASK_LOGON_PASSWORD
|
566
564
|
end
|
567
565
|
|
568
|
-
# This method checks if task and command
|
566
|
+
# This method checks if task and command properties exist since those two are mandatory properties to create a schedules task.
|
569
567
|
def basic_validation
|
570
568
|
validate = []
|
571
569
|
validate << "Command" if new_resource.command.nil? || new_resource.command.empty?
|