chef 11.6.2-x86-mingw32 → 11.8.0.rc.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING.md +12 -12
- data/Rakefile +11 -14
- data/bin/chef-apply +2 -2
- data/bin/chef-client +2 -2
- data/bin/chef-service-manager +2 -2
- data/bin/chef-shell +3 -0
- data/bin/chef-solo +2 -2
- data/bin/knife +3 -3
- data/distro/arch/etc/rc.d/chef-client +2 -2
- data/distro/arch/etc/rc.d/chef-server +2 -2
- data/distro/arch/etc/rc.d/chef-server-webui +2 -2
- data/distro/arch/etc/rc.d/chef-solr +2 -2
- data/distro/common/html/chef-client.8.html +3 -3
- data/distro/common/html/chef-expander.8.html +3 -3
- data/distro/common/html/chef-expanderctl.8.html +3 -3
- data/distro/common/html/chef-server-webui.8.html +3 -3
- data/distro/common/html/chef-server.8.html +3 -3
- data/distro/common/html/chef-shell.1.html +3 -3
- data/distro/common/html/chef-solo.8.html +3 -3
- data/distro/common/html/chef-solr.8.html +4 -4
- data/distro/common/html/knife-bootstrap.1.html +3 -3
- data/distro/common/html/knife-client.1.html +3 -3
- data/distro/common/html/knife-configure.1.html +13 -13
- data/distro/common/html/knife-cookbook-site.1.html +3 -3
- data/distro/common/html/knife-cookbook.1.html +7 -7
- data/distro/common/html/knife-data-bag.1.html +3 -3
- data/distro/common/html/knife-environment.1.html +3 -3
- data/distro/common/html/knife-exec.1.html +3 -3
- data/distro/common/html/knife-index.1.html +3 -3
- data/distro/common/html/knife-node.1.html +3 -3
- data/distro/common/html/knife-role.1.html +3 -3
- data/distro/common/html/knife-search.1.html +3 -3
- data/distro/common/html/knife-ssh.1.html +3 -3
- data/distro/common/html/knife-status.1.html +3 -3
- data/distro/common/html/knife-tag.1.html +3 -3
- data/distro/common/html/knife.1.html +3 -3
- data/distro/common/man/man1/README.md +58 -0
- data/distro/common/man/man1/chef-shell.1 +114 -219
- data/distro/common/man/man1/knife-bootstrap.1 +176 -180
- data/distro/common/man/man1/knife-client.1 +368 -0
- data/distro/common/man/man1/knife-configure.1 +147 -85
- data/distro/common/man/man1/knife-cookbook-site.1 +465 -133
- data/distro/common/man/man1/knife-cookbook.1 +614 -304
- data/distro/common/man/man1/knife-data-bag.1 +476 -113
- data/distro/common/man/man1/knife-delete.1 +132 -0
- data/distro/common/man/man1/knife-deps.1 +219 -0
- data/distro/common/man/man1/knife-diff.1 +212 -0
- data/distro/common/man/man1/knife-download.1 +220 -0
- data/distro/common/man/man1/knife-edit.1 +126 -0
- data/distro/common/man/man1/knife-environment.1 +324 -0
- data/distro/common/man/man1/knife-exec.1 +317 -35
- data/distro/common/man/man1/knife-index-rebuild.1 +115 -0
- data/distro/common/man/man1/knife-list.1 +167 -0
- data/distro/common/man/man1/knife-node.1 +567 -123
- data/distro/common/man/man1/knife-raw.1 +170 -0
- data/distro/common/man/man1/knife-recipe-list.1 +133 -0
- data/distro/common/man/man1/knife-role.1 +367 -81
- data/distro/common/man/man1/knife-search.1 +267 -243
- data/distro/common/man/man1/knife-show.1 +138 -0
- data/distro/common/man/man1/knife-ssh.1 +241 -66
- data/distro/common/man/man1/knife-status.1 +202 -24
- data/distro/common/man/man1/knife-tag.1 +176 -39
- data/distro/common/man/man1/knife-upload.1 +239 -0
- data/distro/common/man/man1/knife-user.1 +317 -0
- data/distro/common/man/man1/knife-xargs.1 +166 -0
- data/distro/common/man/man1/knife.1 +227 -284
- data/distro/common/man/man8/chef-client.8 +247 -81
- data/distro/common/man/man8/chef-solo.8 +142 -110
- data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
- data/distro/common/markdown/man1/knife-configure.mkd +11 -11
- data/distro/common/markdown/man1/knife-cookbook.mkd +4 -4
- data/distro/common/markdown/man8/chef-expander.mkd +1 -1
- data/distro/common/markdown/man8/chef-expanderctl.mkd +1 -1
- data/distro/debian/etc/init.d/chef-client +1 -1
- data/distro/debian/etc/init.d/chef-expander +1 -1
- data/distro/debian/etc/init.d/chef-server +1 -1
- data/distro/debian/etc/init.d/chef-server-webui +1 -1
- data/distro/debian/etc/init.d/chef-solr +1 -1
- data/distro/debian/etc/init/chef-client.conf +1 -1
- data/distro/debian/etc/init/chef-expander.conf +1 -1
- data/distro/debian/etc/init/chef-server-webui.conf +1 -1
- data/distro/debian/etc/init/chef-server.conf +1 -1
- data/distro/debian/etc/init/chef-solr.conf +1 -1
- data/distro/redhat/etc/init.d/chef-client +1 -1
- data/distro/redhat/etc/init.d/chef-server +2 -2
- data/distro/redhat/etc/init.d/chef-server-webui +2 -2
- data/distro/redhat/etc/init.d/chef-solr +2 -2
- data/lib/chef/api_client.rb +20 -5
- data/lib/chef/application.rb +53 -22
- data/lib/chef/application/agent.rb +2 -2
- data/lib/chef/application/client.rb +34 -24
- data/lib/chef/application/knife.rb +10 -0
- data/lib/chef/application/solo.rb +9 -27
- data/lib/chef/application/windows_service.rb +24 -10
- data/lib/chef/application/windows_service_manager.rb +8 -0
- data/lib/chef/checksum/storage.rb +2 -2
- data/lib/chef/checksum/storage/filesystem.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
- data/lib/chef/chef_fs/command_line.rb +2 -1
- data/lib/chef/chef_fs/config.rb +19 -64
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system.rb +2 -2
- data/lib/chef/chef_fs/file_system/acl_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_acls_dir.rb +37 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +16 -8
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +19 -4
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +27 -12
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +31 -3
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +12 -5
- data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +12 -2
- data/lib/chef/chef_fs/file_system/cookbook_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/cookbook_file.rb +2 -5
- data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +21 -6
- data/lib/chef/chef_fs/file_system/data_bag_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/data_bags_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/file_system_entry.rb +15 -5
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -1
- data/lib/chef/chef_fs/file_system/nodes_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/operation_failed_error.rb +8 -0
- data/lib/chef/chef_fs/file_system/rest_list_dir.rb +4 -2
- data/lib/chef/chef_fs/file_system/rest_list_entry.rb +4 -6
- data/lib/chef/chef_fs/knife.rb +39 -22
- data/lib/chef/chef_fs/path_utils.rb +5 -0
- data/lib/chef/client.rb +9 -3
- data/lib/chef/config.rb +306 -115
- data/lib/chef/config_fetcher.rb +79 -0
- data/lib/chef/cookbook/file_vendor.rb +5 -5
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/cookbook/syntax_check.rb +6 -16
- data/lib/chef/cookbook_site_streaming_uploader.rb +8 -4
- data/lib/chef/cookbook_uploader.rb +10 -8
- data/lib/chef/cookbook_version.rb +24 -8
- data/lib/chef/daemon.rb +14 -75
- data/lib/chef/data_bag.rb +2 -3
- data/lib/chef/dsl/include_recipe.rb +2 -2
- data/lib/chef/event_dispatch/base.rb +1 -1
- data/lib/chef/event_dispatch/dispatcher.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +1 -1
- data/lib/chef/formatters/doc.rb +5 -5
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +2 -2
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
- data/lib/chef/handler/json_file.rb +2 -2
- data/lib/chef/http.rb +386 -0
- data/lib/chef/{rest → http}/auth_credentials.rb +1 -1
- data/lib/chef/http/authenticator.rb +89 -0
- data/lib/chef/http/basic_client.rb +114 -0
- data/lib/chef/{rest → http}/cookie_jar.rb +1 -1
- data/lib/chef/http/cookie_manager.rb +56 -0
- data/lib/chef/http/decompressor.rb +137 -0
- data/lib/chef/{rest/rest_request.rb → http/http_request.rb} +13 -74
- data/lib/chef/http/json_input.rb +53 -0
- data/lib/chef/http/json_output.rb +69 -0
- data/lib/chef/http/json_to_model_output.rb +34 -0
- data/lib/chef/http/simple.rb +16 -0
- data/lib/chef/http/ssl_policies.rb +129 -0
- data/lib/chef/knife.rb +45 -23
- data/lib/chef/knife/bootstrap.rb +10 -3
- data/lib/chef/knife/bootstrap/chef-full.erb +10 -1
- data/lib/chef/knife/client_create.rb +1 -1
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_create.rb +7 -7
- data/lib/chef/knife/cookbook_download.rb +2 -2
- data/lib/chef/knife/cookbook_metadata_from_file.rb +2 -2
- data/lib/chef/knife/cookbook_show.rb +3 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/cookbook_site_list.rb +2 -2
- data/lib/chef/knife/cookbook_site_search.rb +3 -3
- data/lib/chef/knife/cookbook_site_show.rb +5 -5
- data/lib/chef/knife/core/bootstrap_context.rb +7 -3
- data/lib/chef/knife/core/node_editor.rb +16 -36
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +5 -5
- data/lib/chef/knife/core/ui.rb +9 -13
- data/lib/chef/knife/data_bag_create.rb +7 -5
- data/lib/chef/knife/data_bag_delete.rb +3 -3
- data/lib/chef/knife/data_bag_edit.rb +9 -7
- data/lib/chef/knife/data_bag_from_file.rb +10 -8
- data/lib/chef/knife/data_bag_list.rb +2 -2
- data/lib/chef/knife/data_bag_show.rb +9 -7
- data/lib/chef/knife/delete.rb +2 -0
- data/lib/chef/knife/deps.rb +2 -0
- data/lib/chef/knife/diff.rb +6 -0
- data/lib/chef/knife/download.rb +6 -0
- data/lib/chef/knife/edit.rb +5 -8
- data/lib/chef/knife/environment_from_file.rb +2 -2
- data/lib/chef/knife/help_topics.rb +1 -1
- data/lib/chef/knife/index_rebuild.rb +2 -2
- data/lib/chef/knife/list.rb +2 -0
- data/lib/chef/knife/raw.rb +31 -5
- data/lib/chef/knife/show.rb +2 -0
- data/lib/chef/knife/ssh.rb +21 -7
- data/lib/chef/knife/status.rb +1 -1
- data/lib/chef/knife/upload.rb +2 -0
- data/lib/chef/knife/xargs.rb +2 -0
- data/lib/chef/mixin/checksum.rb +2 -2
- data/lib/chef/mixin/command.rb +46 -17
- data/lib/chef/mixin/convert_to_class_name.rb +8 -8
- data/lib/chef/mixin/create_path.rb +9 -9
- data/lib/chef/mixin/deep_merge.rb +2 -2
- data/lib/chef/mixin/from_file.rb +6 -6
- data/lib/chef/mixin/language_include_recipe.rb +2 -2
- data/lib/chef/mixin/params_validate.rb +21 -21
- data/lib/chef/mixin/shell_out.rb +9 -0
- data/lib/chef/mixin/template.rb +13 -16
- data/lib/chef/mixin/why_run.rb +16 -16
- data/lib/chef/mixin/windows_architecture_helper.rb +5 -5
- data/lib/chef/mixin/xml_escape.rb +10 -10
- data/lib/chef/monkey_patches/numeric.rb +1 -1
- data/lib/chef/monkey_patches/regexp.rb +4 -4
- data/lib/chef/monkey_patches/string.rb +3 -3
- data/lib/chef/monkey_patches/tempfile.rb +2 -2
- data/lib/chef/node.rb +8 -0
- data/lib/chef/node/attribute.rb +1 -1
- data/lib/chef/platform/provider_mapping.rb +26 -1
- data/lib/chef/provider/batch.rb +3 -3
- data/lib/chef/provider/cron.rb +27 -13
- data/lib/chef/provider/cron/aix.rb +48 -0
- data/lib/chef/provider/cron/solaris.rb +6 -40
- data/lib/chef/provider/cron/unix.rb +76 -0
- data/lib/chef/provider/deploy/timestamped.rb +4 -4
- data/lib/chef/provider/erl_call.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -2
- data/lib/chef/provider/git.rb +1 -0
- data/lib/chef/provider/group.rb +21 -21
- data/lib/chef/provider/group/dscl.rb +9 -9
- data/lib/chef/provider/group/gpasswd.rb +5 -5
- data/lib/chef/provider/group/groupadd.rb +11 -10
- data/lib/chef/provider/group/pw.rb +11 -11
- data/lib/chef/provider/group/suse.rb +4 -4
- data/lib/chef/provider/group/usermod.rb +8 -8
- data/lib/chef/provider/group/windows.rb +9 -9
- data/lib/chef/provider/http_request.rb +8 -8
- data/lib/chef/provider/ifconfig.rb +57 -37
- data/lib/chef/provider/ifconfig/aix.rb +99 -0
- data/lib/chef/provider/log.rb +3 -3
- data/lib/chef/provider/mdadm.rb +5 -4
- data/lib/chef/provider/mount.rb +12 -12
- data/lib/chef/provider/mount/aix.rb +179 -0
- data/lib/chef/provider/mount/mount.rb +29 -15
- data/lib/chef/provider/package.rb +26 -16
- data/lib/chef/provider/package/aix.rb +146 -0
- data/lib/chef/provider/package/apt.rb +16 -31
- data/lib/chef/provider/package/dpkg.rb +9 -9
- data/lib/chef/provider/package/freebsd.rb +2 -2
- data/lib/chef/provider/package/ips.rb +3 -3
- data/lib/chef/provider/package/macports.rb +1 -1
- data/lib/chef/provider/package/pacman.rb +8 -8
- data/lib/chef/provider/package/rpm.rb +14 -14
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/smartos.rb +3 -3
- data/lib/chef/provider/package/solaris.rb +16 -6
- data/lib/chef/provider/package/yum-dump.py +4 -4
- data/lib/chef/provider/package/yum.rb +3 -3
- data/lib/chef/provider/powershell_script.rb +7 -7
- data/lib/chef/provider/remote_file/ftp.rb +1 -0
- data/lib/chef/provider/remote_file/http.rb +6 -13
- data/lib/chef/provider/remote_file/local_file.rb +1 -0
- data/lib/chef/provider/resource_update.rb +9 -9
- data/lib/chef/provider/ruby_block.rb +3 -3
- data/lib/chef/provider/script.rb +1 -1
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/debian.rb +35 -15
- data/lib/chef/provider/service/freebsd.rb +9 -9
- data/lib/chef/provider/service/gentoo.rb +4 -4
- data/lib/chef/provider/service/init.rb +1 -1
- data/lib/chef/provider/service/insserv.rb +2 -2
- data/lib/chef/provider/service/invokercd.rb +1 -1
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +6 -6
- data/lib/chef/provider/service/solaris.rb +1 -1
- data/lib/chef/provider/service/systemd.rb +3 -3
- data/lib/chef/provider/service/upstart.rb +15 -15
- data/lib/chef/provider/subversion.rb +6 -5
- data/lib/chef/provider/user.rb +13 -9
- data/lib/chef/provider/user/dscl.rb +28 -28
- data/lib/chef/provider/user/pw.rb +11 -11
- data/lib/chef/provider/user/useradd.rb +1 -1
- data/lib/chef/provider/user/windows.rb +7 -7
- data/lib/chef/provider/windows_script.rb +7 -7
- data/lib/chef/providers.rb +4 -0
- data/lib/chef/recipe.rb +2 -19
- data/lib/chef/resource/apt_package.rb +3 -3
- data/lib/chef/resource/bash.rb +3 -3
- data/lib/chef/resource/batch.rb +4 -4
- data/lib/chef/resource/bff_package.rb +36 -0
- data/lib/chef/resource/breakpoint.rb +3 -3
- data/lib/chef/resource/cron.rb +5 -5
- data/lib/chef/resource/csh.rb +3 -3
- data/lib/chef/resource/deploy.rb +16 -3
- data/lib/chef/resource/deploy_revision.rb +6 -6
- data/lib/chef/resource/directory.rb +2 -2
- data/lib/chef/resource/dpkg_package.rb +4 -4
- data/lib/chef/resource/easy_install_package.rb +1 -1
- data/lib/chef/resource/erl_call.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +4 -4
- data/lib/chef/resource/group.rb +15 -6
- data/lib/chef/resource/http_request.rb +6 -6
- data/lib/chef/resource/ifconfig.rb +4 -4
- data/lib/chef/resource/ips_package.rb +2 -2
- data/lib/chef/resource/log.rb +12 -11
- data/lib/chef/resource/macports_package.rb +2 -2
- data/lib/chef/resource/mount.rb +11 -12
- data/lib/chef/resource/ohai.rb +3 -3
- data/lib/chef/resource/pacman_package.rb +4 -4
- data/lib/chef/resource/perl.rb +3 -3
- data/lib/chef/resource/portage_package.rb +4 -4
- data/lib/chef/resource/powershell_script.rb +3 -3
- data/lib/chef/resource/python.rb +3 -3
- data/lib/chef/resource/route.rb +4 -4
- data/lib/chef/resource/rpm_package.rb +2 -2
- data/lib/chef/resource/ruby.rb +3 -3
- data/lib/chef/resource/ruby_block.rb +3 -3
- data/lib/chef/resource/scm.rb +10 -2
- data/lib/chef/resource/script.rb +5 -5
- data/lib/chef/resource/service.rb +5 -5
- data/lib/chef/resource/smartos_package.rb +8 -6
- data/lib/chef/resource/solaris_package.rb +8 -7
- data/lib/chef/resource/subversion.rb +3 -3
- data/lib/chef/resource/timestamped_deploy.rb +4 -4
- data/lib/chef/resource/user.rb +13 -13
- data/lib/chef/resource/windows_script.rb +6 -6
- data/lib/chef/resource/yum_package.rb +2 -2
- data/lib/chef/resource_collection.rb +1 -1
- data/lib/chef/resource_collection/stepable_iterator.rb +22 -22
- data/lib/chef/resource_definition.rb +8 -8
- data/lib/chef/resource_definition_list.rb +2 -2
- data/lib/chef/resource_reporter.rb +8 -2
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/rest.rb +70 -334
- data/lib/chef/role.rb +17 -13
- data/lib/chef/run_context.rb +14 -0
- data/lib/chef/run_context/cookbook_compiler.rb +3 -3
- data/lib/chef/run_lock.rb +73 -20
- data/lib/chef/server_api.rb +41 -0
- data/lib/chef/shell.rb +3 -19
- data/lib/chef/shell/shell_session.rb +1 -1
- data/lib/chef/streaming_cookbook_uploader.rb +30 -26
- data/lib/chef/tasks/chef_repo.rake +17 -17
- data/lib/chef/util/backup.rb +2 -1
- data/lib/chef/util/diff.rb +76 -33
- data/lib/chef/util/windows.rb +2 -2
- data/lib/chef/util/windows/net_group.rb +2 -2
- data/lib/chef/util/windows/net_use.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +3 -3
- data/lib/chef/util/windows/volume.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/file.rb +1 -1
- data/lib/chef/win32/api/synchronization.rb +89 -0
- data/lib/chef/win32/handle.rb +1 -1
- data/lib/chef/win32/mutex.rb +94 -0
- data/lib/chef/win32/security/ace.rb +1 -1
- data/lib/chef/win32/security/sid.rb +1 -1
- data/lib/chef/win32/version.rb +5 -3
- data/spec/data/bootstrap/no_proxy.erb +2 -0
- data/spec/data/cookbooks/openldap/metadata.rb +8 -0
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -0
- data/spec/data/trusted_certs/example.crt +22 -0
- data/spec/data/trusted_certs/intermediate.pem +27 -0
- data/spec/data/trusted_certs/opscode.pem +38 -0
- data/spec/data/trusted_certs/root.pem +22 -0
- data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
- data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
- data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
- data/spec/functional/knife/cookbook_delete_spec.rb +4 -7
- data/spec/functional/knife/exec_spec.rb +0 -3
- data/spec/functional/knife/ssh_spec.rb +2 -6
- data/spec/functional/resource/base.rb +41 -0
- data/spec/functional/resource/batch_spec.rb +6 -33
- data/spec/functional/resource/bff_spec.rb +122 -0
- data/spec/functional/resource/cron_spec.rb +147 -0
- data/spec/functional/resource/group_spec.rb +204 -0
- data/spec/functional/resource/ifconfig_spec.rb +163 -0
- data/spec/functional/resource/link_spec.rb +4 -4
- data/spec/functional/resource/mount_spec.rb +207 -0
- data/spec/functional/resource/package_spec.rb +95 -17
- data/spec/functional/resource/powershell_spec.rb +21 -22
- data/spec/functional/resource/registry_spec.rb +5 -19
- data/spec/functional/resource/remote_file_spec.rb +14 -0
- data/spec/functional/resource/rpm_spec.rb +122 -0
- data/spec/functional/resource/template_spec.rb +11 -44
- data/spec/functional/resource/user_spec.rb +2 -1
- data/spec/functional/run_lock_spec.rb +48 -5
- data/spec/functional/shell_spec.rb +46 -26
- data/spec/functional/tiny_server_spec.rb +2 -2
- data/spec/functional/version_spec.rb +35 -0
- data/spec/functional/win32/versions_spec.rb +3 -3
- data/spec/integration/client/client_spec.rb +146 -0
- data/spec/integration/knife/chef_fs_data_store_spec.rb +353 -0
- data/spec/integration/knife/chef_repo_path_spec.rb +72 -19
- data/spec/integration/knife/common_options_spec.rb +103 -0
- data/spec/integration/knife/download_spec.rb +38 -2
- data/spec/integration/knife/raw_spec.rb +63 -0
- data/spec/integration/knife/upload_spec.rb +20 -4
- data/spec/integration/solo/solo_spec.rb +78 -25
- data/spec/spec_helper.rb +35 -1
- data/spec/support/lib/chef/provider/easy.rb +4 -4
- data/spec/support/lib/chef/provider/snakeoil.rb +4 -4
- data/spec/support/lib/chef/resource/cat.rb +5 -5
- data/spec/support/lib/chef/resource/with_state.rb +37 -0
- data/spec/support/lib/library_load_order.rb +22 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/shared/functional/file_resource.rb +4 -22
- data/spec/support/shared/functional/windows_script.rb +48 -0
- data/spec/support/shared/integration/integration_helper.rb +5 -22
- data/spec/support/shared/integration/knife_support.rb +3 -3
- data/spec/support/shared/unit/script_resource.rb +7 -7
- data/spec/support/shared/unit/windows_script_resource.rb +7 -7
- data/spec/tiny_server.rb +2 -2
- data/spec/unit/api_client/registration_spec.rb +1 -1
- data/spec/unit/api_client_spec.rb +25 -2
- data/spec/unit/application/apply.rb +1 -9
- data/spec/unit/application/client_spec.rb +19 -44
- data/spec/unit/application/solo_spec.rb +10 -50
- data/spec/unit/application_spec.rb +51 -80
- data/spec/unit/checksum/storage/filesystem_spec.rb +3 -2
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -0
- data/spec/unit/chef_spec.rb +2 -2
- data/spec/unit/client_spec.rb +2 -18
- data/spec/unit/config_fetcher_spec.rb +98 -0
- data/spec/unit/config_spec.rb +107 -29
- data/spec/unit/cookbook/metadata_spec.rb +50 -50
- data/spec/unit/cookbook/synchronizer_spec.rb +3 -3
- data/spec/unit/cookbook/syntax_check_spec.rb +1 -2
- data/spec/unit/cookbook_loader_spec.rb +28 -12
- data/spec/unit/cookbook_manifest_spec.rb +11 -11
- data/spec/unit/cookbook_site_streaming_uploader.rb +200 -0
- data/spec/unit/cookbook_version_spec.rb +16 -0
- data/spec/unit/daemon_spec.rb +0 -132
- data/spec/unit/data_bag_item_spec.rb +6 -6
- data/spec/unit/data_bag_spec.rb +6 -8
- data/spec/unit/digester_spec.rb +2 -2
- data/spec/unit/encrypted_data_bag_item_spec.rb +0 -15
- data/spec/unit/file_cache_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +2 -2
- data/spec/unit/handler_spec.rb +5 -5
- data/spec/unit/http/ssl_policies_spec.rb +170 -0
- data/spec/unit/knife/bootstrap_spec.rb +31 -14
- data/spec/unit/knife/client_bulk_delete_spec.rb +8 -8
- data/spec/unit/knife/client_create_spec.rb +2 -2
- data/spec/unit/knife/client_delete_spec.rb +2 -2
- data/spec/unit/knife/client_edit_spec.rb +2 -2
- data/spec/unit/knife/client_list_spec.rb +2 -2
- data/spec/unit/knife/client_reregister_spec.rb +2 -2
- data/spec/unit/knife/client_show_spec.rb +2 -2
- data/spec/unit/knife/config_file_selection_spec.rb +53 -36
- data/spec/unit/knife/configure_spec.rb +0 -6
- data/spec/unit/knife/cookbook_create_spec.rb +1 -12
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +3 -3
- data/spec/unit/knife/cookbook_site_install_spec.rb +1 -1
- data/spec/unit/knife/core/bootstrap_context_spec.rb +10 -2
- data/spec/unit/knife/core/ui_spec.rb +118 -0
- data/spec/unit/knife/data_bag_show_spec.rb +2 -2
- data/spec/unit/knife/environment_from_file_spec.rb +2 -2
- data/spec/unit/knife/index_rebuild_spec.rb +1 -1
- data/spec/unit/knife/node_delete_spec.rb +3 -3
- data/spec/unit/knife/node_edit_spec.rb +35 -8
- data/spec/unit/knife/node_list_spec.rb +3 -3
- data/spec/unit/knife/node_run_list_add_spec.rb +3 -3
- data/spec/unit/knife/node_show_spec.rb +3 -3
- data/spec/unit/knife/role_create_spec.rb +3 -3
- data/spec/unit/knife/role_delete_spec.rb +3 -3
- data/spec/unit/knife/role_list_spec.rb +2 -2
- data/spec/unit/knife/ssh_spec.rb +1 -8
- data/spec/unit/knife_spec.rb +0 -2
- data/spec/unit/log_spec.rb +2 -2
- data/spec/unit/mash_spec.rb +2 -2
- data/spec/unit/mixin/checksum_spec.rb +3 -3
- data/spec/unit/mixin/command_spec.rb +1 -1
- data/spec/unit/mixin/convert_to_class_name_spec.rb +7 -7
- data/spec/unit/mixin/deprecation_spec.rb +2 -2
- data/spec/unit/mixin/params_validate_spec.rb +72 -72
- data/spec/unit/mixin/securable_spec.rb +0 -14
- data/spec/unit/mixin/shell_out_spec.rb +1 -1
- data/spec/unit/mixin/template_spec.rb +34 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
- data/spec/unit/mixin/xml_escape_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +11 -11
- data/spec/unit/node/immutable_collections_spec.rb +2 -2
- data/spec/unit/node_spec.rb +5 -0
- data/spec/unit/platform_spec.rb +36 -35
- data/spec/unit/provider/cron/{solaris_spec.rb → unix_spec.rb} +6 -6
- data/spec/unit/provider/cron_spec.rb +21 -3
- data/spec/unit/provider/deploy/timestamped_spec.rb +5 -5
- data/spec/unit/provider/deploy_spec.rb +21 -7
- data/spec/unit/provider/env_spec.rb +2 -2
- data/spec/unit/provider/execute_spec.rb +2 -2
- data/spec/unit/provider/file/content_spec.rb +0 -8
- data/spec/unit/provider/git_spec.rb +29 -9
- data/spec/unit/provider/group/dscl_spec.rb +12 -12
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupadd_spec.rb +14 -0
- data/spec/unit/provider/group/groupmod_spec.rb +13 -13
- data/spec/unit/provider/group/pw_spec.rb +16 -16
- data/spec/unit/provider/group/usermod_spec.rb +10 -9
- data/spec/unit/provider/group/windows_spec.rb +14 -0
- data/spec/unit/provider/group_spec.rb +29 -29
- data/spec/unit/provider/http_request_spec.rb +15 -15
- data/spec/unit/provider/ifconfig/aix_spec.rb +180 -0
- data/spec/unit/provider/ifconfig_spec.rb +9 -9
- data/spec/unit/provider/link_spec.rb +2 -2
- data/spec/unit/provider/log_spec.rb +8 -8
- data/spec/unit/provider/mdadm_spec.rb +14 -11
- data/spec/unit/provider/mount/aix_spec.rb +237 -0
- data/spec/unit/provider/mount/mount_spec.rb +2 -0
- data/spec/unit/provider/mount/windows_spec.rb +2 -2
- data/spec/unit/provider/mount_spec.rb +6 -6
- data/spec/unit/provider/package/aix_spec.rb +171 -0
- data/spec/unit/provider/package/apt_spec.rb +130 -171
- data/spec/unit/provider/package/dpkg_spec.rb +3 -3
- data/spec/unit/provider/package/freebsd_spec.rb +28 -0
- data/spec/unit/provider/package/ips_spec.rb +1 -1
- data/spec/unit/provider/package/rpm_spec.rb +15 -15
- data/spec/unit/provider/package/smartos_spec.rb +21 -3
- data/spec/unit/provider/package_spec.rb +4 -2
- data/spec/unit/provider/powershell_spec.rb +3 -3
- data/spec/unit/provider/remote_directory_spec.rb +2 -2
- data/spec/unit/provider/remote_file/ftp_spec.rb +0 -5
- data/spec/unit/provider/remote_file/http_spec.rb +12 -28
- data/spec/unit/provider/remote_file/local_file_spec.rb +2 -1
- data/spec/unit/provider/route_spec.rb +2 -2
- data/spec/unit/provider/ruby_block_spec.rb +2 -2
- data/spec/unit/provider/service/arch_service_spec.rb +17 -17
- data/spec/unit/provider/service/debian_service_spec.rb +242 -152
- data/spec/unit/provider/service/freebsd_service_spec.rb +9 -9
- data/spec/unit/provider/service/gentoo_service_spec.rb +9 -9
- data/spec/unit/provider/service/init_service_spec.rb +11 -11
- data/spec/unit/provider/service/insserv_service_spec.rb +5 -5
- data/spec/unit/provider/service/invokercd_service_spec.rb +10 -10
- data/spec/unit/provider/service/redhat_spec.rb +6 -6
- data/spec/unit/provider/service/simple_service_spec.rb +6 -6
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_service_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
- data/spec/unit/provider/service/windows_spec.rb +7 -7
- data/spec/unit/provider/subversion_spec.rb +1 -1
- data/spec/unit/provider/user/dscl_spec.rb +21 -21
- data/spec/unit/provider/user/pw_spec.rb +2 -2
- data/spec/unit/provider/user/windows_spec.rb +5 -5
- data/spec/unit/provider/user_spec.rb +39 -47
- data/spec/unit/resource/apt_package_spec.rb +6 -6
- data/spec/unit/resource/bash_spec.rb +5 -5
- data/spec/unit/resource/batch_spec.rb +7 -7
- data/spec/unit/resource/breakpoint_spec.rb +8 -8
- data/spec/unit/resource/chef_gem_spec.rb +6 -6
- data/spec/unit/resource/cookbook_file_spec.rb +11 -11
- data/spec/unit/resource/cron_spec.rb +15 -15
- data/spec/unit/resource/csh_spec.rb +5 -5
- data/spec/unit/resource/deploy_revision_spec.rb +6 -6
- data/spec/unit/resource/deploy_spec.rb +50 -36
- data/spec/unit/resource/directory_spec.rb +1 -1
- data/spec/unit/resource/dpkg_package_spec.rb +6 -6
- data/spec/unit/resource/env_spec.rb +1 -1
- data/spec/unit/resource/erl_call_spec.rb +1 -1
- data/spec/unit/resource/freebsd_package_spec.rb +6 -6
- data/spec/unit/resource/gem_package_spec.rb +6 -6
- data/spec/unit/resource/git_spec.rb +8 -8
- data/spec/unit/resource/group_spec.rb +11 -11
- data/spec/unit/resource/http_request_spec.rb +7 -7
- data/spec/unit/resource/ifconfig_spec.rb +1 -1
- data/spec/unit/resource/ips_package_spec.rb +6 -6
- data/spec/unit/resource/link_spec.rb +1 -1
- data/spec/unit/resource/log_spec.rb +13 -10
- data/spec/unit/resource/macports_package_spec.rb +2 -2
- data/spec/unit/resource/mdadm_spec.rb +3 -3
- data/spec/unit/resource/mount_spec.rb +13 -13
- data/spec/unit/resource/ohai_spec.rb +1 -1
- data/spec/unit/resource/package_spec.rb +6 -6
- data/spec/unit/resource/pacman_package_spec.rb +6 -6
- data/spec/unit/resource/perl_spec.rb +5 -5
- data/spec/unit/resource/portage_package_spec.rb +6 -6
- data/spec/unit/resource/powershell_spec.rb +5 -5
- data/spec/unit/resource/python_spec.rb +5 -5
- data/spec/unit/resource/registry_key_spec.rb +2 -2
- data/spec/unit/resource/remote_directory_spec.rb +9 -9
- data/spec/unit/resource/remote_file_spec.rb +4 -4
- data/spec/unit/resource/route_spec.rb +13 -13
- data/spec/unit/resource/rpm_package_spec.rb +2 -2
- data/spec/unit/resource/ruby_block_spec.rb +4 -4
- data/spec/unit/resource/ruby_spec.rb +5 -5
- data/spec/unit/resource/scm_spec.rb +14 -1
- data/spec/unit/resource/script_spec.rb +5 -5
- data/spec/unit/resource/service_spec.rb +18 -18
- data/spec/unit/resource/smartos_package_spec.rb +6 -6
- data/spec/unit/resource/solaris_package_spec.rb +57 -0
- data/spec/unit/resource/subversion_spec.rb +6 -6
- data/spec/unit/resource/timestamped_deploy_spec.rb +4 -4
- data/spec/unit/resource/user_spec.rb +13 -13
- data/spec/unit/resource/yum_package_spec.rb +7 -7
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +21 -21
- data/spec/unit/resource_definition_spec.rb +23 -23
- data/spec/unit/resource_reporter_spec.rb +27 -0
- data/spec/unit/rest/auth_credentials_spec.rb +0 -94
- data/spec/unit/rest_spec.rb +117 -99
- data/spec/unit/role_spec.rb +57 -4
- data/spec/unit/run_context/cookbook_compiler_spec.rb +4 -20
- data/spec/unit/run_context_spec.rb +44 -3
- data/spec/unit/run_list/run_list_item_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +6 -3
- data/spec/unit/scan_access_control_spec.rb +2 -2
- data/spec/unit/search/query_spec.rb +3 -3
- data/spec/unit/util/backup_spec.rb +6 -13
- data/spec/unit/util/diff_spec.rb +36 -53
- data/spec/unit/version/platform_spec.rb +3 -3
- data/spec/unit/version_class_spec.rb +5 -5
- data/spec/unit/version_constraint/platform_spec.rb +2 -2
- data/spec/unit/windows_service_spec.rb +54 -0
- metadata +290 -108
- checksums.yaml +0 -7
- data/distro/common/man/man1/knife-index.1 +0 -29
- data/distro/common/man/man8/chef-expander.8 +0 -97
- data/distro/common/man/man8/chef-expanderctl.8 +0 -62
- data/distro/common/man/man8/chef-server-webui.8 +0 -155
- data/distro/common/man/man8/chef-server.8 +0 -147
- data/distro/common/man/man8/chef-solr.8 +0 -122
- data/lib/chef/chef_fs/raw_request.rb +0 -79
@@ -0,0 +1,76 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Bryan McLellan (btm@loftninjas.org)
|
3
|
+
# Author:: Toomas Pelberg (toomasp@gmx.net)
|
4
|
+
# Copyright:: Copyright (c) 2009 Bryan McLellan
|
5
|
+
# Copyright:: Copyright (c) 2010 Toomas Pelberg
|
6
|
+
# License:: Apache License, Version 2.0
|
7
|
+
#
|
8
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
9
|
+
# you may not use this file except in compliance with the License.
|
10
|
+
# You may obtain a copy of the License at
|
11
|
+
#
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
13
|
+
#
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17
|
+
# See the License for the specific language governing permissions and
|
18
|
+
# limitations under the License.
|
19
|
+
#
|
20
|
+
|
21
|
+
require 'chef/log'
|
22
|
+
require 'chef/provider'
|
23
|
+
|
24
|
+
class Chef
|
25
|
+
class Provider
|
26
|
+
class Cron
|
27
|
+
class Unix < Chef::Provider::Cron
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def read_crontab
|
32
|
+
crontab = nil
|
33
|
+
status = popen4("crontab -l #{@new_resource.user}") do |pid, stdin, stdout, stderr|
|
34
|
+
crontab = stdout.read
|
35
|
+
end
|
36
|
+
if status.exitstatus > 1
|
37
|
+
raise Chef::Exceptions::Cron, "Error determining state of #{@new_resource.name}, exit: #{status.exitstatus}"
|
38
|
+
end
|
39
|
+
crontab
|
40
|
+
end
|
41
|
+
|
42
|
+
def write_crontab(crontab)
|
43
|
+
tempcron = Tempfile.new("chef-cron")
|
44
|
+
tempcron << crontab
|
45
|
+
tempcron.flush
|
46
|
+
tempcron.chmod(0644)
|
47
|
+
exit_status = 0
|
48
|
+
error_message = ""
|
49
|
+
begin
|
50
|
+
status, stdout, stderr = run_command_and_return_stdout_stderr(:command => "/usr/bin/crontab #{tempcron.path}",:user => @new_resource.user)
|
51
|
+
exit_status = status.exitstatus
|
52
|
+
# solaris9, 10 on some failures for example invalid 'mins' in crontab fails with exit code of zero :(
|
53
|
+
if stderr && stderr.include?("errors detected in input, no crontab file generated")
|
54
|
+
error_message = stderr
|
55
|
+
exit_status = 1
|
56
|
+
end
|
57
|
+
rescue Chef::Exceptions::Exec => e
|
58
|
+
Chef::Log.debug(e.message)
|
59
|
+
exit_status = 1
|
60
|
+
error_message = e.message
|
61
|
+
rescue ArgumentError => e
|
62
|
+
# usually raised on invalid user.
|
63
|
+
Chef::Log.debug(e.message)
|
64
|
+
exit_status = 1
|
65
|
+
error_message = e.message
|
66
|
+
end
|
67
|
+
tempcron.close!
|
68
|
+
if exit_status > 0
|
69
|
+
raise Chef::Exceptions::Cron, "Error updating state of #{@new_resource.name}, exit: #{exit_status}, message: #{error_message}"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -20,9 +20,9 @@ class Chef
|
|
20
20
|
class Provider
|
21
21
|
class Deploy
|
22
22
|
class Timestamped < Chef::Provider::Deploy
|
23
|
-
|
23
|
+
|
24
24
|
protected
|
25
|
-
|
25
|
+
|
26
26
|
def release_slug
|
27
27
|
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
28
28
|
end
|
@@ -29,7 +29,7 @@ class Chef
|
|
29
29
|
def load_current_resource
|
30
30
|
true
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
def whyrun_supported?
|
34
34
|
true
|
35
35
|
end
|
@@ -56,7 +56,7 @@ class Chef
|
|
56
56
|
if STDOUT.tty? && !Chef::Config[:daemon] && Chef::Log.info?
|
57
57
|
opts[:live_stream] = STDOUT
|
58
58
|
end
|
59
|
-
converge_by("execute #{@new_resource.command}") do
|
59
|
+
converge_by("execute #{@new_resource.command}") do
|
60
60
|
result = shell_out!(@new_resource.command, opts)
|
61
61
|
Chef::Log.info("#{@new_resource} ran successfully")
|
62
62
|
end
|
data/lib/chef/provider/git.rb
CHANGED
@@ -273,6 +273,7 @@ class Chef
|
|
273
273
|
run_opts[:group] = @new_resource.group if @new_resource.group
|
274
274
|
run_opts[:environment] = {"GIT_SSH" => @new_resource.ssh_wrapper} if @new_resource.ssh_wrapper
|
275
275
|
run_opts[:log_tag] = @new_resource.to_s
|
276
|
+
run_opts[:timeout] = @new_resource.timeout if @new_resource.timeout
|
276
277
|
run_opts
|
277
278
|
end
|
278
279
|
|
data/lib/chef/provider/group.rb
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -35,11 +35,11 @@ class Chef
|
|
35
35
|
super
|
36
36
|
@group_exists = true
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
def load_current_resource
|
40
40
|
@current_resource = Chef::Resource::Group.new(@new_resource.name)
|
41
41
|
@current_resource.group_name(@new_resource.group_name)
|
42
|
-
|
42
|
+
|
43
43
|
group_info = nil
|
44
44
|
begin
|
45
45
|
group_info = Etc.getgrnam(@new_resource.group_name)
|
@@ -47,26 +47,26 @@ class Chef
|
|
47
47
|
@group_exists = false
|
48
48
|
Chef::Log.debug("#{@new_resource} group does not exist")
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
if group_info
|
52
52
|
@new_resource.gid(group_info.gid) unless @new_resource.gid
|
53
53
|
@current_resource.gid(group_info.gid)
|
54
54
|
@current_resource.members(group_info.mem)
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
@current_resource
|
58
58
|
end
|
59
59
|
|
60
60
|
def define_resource_requirements
|
61
|
-
requirements.assert(:modify) do |a|
|
62
|
-
a.assertion { @group_exists }
|
61
|
+
requirements.assert(:modify) do |a|
|
62
|
+
a.assertion { @group_exists }
|
63
63
|
a.failure_message(Chef::Exceptions::Group, "Cannot modify #{@new_resource} - group does not exist!")
|
64
64
|
a.whyrun("Group #{@new_resource} does not exist. Unless it would have been created earlier in this run, this attempt to modify it would fail.")
|
65
65
|
end
|
66
66
|
end
|
67
|
-
|
68
|
-
# Check to see if a group needs any changes. Populate
|
69
|
-
# @change_desc with a description of why a change must occur
|
67
|
+
|
68
|
+
# Check to see if a group needs any changes. Populate
|
69
|
+
# @change_desc with a description of why a change must occur
|
70
70
|
#
|
71
71
|
# ==== Returns
|
72
72
|
# <true>:: If a change is required
|
@@ -77,7 +77,7 @@ class Chef
|
|
77
77
|
@change_desc = "change gid #{@current_resource.gid} to #{@new_resource.gid}"
|
78
78
|
return true
|
79
79
|
end
|
80
|
-
|
80
|
+
|
81
81
|
if(@new_resource.append)
|
82
82
|
missing_members = []
|
83
83
|
@new_resource.members.each do |member|
|
@@ -96,24 +96,24 @@ class Chef
|
|
96
96
|
end
|
97
97
|
return false
|
98
98
|
end
|
99
|
-
|
99
|
+
|
100
100
|
def action_create
|
101
101
|
case @group_exists
|
102
102
|
when false
|
103
|
-
converge_by("create #{@new_resource}") do
|
103
|
+
converge_by("create #{@new_resource}") do
|
104
104
|
create_group
|
105
105
|
Chef::Log.info("#{@new_resource} created")
|
106
106
|
end
|
107
|
-
else
|
107
|
+
else
|
108
108
|
if compare_group
|
109
|
-
converge_by(["alter group #{@new_resource}", @change_desc ]) do
|
109
|
+
converge_by(["alter group #{@new_resource}", @change_desc ]) do
|
110
110
|
manage_group
|
111
111
|
Chef::Log.info("#{@new_resource} altered")
|
112
112
|
end
|
113
113
|
end
|
114
114
|
end
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
def action_remove
|
118
118
|
if @group_exists
|
119
119
|
converge_by("remove group #{@new_resource}") do
|
@@ -122,16 +122,16 @@ class Chef
|
|
122
122
|
end
|
123
123
|
end
|
124
124
|
end
|
125
|
-
|
125
|
+
|
126
126
|
def action_manage
|
127
127
|
if @group_exists && compare_group
|
128
128
|
converge_by(["manage group #{@new_resource}", @change_desc]) do
|
129
|
-
manage_group
|
129
|
+
manage_group
|
130
130
|
Chef::Log.info("#{@new_resource} managed")
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
134
|
-
|
134
|
+
|
135
135
|
def action_modify
|
136
136
|
if compare_group
|
137
137
|
converge_by(["modify group #{@new_resource}", @change_desc]) do
|
@@ -140,7 +140,7 @@ class Chef
|
|
140
140
|
end
|
141
141
|
end
|
142
142
|
end
|
143
|
-
|
143
|
+
|
144
144
|
def create_group
|
145
145
|
raise NotImplementedError, "subclasses of Chef::Provider::Group should define #create_group"
|
146
146
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -38,7 +38,7 @@ class Chef
|
|
38
38
|
raise(Chef::Exceptions::Group,"dscl error: #{result.inspect}") if result[2] =~ /No such key: /
|
39
39
|
return result[2]
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
# This is handled in providers/group.rb by Etc.getgrnam()
|
43
43
|
# def group_exists?(group)
|
44
44
|
# groups = safe_dscl("list /Groups")
|
@@ -86,8 +86,8 @@ class Chef
|
|
86
86
|
|
87
87
|
def define_resource_requirements
|
88
88
|
super
|
89
|
-
requirements.assert(:all_actions) do |a|
|
90
|
-
a.assertion { ::File.exists?("/usr/bin/dscl") }
|
89
|
+
requirements.assert(:all_actions) do |a|
|
90
|
+
a.assertion { ::File.exists?("/usr/bin/dscl") }
|
91
91
|
a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/bin/dscl for #{@new_resource.name}"
|
92
92
|
# No whyrun alternative: this component should be available in the base install of any given system that uses it
|
93
93
|
end
|
@@ -96,13 +96,13 @@ class Chef
|
|
96
96
|
def load_current_resource
|
97
97
|
super
|
98
98
|
end
|
99
|
-
|
99
|
+
|
100
100
|
def create_group
|
101
101
|
dscl_create_group
|
102
102
|
set_gid
|
103
103
|
set_members
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
def manage_group
|
107
107
|
if @new_resource.group_name && (@current_resource.group_name != @new_resource.group_name)
|
108
108
|
dscl_create_group
|
@@ -114,12 +114,12 @@ class Chef
|
|
114
114
|
set_members
|
115
115
|
end
|
116
116
|
end
|
117
|
-
|
117
|
+
|
118
118
|
def dscl_create_group
|
119
119
|
safe_dscl("create /Groups/#{@new_resource.group_name}")
|
120
120
|
safe_dscl("create /Groups/#{@new_resource.group_name} Password '*'")
|
121
121
|
end
|
122
|
-
|
122
|
+
|
123
123
|
def remove_group
|
124
124
|
safe_dscl("delete /Groups/#{@new_resource.group_name}")
|
125
125
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -32,9 +32,9 @@ class Chef
|
|
32
32
|
|
33
33
|
def define_resource_requirements
|
34
34
|
super
|
35
|
-
requirements.assert(:all_actions) do |a|
|
36
|
-
a.assertion { ::File.exists?("/usr/bin/gpasswd") }
|
37
|
-
a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/bin/gpasswd for #{@new_resource}"
|
35
|
+
requirements.assert(:all_actions) do |a|
|
36
|
+
a.assertion { ::File.exists?("/usr/bin/gpasswd") }
|
37
|
+
a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/bin/gpasswd for #{@new_resource}"
|
38
38
|
# No whyrun alternative: this component should be available in the base install of any given system that uses it
|
39
39
|
end
|
40
40
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -20,7 +20,7 @@ class Chef
|
|
20
20
|
class Provider
|
21
21
|
class Group
|
22
22
|
class Groupadd < Chef::Provider::Group
|
23
|
-
|
23
|
+
|
24
24
|
def required_binaries
|
25
25
|
[ "/usr/sbin/groupadd",
|
26
26
|
"/usr/sbin/groupmod",
|
@@ -34,9 +34,9 @@ class Chef
|
|
34
34
|
def define_resource_requirements
|
35
35
|
super
|
36
36
|
required_binaries.each do |required_binary|
|
37
|
-
requirements.assert(:all_actions) do |a|
|
38
|
-
a.assertion { ::File.exists?(required_binary) }
|
39
|
-
a.failure_message Chef::Exceptions::Group, "Could not find binary #{required_binary} for #{@new_resource}"
|
37
|
+
requirements.assert(:all_actions) do |a|
|
38
|
+
a.assertion { ::File.exists?(required_binary) }
|
39
|
+
a.failure_message Chef::Exceptions::Group, "Could not find binary #{required_binary} for #{@new_resource}"
|
40
40
|
# No whyrun alternative: this component should be available in the base install of any given system that uses it
|
41
41
|
end
|
42
42
|
end
|
@@ -48,9 +48,9 @@ class Chef
|
|
48
48
|
command << set_options
|
49
49
|
command << groupadd_options
|
50
50
|
run_command(:command => command)
|
51
|
-
modify_group_members
|
51
|
+
modify_group_members
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
# Manage the group when it already exists
|
55
55
|
def manage_group
|
56
56
|
command = "groupmod"
|
@@ -58,12 +58,12 @@ class Chef
|
|
58
58
|
run_command(:command => command)
|
59
59
|
modify_group_members
|
60
60
|
end
|
61
|
-
|
61
|
+
|
62
62
|
# Remove the group
|
63
63
|
def remove_group
|
64
64
|
run_command(:command => "groupdel #{@new_resource.group_name}")
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
def modify_group_members
|
68
68
|
raise Chef::Exceptions::Group, "you must override modify_group_members in #{self.to_s}"
|
69
69
|
end
|
@@ -87,6 +87,7 @@ class Chef
|
|
87
87
|
def groupadd_options
|
88
88
|
opts = ''
|
89
89
|
opts << " -r" if @new_resource.system
|
90
|
+
opts << " -o" if @new_resource.non_unique
|
90
91
|
opts
|
91
92
|
end
|
92
93
|
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -20,21 +20,21 @@ class Chef
|
|
20
20
|
class Provider
|
21
21
|
class Group
|
22
22
|
class Pw < Chef::Provider::Group
|
23
|
-
|
23
|
+
|
24
24
|
def load_current_resource
|
25
25
|
super
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def define_resource_requirements
|
29
29
|
super
|
30
30
|
|
31
|
-
requirements.assert(:all_actions) do |a|
|
32
|
-
a.assertion { ::File.exists?("/usr/sbin/pw") }
|
31
|
+
requirements.assert(:all_actions) do |a|
|
32
|
+
a.assertion { ::File.exists?("/usr/sbin/pw") }
|
33
33
|
a.failure_message Chef::Exceptions::Group, "Could not find binary /usr/sbin/pw for #{@new_resource}"
|
34
34
|
# No whyrun alternative: this component should be available in the base install of any given system that uses it
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
# Create the group
|
39
39
|
def create_group
|
40
40
|
command = "pw groupadd"
|
@@ -42,7 +42,7 @@ class Chef
|
|
42
42
|
command << set_members_option
|
43
43
|
run_command(:command => command)
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
# Manage the group when it already exists
|
47
47
|
def manage_group
|
48
48
|
command = "pw groupmod"
|
@@ -50,12 +50,12 @@ class Chef
|
|
50
50
|
command << set_members_option
|
51
51
|
run_command(:command => command)
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
# Remove the group
|
55
55
|
def remove_group
|
56
56
|
run_command(:command => "pw groupdel #{@new_resource.group_name}")
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
# Little bit of magic as per Adam's useradd provider to pull and assign the command line flags
|
60
60
|
#
|
61
61
|
# ==== Returns
|
@@ -86,7 +86,7 @@ class Chef
|
|
86
86
|
end
|
87
87
|
opt
|
88
88
|
end
|
89
|
-
|
89
|
+
|
90
90
|
end
|
91
91
|
end
|
92
92
|
end
|