tylerrick-chef 0.10.8
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/LICENSE +201 -0
- data/README.rdoc +171 -0
- data/bin/chef-client +26 -0
- data/bin/chef-solo +25 -0
- data/bin/knife +26 -0
- data/bin/shef +34 -0
- data/distro/README +2 -0
- data/distro/arch/etc/conf.d/chef-client.conf +5 -0
- data/distro/arch/etc/conf.d/chef-expander.conf +8 -0
- data/distro/arch/etc/conf.d/chef-server-webui.conf +10 -0
- data/distro/arch/etc/conf.d/chef-server.conf +10 -0
- data/distro/arch/etc/conf.d/chef-solr.conf +8 -0
- data/distro/arch/etc/rc.d/chef-client +76 -0
- data/distro/arch/etc/rc.d/chef-expander +78 -0
- data/distro/arch/etc/rc.d/chef-server +78 -0
- data/distro/arch/etc/rc.d/chef-server-webui +78 -0
- data/distro/arch/etc/rc.d/chef-solr +78 -0
- data/distro/common/html/chef-client.8.html +146 -0
- data/distro/common/html/chef-expander.8.html +164 -0
- data/distro/common/html/chef-expanderctl.8.html +146 -0
- data/distro/common/html/chef-server-webui.8.html +185 -0
- data/distro/common/html/chef-server.8.html +182 -0
- data/distro/common/html/chef-solo.8.html +191 -0
- data/distro/common/html/chef-solr.8.html +165 -0
- data/distro/common/html/knife-bootstrap.1.html +243 -0
- data/distro/common/html/knife-client.1.html +219 -0
- data/distro/common/html/knife-configure.1.html +170 -0
- data/distro/common/html/knife-cookbook-site.1.html +241 -0
- data/distro/common/html/knife-cookbook.1.html +384 -0
- data/distro/common/html/knife-data-bag.1.html +234 -0
- data/distro/common/html/knife-environment.1.html +267 -0
- data/distro/common/html/knife-exec.1.html +134 -0
- data/distro/common/html/knife-index.1.html +125 -0
- data/distro/common/html/knife-node.1.html +250 -0
- data/distro/common/html/knife-recipe.1.html +92 -0
- data/distro/common/html/knife-role.1.html +200 -0
- data/distro/common/html/knife-search.1.html +288 -0
- data/distro/common/html/knife-ssh.1.html +157 -0
- data/distro/common/html/knife-status.1.html +128 -0
- data/distro/common/html/knife-tag.1.html +137 -0
- data/distro/common/html/knife.1.html +321 -0
- data/distro/common/html/shef.1.html +283 -0
- data/distro/common/man/man1/knife-bootstrap.1 +197 -0
- data/distro/common/man/man1/knife-client.1 +99 -0
- data/distro/common/man/man1/knife-configure.1 +88 -0
- data/distro/common/man/man1/knife-cookbook-site.1 +145 -0
- data/distro/common/man/man1/knife-cookbook.1 +345 -0
- data/distro/common/man/man1/knife-data-bag.1 +130 -0
- data/distro/common/man/man1/knife-environment.1 +178 -0
- data/distro/common/man/man1/knife-exec.1 +46 -0
- data/distro/common/man/man1/knife-index.1 +29 -0
- data/distro/common/man/man1/knife-node.1 +134 -0
- data/distro/common/man/man1/knife-role.1 +88 -0
- data/distro/common/man/man1/knife-search.1 +280 -0
- data/distro/common/man/man1/knife-ssh.1 +83 -0
- data/distro/common/man/man1/knife-status.1 +29 -0
- data/distro/common/man/man1/knife-tag.1 +43 -0
- data/distro/common/man/man1/knife.1 +292 -0
- data/distro/common/man/man1/shef.1 +256 -0
- data/distro/common/man/man8/chef-client.8 +104 -0
- data/distro/common/man/man8/chef-expander.8 +97 -0
- data/distro/common/man/man8/chef-expanderctl.8 +62 -0
- data/distro/common/man/man8/chef-server-webui.8 +155 -0
- data/distro/common/man/man8/chef-server.8 +147 -0
- data/distro/common/man/man8/chef-solo.8 +158 -0
- data/distro/common/man/man8/chef-solr.8 +122 -0
- data/distro/common/markdown/README +3 -0
- data/distro/common/markdown/man1/knife-bootstrap.mkd +142 -0
- data/distro/common/markdown/man1/knife-client.mkd +103 -0
- data/distro/common/markdown/man1/knife-configure.mkd +70 -0
- data/distro/common/markdown/man1/knife-cookbook-site.mkd +123 -0
- data/distro/common/markdown/man1/knife-cookbook.mkd +263 -0
- data/distro/common/markdown/man1/knife-data-bag.mkd +117 -0
- data/distro/common/markdown/man1/knife-environment.mkd +151 -0
- data/distro/common/markdown/man1/knife-exec.mkd +37 -0
- data/distro/common/markdown/man1/knife-index.mkd +30 -0
- data/distro/common/markdown/man1/knife-node.mkd +130 -0
- data/distro/common/markdown/man1/knife-role.mkd +85 -0
- data/distro/common/markdown/man1/knife-search.mkd +180 -0
- data/distro/common/markdown/man1/knife-ssh.mkd +72 -0
- data/distro/common/markdown/man1/knife-status.mkd +36 -0
- data/distro/common/markdown/man1/knife-tag.mkd +39 -0
- data/distro/common/markdown/man1/knife.mkd +220 -0
- data/distro/common/markdown/man1/shef.mkd +189 -0
- data/distro/common/markdown/man8/chef-client.mkd +75 -0
- data/distro/common/markdown/man8/chef-expander.mkd +82 -0
- data/distro/common/markdown/man8/chef-expanderctl.mkd +58 -0
- data/distro/common/markdown/man8/chef-server-webui.mkd +121 -0
- data/distro/common/markdown/man8/chef-server.mkd +121 -0
- data/distro/common/markdown/man8/chef-solo.mkd +107 -0
- data/distro/common/markdown/man8/chef-solr.mkd +89 -0
- data/distro/debian/etc/default/chef-client +4 -0
- data/distro/debian/etc/default/chef-expander +8 -0
- data/distro/debian/etc/default/chef-server +9 -0
- data/distro/debian/etc/default/chef-server-webui +9 -0
- data/distro/debian/etc/default/chef-solr +8 -0
- data/distro/debian/etc/init.d/chef-client +185 -0
- data/distro/debian/etc/init.d/chef-expander +176 -0
- data/distro/debian/etc/init.d/chef-server +122 -0
- data/distro/debian/etc/init.d/chef-server-webui +123 -0
- data/distro/debian/etc/init.d/chef-solr +176 -0
- data/distro/debian/etc/init/chef-client.conf +17 -0
- data/distro/debian/etc/init/chef-expander.conf +17 -0
- data/distro/debian/etc/init/chef-server-webui.conf +17 -0
- data/distro/debian/etc/init/chef-server.conf +17 -0
- data/distro/debian/etc/init/chef-solr.conf +17 -0
- data/distro/redhat/etc/init.d/chef-client +110 -0
- data/distro/redhat/etc/init.d/chef-expander +104 -0
- data/distro/redhat/etc/init.d/chef-server +112 -0
- data/distro/redhat/etc/init.d/chef-server-webui +112 -0
- data/distro/redhat/etc/init.d/chef-solr +104 -0
- data/distro/redhat/etc/logrotate.d/chef-client +8 -0
- data/distro/redhat/etc/logrotate.d/chef-expander +8 -0
- data/distro/redhat/etc/logrotate.d/chef-server +8 -0
- data/distro/redhat/etc/logrotate.d/chef-server-webui +8 -0
- data/distro/redhat/etc/logrotate.d/chef-solr +8 -0
- data/distro/redhat/etc/sysconfig/chef-client +15 -0
- data/distro/redhat/etc/sysconfig/chef-expander +7 -0
- data/distro/redhat/etc/sysconfig/chef-server +14 -0
- data/distro/redhat/etc/sysconfig/chef-server-webui +14 -0
- data/distro/redhat/etc/sysconfig/chef-solr +8 -0
- data/lib/chef.rb +41 -0
- data/lib/chef/api_client.rb +271 -0
- data/lib/chef/application.rb +152 -0
- data/lib/chef/application/agent.rb +18 -0
- data/lib/chef/application/client.rb +285 -0
- data/lib/chef/application/knife.rb +188 -0
- data/lib/chef/application/solo.rb +218 -0
- data/lib/chef/applications.rb +4 -0
- data/lib/chef/certificate.rb +194 -0
- data/lib/chef/checksum.rb +167 -0
- data/lib/chef/checksum/storage.rb +18 -0
- data/lib/chef/checksum/storage/filesystem.rb +56 -0
- data/lib/chef/checksum_cache.rb +189 -0
- data/lib/chef/client.rb +366 -0
- data/lib/chef/config.rb +248 -0
- data/lib/chef/cookbook/chefignore.rb +66 -0
- data/lib/chef/cookbook/cookbook_collection.rb +45 -0
- data/lib/chef/cookbook/cookbook_version_loader.rb +173 -0
- data/lib/chef/cookbook/file_system_file_vendor.rb +56 -0
- data/lib/chef/cookbook/file_vendor.rb +48 -0
- data/lib/chef/cookbook/metadata.rb +629 -0
- data/lib/chef/cookbook/remote_file_vendor.rb +88 -0
- data/lib/chef/cookbook/syntax_check.rb +136 -0
- data/lib/chef/cookbook_loader.rb +121 -0
- data/lib/chef/cookbook_site_streaming_uploader.rb +244 -0
- data/lib/chef/cookbook_uploader.rb +154 -0
- data/lib/chef/cookbook_version.rb +1096 -0
- data/lib/chef/cookbook_version_selector.rb +168 -0
- data/lib/chef/couchdb.rb +246 -0
- data/lib/chef/daemon.rb +172 -0
- data/lib/chef/data_bag.rb +235 -0
- data/lib/chef/data_bag_item.rb +273 -0
- data/lib/chef/encrypted_data_bag_item.rb +139 -0
- data/lib/chef/environment.rb +455 -0
- data/lib/chef/exceptions.rb +154 -0
- data/lib/chef/file_access_control.rb +144 -0
- data/lib/chef/file_cache.rb +218 -0
- data/lib/chef/handler.rb +227 -0
- data/lib/chef/handler/error_report.rb +33 -0
- data/lib/chef/handler/json_file.rb +58 -0
- data/lib/chef/index_queue.rb +29 -0
- data/lib/chef/index_queue/amqp_client.rb +116 -0
- data/lib/chef/index_queue/consumer.rb +76 -0
- data/lib/chef/index_queue/indexable.rb +109 -0
- data/lib/chef/json_compat.rb +52 -0
- data/lib/chef/knife.rb +520 -0
- data/lib/chef/knife/bootstrap.rb +207 -0
- data/lib/chef/knife/bootstrap/archlinux-gems.erb +60 -0
- data/lib/chef/knife/bootstrap/centos5-gems.erb +56 -0
- data/lib/chef/knife/bootstrap/fedora13-gems.erb +43 -0
- data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +49 -0
- data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +50 -0
- data/lib/chef/knife/client_bulk_delete.rb +65 -0
- data/lib/chef/knife/client_create.rb +79 -0
- data/lib/chef/knife/client_delete.rb +46 -0
- data/lib/chef/knife/client_edit.rb +45 -0
- data/lib/chef/knife/client_list.rb +42 -0
- data/lib/chef/knife/client_reregister.rb +58 -0
- data/lib/chef/knife/client_show.rb +52 -0
- data/lib/chef/knife/configure.rb +149 -0
- data/lib/chef/knife/configure_client.rb +50 -0
- data/lib/chef/knife/cookbook_bulk_delete.rb +72 -0
- data/lib/chef/knife/cookbook_create.rb +274 -0
- data/lib/chef/knife/cookbook_delete.rb +151 -0
- data/lib/chef/knife/cookbook_download.rb +137 -0
- data/lib/chef/knife/cookbook_list.rb +47 -0
- data/lib/chef/knife/cookbook_metadata.rb +107 -0
- data/lib/chef/knife/cookbook_metadata_from_file.rb +44 -0
- data/lib/chef/knife/cookbook_show.rb +102 -0
- data/lib/chef/knife/cookbook_site_download.rb +70 -0
- data/lib/chef/knife/cookbook_site_install.rb +148 -0
- data/lib/chef/knife/cookbook_site_list.rb +62 -0
- data/lib/chef/knife/cookbook_site_search.rb +51 -0
- data/lib/chef/knife/cookbook_site_share.rb +114 -0
- data/lib/chef/knife/cookbook_site_show.rb +57 -0
- data/lib/chef/knife/cookbook_site_unshare.rb +56 -0
- data/lib/chef/knife/cookbook_site_vendor.rb +46 -0
- data/lib/chef/knife/cookbook_test.rb +93 -0
- data/lib/chef/knife/cookbook_upload.rb +240 -0
- data/lib/chef/knife/core/bootstrap_context.rb +100 -0
- data/lib/chef/knife/core/cookbook_scm_repo.rb +148 -0
- data/lib/chef/knife/core/generic_presenter.rb +191 -0
- data/lib/chef/knife/core/node_editor.rb +127 -0
- data/lib/chef/knife/core/node_presenter.rb +136 -0
- data/lib/chef/knife/core/object_loader.rb +75 -0
- data/lib/chef/knife/core/subcommand_loader.rb +112 -0
- data/lib/chef/knife/core/text_formatter.rb +100 -0
- data/lib/chef/knife/core/ui.rb +216 -0
- data/lib/chef/knife/data_bag_create.rb +93 -0
- data/lib/chef/knife/data_bag_delete.rb +51 -0
- data/lib/chef/knife/data_bag_edit.rb +94 -0
- data/lib/chef/knife/data_bag_from_file.rb +87 -0
- data/lib/chef/knife/data_bag_list.rb +46 -0
- data/lib/chef/knife/data_bag_show.rb +81 -0
- data/lib/chef/knife/environment_create.rb +53 -0
- data/lib/chef/knife/environment_delete.rb +45 -0
- data/lib/chef/knife/environment_edit.rb +45 -0
- data/lib/chef/knife/environment_from_file.rb +50 -0
- data/lib/chef/knife/environment_list.rb +42 -0
- data/lib/chef/knife/environment_show.rb +46 -0
- data/lib/chef/knife/exec.rb +51 -0
- data/lib/chef/knife/help.rb +103 -0
- data/lib/chef/knife/help_topics.rb +4 -0
- data/lib/chef/knife/index_rebuild.rb +50 -0
- data/lib/chef/knife/node_bulk_delete.rb +80 -0
- data/lib/chef/knife/node_create.rb +50 -0
- data/lib/chef/knife/node_delete.rb +47 -0
- data/lib/chef/knife/node_edit.rb +72 -0
- data/lib/chef/knife/node_from_file.rb +50 -0
- data/lib/chef/knife/node_list.rb +46 -0
- data/lib/chef/knife/node_run_list_add.rb +67 -0
- data/lib/chef/knife/node_run_list_remove.rb +48 -0
- data/lib/chef/knife/node_show.rb +73 -0
- data/lib/chef/knife/recipe_list.rb +32 -0
- data/lib/chef/knife/role_bulk_delete.rb +70 -0
- data/lib/chef/knife/role_create.rb +55 -0
- data/lib/chef/knife/role_delete.rb +47 -0
- data/lib/chef/knife/role_edit.rb +48 -0
- data/lib/chef/knife/role_from_file.rb +56 -0
- data/lib/chef/knife/role_list.rb +43 -0
- data/lib/chef/knife/role_show.rb +54 -0
- data/lib/chef/knife/search.rb +141 -0
- data/lib/chef/knife/ssh.rb +367 -0
- data/lib/chef/knife/status.rb +104 -0
- data/lib/chef/knife/tag_create.rb +52 -0
- data/lib/chef/knife/tag_delete.rb +60 -0
- data/lib/chef/knife/tag_list.rb +47 -0
- data/lib/chef/log.rb +39 -0
- data/lib/chef/mash.rb +211 -0
- data/lib/chef/mixin/check_helper.rb +31 -0
- data/lib/chef/mixin/checksum.rb +32 -0
- data/lib/chef/mixin/command.rb +163 -0
- data/lib/chef/mixin/command/unix.rb +215 -0
- data/lib/chef/mixin/command/windows.rb +76 -0
- data/lib/chef/mixin/convert_to_class_name.rb +63 -0
- data/lib/chef/mixin/create_path.rb +57 -0
- data/lib/chef/mixin/deep_merge.rb +225 -0
- data/lib/chef/mixin/deprecation.rb +65 -0
- data/lib/chef/mixin/from_file.rb +50 -0
- data/lib/chef/mixin/get_source_from_package.rb +42 -0
- data/lib/chef/mixin/language.rb +163 -0
- data/lib/chef/mixin/language_include_attribute.rb +61 -0
- data/lib/chef/mixin/language_include_recipe.rb +52 -0
- data/lib/chef/mixin/params_validate.rb +225 -0
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +78 -0
- data/lib/chef/mixin/shell_out.rb +41 -0
- data/lib/chef/mixin/template.rb +95 -0
- data/lib/chef/mixin/xml_escape.rb +140 -0
- data/lib/chef/mixins.rb +15 -0
- data/lib/chef/monkey_patches/dir.rb +36 -0
- data/lib/chef/monkey_patches/numeric.rb +15 -0
- data/lib/chef/monkey_patches/object.rb +9 -0
- data/lib/chef/monkey_patches/regexp.rb +34 -0
- data/lib/chef/monkey_patches/string.rb +49 -0
- data/lib/chef/monkey_patches/tempfile.rb +64 -0
- data/lib/chef/nil_argument.rb +3 -0
- data/lib/chef/node.rb +677 -0
- data/lib/chef/node/attribute.rb +487 -0
- data/lib/chef/openid_registration.rb +187 -0
- data/lib/chef/platform.rb +434 -0
- data/lib/chef/provider.rb +124 -0
- data/lib/chef/provider/breakpoint.rb +36 -0
- data/lib/chef/provider/cookbook_file.rb +100 -0
- data/lib/chef/provider/cron.rb +186 -0
- data/lib/chef/provider/cron/solaris.rb +195 -0
- data/lib/chef/provider/deploy.rb +418 -0
- data/lib/chef/provider/deploy/revision.rb +80 -0
- data/lib/chef/provider/deploy/timestamped.rb +33 -0
- data/lib/chef/provider/directory.rb +72 -0
- data/lib/chef/provider/env.rb +152 -0
- data/lib/chef/provider/env/windows.rb +75 -0
- data/lib/chef/provider/erl_call.rb +101 -0
- data/lib/chef/provider/execute.rb +65 -0
- data/lib/chef/provider/file.rb +226 -0
- data/lib/chef/provider/git.rb +243 -0
- data/lib/chef/provider/group.rb +133 -0
- data/lib/chef/provider/group/aix.rb +70 -0
- data/lib/chef/provider/group/dscl.rb +121 -0
- data/lib/chef/provider/group/gpasswd.rb +53 -0
- data/lib/chef/provider/group/groupadd.rb +91 -0
- data/lib/chef/provider/group/pw.rb +84 -0
- data/lib/chef/provider/group/suse.rb +53 -0
- data/lib/chef/provider/group/usermod.rb +57 -0
- data/lib/chef/provider/group/windows.rb +79 -0
- data/lib/chef/provider/http_request.rb +122 -0
- data/lib/chef/provider/ifconfig.rb +195 -0
- data/lib/chef/provider/link.rb +164 -0
- data/lib/chef/provider/log.rb +54 -0
- data/lib/chef/provider/mdadm.rb +91 -0
- data/lib/chef/provider/mount.rb +114 -0
- data/lib/chef/provider/mount/mount.rb +240 -0
- data/lib/chef/provider/mount/windows.rb +81 -0
- data/lib/chef/provider/ohai.rb +42 -0
- data/lib/chef/provider/package.rb +200 -0
- data/lib/chef/provider/package/apt.rb +145 -0
- data/lib/chef/provider/package/dpkg.rb +115 -0
- data/lib/chef/provider/package/easy_install.rb +136 -0
- data/lib/chef/provider/package/freebsd.rb +125 -0
- data/lib/chef/provider/package/macports.rb +105 -0
- data/lib/chef/provider/package/pacman.rb +101 -0
- data/lib/chef/provider/package/portage.rb +135 -0
- data/lib/chef/provider/package/rpm.rb +104 -0
- data/lib/chef/provider/package/rubygems.rb +465 -0
- data/lib/chef/provider/package/solaris.rb +130 -0
- data/lib/chef/provider/package/yum-dump.py +286 -0
- data/lib/chef/provider/package/yum.rb +1173 -0
- data/lib/chef/provider/package/zypper.rb +144 -0
- data/lib/chef/provider/remote_directory.rb +137 -0
- data/lib/chef/provider/remote_file.rb +118 -0
- data/lib/chef/provider/route.rb +193 -0
- data/lib/chef/provider/ruby_block.rb +34 -0
- data/lib/chef/provider/script.rb +55 -0
- data/lib/chef/provider/service.rb +122 -0
- data/lib/chef/provider/service/arch.rb +116 -0
- data/lib/chef/provider/service/debian.rb +130 -0
- data/lib/chef/provider/service/freebsd.rb +154 -0
- data/lib/chef/provider/service/gentoo.rb +53 -0
- data/lib/chef/provider/service/init.rb +71 -0
- data/lib/chef/provider/service/insserv.rb +52 -0
- data/lib/chef/provider/service/invokercd.rb +35 -0
- data/lib/chef/provider/service/redhat.rb +60 -0
- data/lib/chef/provider/service/simple.rb +120 -0
- data/lib/chef/provider/service/solaris.rb +85 -0
- data/lib/chef/provider/service/systemd.rb +102 -0
- data/lib/chef/provider/service/upstart.rb +198 -0
- data/lib/chef/provider/service/windows.rb +155 -0
- data/lib/chef/provider/subversion.rb +197 -0
- data/lib/chef/provider/template.rb +104 -0
- data/lib/chef/provider/user.rb +186 -0
- data/lib/chef/provider/user/dscl.rb +280 -0
- data/lib/chef/provider/user/pw.rb +113 -0
- data/lib/chef/provider/user/useradd.rb +137 -0
- data/lib/chef/provider/user/windows.rb +124 -0
- data/lib/chef/providers.rb +95 -0
- data/lib/chef/recipe.rb +129 -0
- data/lib/chef/resource.rb +609 -0
- data/lib/chef/resource/apt_package.rb +34 -0
- data/lib/chef/resource/bash.rb +33 -0
- data/lib/chef/resource/breakpoint.rb +35 -0
- data/lib/chef/resource/conditional.rb +90 -0
- data/lib/chef/resource/cookbook_file.rb +45 -0
- data/lib/chef/resource/cron.rb +188 -0
- data/lib/chef/resource/csh.rb +33 -0
- data/lib/chef/resource/deploy.rb +389 -0
- data/lib/chef/resource/deploy_revision.rb +40 -0
- data/lib/chef/resource/directory.rb +76 -0
- data/lib/chef/resource/dpkg_package.rb +34 -0
- data/lib/chef/resource/easy_install_package.rb +57 -0
- data/lib/chef/resource/env.rb +58 -0
- data/lib/chef/resource/erl_call.rb +83 -0
- data/lib/chef/resource/execute.rb +127 -0
- data/lib/chef/resource/file.rb +99 -0
- data/lib/chef/resource/freebsd_package.rb +35 -0
- data/lib/chef/resource/gem_package.rb +53 -0
- data/lib/chef/resource/git.rb +46 -0
- data/lib/chef/resource/group.rb +78 -0
- data/lib/chef/resource/http_request.rb +61 -0
- data/lib/chef/resource/ifconfig.rb +144 -0
- data/lib/chef/resource/link.rb +78 -0
- data/lib/chef/resource/log.rb +62 -0
- data/lib/chef/resource/macports_package.rb +29 -0
- data/lib/chef/resource/mdadm.rb +82 -0
- data/lib/chef/resource/mount.rb +134 -0
- data/lib/chef/resource/ohai.rb +40 -0
- data/lib/chef/resource/package.rb +80 -0
- data/lib/chef/resource/pacman_package.rb +33 -0
- data/lib/chef/resource/perl.rb +33 -0
- data/lib/chef/resource/portage_package.rb +33 -0
- data/lib/chef/resource/python.rb +33 -0
- data/lib/chef/resource/remote_directory.rb +109 -0
- data/lib/chef/resource/remote_file.rb +83 -0
- data/lib/chef/resource/route.rb +135 -0
- data/lib/chef/resource/rpm_package.rb +34 -0
- data/lib/chef/resource/ruby.rb +33 -0
- data/lib/chef/resource/ruby_block.rb +40 -0
- data/lib/chef/resource/scm.rb +147 -0
- data/lib/chef/resource/script.rb +60 -0
- data/lib/chef/resource/service.rb +151 -0
- data/lib/chef/resource/solaris_package.rb +36 -0
- data/lib/chef/resource/subversion.rb +36 -0
- data/lib/chef/resource/template.rb +69 -0
- data/lib/chef/resource/timestamped_deploy.rb +31 -0
- data/lib/chef/resource/user.rb +130 -0
- data/lib/chef/resource/yum_package.rb +63 -0
- data/lib/chef/resource_collection.rb +217 -0
- data/lib/chef/resource_collection/stepable_iterator.rb +124 -0
- data/lib/chef/resource_definition.rb +67 -0
- data/lib/chef/resource_definition_list.rb +38 -0
- data/lib/chef/resources.rb +64 -0
- data/lib/chef/rest.rb +400 -0
- data/lib/chef/rest/auth_credentials.rb +71 -0
- data/lib/chef/rest/cookie_jar.rb +31 -0
- data/lib/chef/rest/rest_request.rb +213 -0
- data/lib/chef/role.rb +343 -0
- data/lib/chef/run_context.rb +126 -0
- data/lib/chef/run_list.rb +165 -0
- data/lib/chef/run_list/run_list_expansion.rb +193 -0
- data/lib/chef/run_list/run_list_item.rb +92 -0
- data/lib/chef/run_list/versioned_recipe_list.rb +68 -0
- data/lib/chef/run_status.rb +121 -0
- data/lib/chef/runner.rb +105 -0
- data/lib/chef/sandbox.rb +153 -0
- data/lib/chef/search/query.rb +65 -0
- data/lib/chef/shef.rb +327 -0
- data/lib/chef/shef/ext.rb +569 -0
- data/lib/chef/shef/model_wrapper.rb +120 -0
- data/lib/chef/shef/shef_rest.rb +28 -0
- data/lib/chef/shef/shef_session.rb +285 -0
- data/lib/chef/shell_out.rb +249 -0
- data/lib/chef/shell_out/unix.rb +223 -0
- data/lib/chef/shell_out/windows.rb +588 -0
- data/lib/chef/solr_query.rb +187 -0
- data/lib/chef/solr_query/lucene.treetop +150 -0
- data/lib/chef/solr_query/lucene_nodes.rb +285 -0
- data/lib/chef/solr_query/query_transform.rb +65 -0
- data/lib/chef/solr_query/solr_http_request.rb +132 -0
- data/lib/chef/streaming_cookbook_uploader.rb +201 -0
- data/lib/chef/tasks/chef_repo.rake +334 -0
- data/lib/chef/util/file_edit.rb +122 -0
- data/lib/chef/util/windows.rb +56 -0
- data/lib/chef/util/windows/net_group.rb +101 -0
- data/lib/chef/util/windows/net_use.rb +121 -0
- data/lib/chef/util/windows/net_user.rb +198 -0
- data/lib/chef/util/windows/volume.rb +59 -0
- data/lib/chef/version.rb +23 -0
- data/lib/chef/version_class.rb +70 -0
- data/lib/chef/version_constraint.rb +116 -0
- data/lib/chef/webui_user.rb +231 -0
- metadata +764 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Doug MacEachern (<dougm@vmware.com>)
|
|
3
|
+
# Copyright:: Copyright (c) 2010 VMware, Inc.
|
|
4
|
+
# License:: Apache License, Version 2.0
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'chef/provider/mount'
|
|
20
|
+
if RUBY_PLATFORM =~ /mswin|mingw32|windows/
|
|
21
|
+
require 'chef/util/windows/net_use'
|
|
22
|
+
require 'chef/util/windows/volume'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
class Chef
|
|
26
|
+
class Provider
|
|
27
|
+
class Mount
|
|
28
|
+
class Windows < Chef::Provider::Mount
|
|
29
|
+
|
|
30
|
+
def is_volume(name)
|
|
31
|
+
name =~ /^\\\\\?\\Volume\{[\w-]+\}\\$/ ? true : false
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def initialize(new_resource, run_context)
|
|
35
|
+
super
|
|
36
|
+
@mount = nil
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def load_current_resource
|
|
40
|
+
if is_volume(@new_resource.device)
|
|
41
|
+
@mount = Chef::Util::Windows::Volume.new(@new_resource.name)
|
|
42
|
+
else #assume network drive
|
|
43
|
+
@mount = Chef::Util::Windows::NetUse.new(@new_resource.name)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
@current_resource = Chef::Resource::Mount.new(@new_resource.name)
|
|
47
|
+
@current_resource.mount_point(@new_resource.mount_point)
|
|
48
|
+
Chef::Log.debug("Checking for mount point #{@current_resource.mount_point}")
|
|
49
|
+
|
|
50
|
+
begin
|
|
51
|
+
@current_resource.device(@mount.device)
|
|
52
|
+
Chef::Log.debug("#{@current_resource.device} mounted on #{@new_resource.mount_point}")
|
|
53
|
+
@current_resource.mounted(true)
|
|
54
|
+
rescue ArgumentError => e
|
|
55
|
+
@current_resource.mounted(false)
|
|
56
|
+
Chef::Log.debug("#{@new_resource.mount_point} is not mounted: #{e.message}")
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def mount_fs
|
|
61
|
+
unless @current_resource.mounted
|
|
62
|
+
@mount.add(@new_resource.device)
|
|
63
|
+
Chef::Log.debug("#{@new_resource} is mounted at #{@new_resource.mount_point}")
|
|
64
|
+
else
|
|
65
|
+
Chef::Log.debug("#{@new_resource} is already mounted at #{@new_resource.mount_point}")
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def umount_fs
|
|
70
|
+
if @current_resource.mounted
|
|
71
|
+
@mount.delete
|
|
72
|
+
Chef::Log.debug("#{@new_resource} is no longer mounted at #{@new_resource.mount_point}")
|
|
73
|
+
else
|
|
74
|
+
Chef::Log.debug("#{@new_resource} is not mounted at #{@new_resource.mount_point}")
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Michael Leianrtas (<mleinartas@gmail.com>)
|
|
3
|
+
# Copyright:: Copyright (c) 2010 Michael Leinartas
|
|
4
|
+
# License:: Apache License, Version 2.0
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'ohai'
|
|
20
|
+
|
|
21
|
+
class Chef
|
|
22
|
+
class Provider
|
|
23
|
+
class Ohai < Chef::Provider
|
|
24
|
+
|
|
25
|
+
def load_current_resource
|
|
26
|
+
true
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def action_reload
|
|
30
|
+
ohai = ::Ohai::System.new
|
|
31
|
+
if @new_resource.plugin
|
|
32
|
+
ohai.require_plugin @new_resource.plugin
|
|
33
|
+
else
|
|
34
|
+
ohai.all_plugins
|
|
35
|
+
end
|
|
36
|
+
node.automatic_attrs.merge! ohai.data
|
|
37
|
+
Chef::Log.info("#{@new_resource} reloaded")
|
|
38
|
+
@new_resource.updated_by_last_action(true)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
|
4
|
+
# License:: Apache License, Version 2.0
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'chef/mixin/command'
|
|
20
|
+
require 'chef/log'
|
|
21
|
+
require 'chef/file_cache'
|
|
22
|
+
require 'chef/resource/remote_file'
|
|
23
|
+
require 'chef/platform'
|
|
24
|
+
|
|
25
|
+
class Chef
|
|
26
|
+
class Provider
|
|
27
|
+
class Package < Chef::Provider
|
|
28
|
+
|
|
29
|
+
include Chef::Mixin::Command
|
|
30
|
+
|
|
31
|
+
attr_accessor :candidate_version
|
|
32
|
+
|
|
33
|
+
def initialize(new_resource, run_context)
|
|
34
|
+
super
|
|
35
|
+
@candidate_version = nil
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def action_install
|
|
39
|
+
# If we specified a version, and it's not the current version, move to the specified version
|
|
40
|
+
if @new_resource.version != nil && @new_resource.version != @current_resource.version
|
|
41
|
+
install_version = @new_resource.version
|
|
42
|
+
# If it's not installed at all, install it
|
|
43
|
+
elsif @current_resource.version == nil
|
|
44
|
+
install_version = candidate_version
|
|
45
|
+
else
|
|
46
|
+
Chef::Log.debug("#{@new_resource} is already installed - nothing to do")
|
|
47
|
+
return
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
unless install_version
|
|
51
|
+
raise(Chef::Exceptions::Package, "No version specified, and no candidate version available for #{@new_resource.package_name}")
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# We need to make sure we handle the preseed file
|
|
56
|
+
if @new_resource.response_file
|
|
57
|
+
preseed_package(@new_resource.package_name, install_version)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
status = install_package(@new_resource.package_name, install_version)
|
|
61
|
+
if status
|
|
62
|
+
@new_resource.updated_by_last_action(true)
|
|
63
|
+
end
|
|
64
|
+
Chef::Log.info("#{@new_resource} installed version #{install_version}")
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def action_upgrade
|
|
68
|
+
if @current_resource.version != candidate_version
|
|
69
|
+
orig_version = @current_resource.version || "uninstalled"
|
|
70
|
+
status = upgrade_package(@new_resource.package_name, candidate_version)
|
|
71
|
+
if status
|
|
72
|
+
@new_resource.updated_by_last_action(true)
|
|
73
|
+
end
|
|
74
|
+
Chef::Log.info("#{@new_resource} upgraded from #{orig_version} to #{candidate_version}")
|
|
75
|
+
else
|
|
76
|
+
Chef::Log.debug("#{@new_resource} is at the latest version - nothing to do")
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def action_remove
|
|
81
|
+
if removing_package?
|
|
82
|
+
remove_package(@current_resource.package_name, @new_resource.version)
|
|
83
|
+
@new_resource.updated_by_last_action(true)
|
|
84
|
+
Chef::Log.info("#{@new_resource} removed")
|
|
85
|
+
else
|
|
86
|
+
Chef::Log.debug("#{@new_resource} package does not exist - nothing to do")
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def removing_package?
|
|
91
|
+
if @current_resource.version.nil?
|
|
92
|
+
false # nothing to remove
|
|
93
|
+
elsif @new_resource.version.nil?
|
|
94
|
+
true # remove any version of a package
|
|
95
|
+
elsif @new_resource.version == @current_resource.version
|
|
96
|
+
true # remove the version we have
|
|
97
|
+
else
|
|
98
|
+
false # we don't have the version we want to remove
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def action_purge
|
|
103
|
+
if removing_package?
|
|
104
|
+
purge_package(@current_resource.package_name, @new_resource.version)
|
|
105
|
+
@new_resource.updated_by_last_action(true)
|
|
106
|
+
Chef::Log.info("#{@new_resource} purged")
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def action_reconfig
|
|
111
|
+
if @current_resource.version == nil then
|
|
112
|
+
Chef::Log.debug("#{@new_resource} is NOT installed - nothing to do")
|
|
113
|
+
return
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
unless @new_resource.response_file then
|
|
117
|
+
Chef::Log.debug("#{@new_resource} no response_file provided - nothing to do")
|
|
118
|
+
return
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
status = preseed_package(@new_resource.package_name, @current_resource.version)
|
|
122
|
+
unless status then
|
|
123
|
+
Chef::Log.debug("#{@new_resource} preseeding has not changed - nothing to do")
|
|
124
|
+
return
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
status = reconfig_package(@new_resource.package_name, @current_resource.version)
|
|
128
|
+
@new_resource.updated_by_last_action(true) if status
|
|
129
|
+
Chef::Log.info("#{@new_resource} reconfigured")
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def install_package(name, version)
|
|
133
|
+
raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :install"
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def upgrade_package(name, version)
|
|
137
|
+
raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :upgrade"
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def remove_package(name, version)
|
|
141
|
+
raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :remove"
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def purge_package(name, version)
|
|
145
|
+
raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :purge"
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def preseed_package(name, version)
|
|
149
|
+
raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support pre-seeding package install/upgrade instructions - don't ask it to!"
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def reconfig_package(name, version)
|
|
153
|
+
raise( Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :reconfig" )
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def get_preseed_file(name, version)
|
|
157
|
+
resource = preseed_resource(name, version)
|
|
158
|
+
resource.run_action('create')
|
|
159
|
+
Chef::Log.debug("#{@new_resource} fetched preseed file to #{resource.path}")
|
|
160
|
+
|
|
161
|
+
if resource.updated_by_last_action?
|
|
162
|
+
resource.path
|
|
163
|
+
else
|
|
164
|
+
false
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def preseed_resource(name, version)
|
|
169
|
+
# A directory in our cache to store this cookbook's preseed files in
|
|
170
|
+
file_cache_dir = Chef::FileCache.create_cache_path("preseed/#{@new_resource.cookbook_name}")
|
|
171
|
+
# The full path where the preseed file will be stored
|
|
172
|
+
cache_seed_to = "#{file_cache_dir}/#{name}-#{version}.seed"
|
|
173
|
+
|
|
174
|
+
Chef::Log.debug("#{@new_resource} fetching preseed file to #{cache_seed_to}")
|
|
175
|
+
|
|
176
|
+
begin
|
|
177
|
+
remote_file = Chef::Resource::Template.new(cache_seed_to, run_context)
|
|
178
|
+
remote_file.cookbook_name = @new_resource.cookbook_name
|
|
179
|
+
remote_file.source(@new_resource.response_file)
|
|
180
|
+
remote_file.backup(false)
|
|
181
|
+
provider = Chef::Platform.provider_for_resource(remote_file)
|
|
182
|
+
provider.template_location
|
|
183
|
+
rescue
|
|
184
|
+
Chef::Log.debug("#{@new_resource} fetching preseed file via Template resource failed, fallback to CookbookFile resource")
|
|
185
|
+
remote_file = Chef::Resource::CookbookFile.new(cache_seed_to, run_context)
|
|
186
|
+
remote_file.cookbook_name = @new_resource.cookbook_name
|
|
187
|
+
remote_file.source(@new_resource.response_file)
|
|
188
|
+
remote_file.backup(false)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
remote_file
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
def expand_options(options)
|
|
195
|
+
options ? " #{options}" : ""
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
end
|
|
199
|
+
end
|
|
200
|
+
end
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
|
4
|
+
# License:: Apache License, Version 2.0
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License at
|
|
9
|
+
#
|
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
# limitations under the License.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'chef/provider/package'
|
|
20
|
+
require 'chef/mixin/command'
|
|
21
|
+
require 'chef/resource/package'
|
|
22
|
+
require 'chef/mixin/shell_out'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Chef
|
|
26
|
+
class Provider
|
|
27
|
+
class Package
|
|
28
|
+
class Apt < Chef::Provider::Package
|
|
29
|
+
|
|
30
|
+
include Chef::Mixin::ShellOut
|
|
31
|
+
attr_accessor :is_virtual_package
|
|
32
|
+
|
|
33
|
+
def load_current_resource
|
|
34
|
+
@current_resource = Chef::Resource::Package.new(@new_resource.name)
|
|
35
|
+
@current_resource.package_name(@new_resource.package_name)
|
|
36
|
+
check_package_state(@new_resource.package_name)
|
|
37
|
+
@current_resource
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def check_package_state(package)
|
|
41
|
+
Chef::Log.debug("#{@new_resource} checking package status for #{package}")
|
|
42
|
+
installed = false
|
|
43
|
+
|
|
44
|
+
shell_out!("apt-cache policy #{package}").stdout.each_line do |line|
|
|
45
|
+
case line
|
|
46
|
+
when /^\s{2}Installed: (.+)$/
|
|
47
|
+
installed_version = $1
|
|
48
|
+
if installed_version == '(none)'
|
|
49
|
+
Chef::Log.debug("#{@new_resource} current version is nil")
|
|
50
|
+
@current_resource.version(nil)
|
|
51
|
+
else
|
|
52
|
+
Chef::Log.debug("#{@new_resource} current version is #{installed_version}")
|
|
53
|
+
@current_resource.version(installed_version)
|
|
54
|
+
installed = true
|
|
55
|
+
end
|
|
56
|
+
when /^\s{2}Candidate: (.+)$/
|
|
57
|
+
candidate_version = $1
|
|
58
|
+
if candidate_version == '(none)'
|
|
59
|
+
# This may not be an appropriate assumption, but it shouldn't break anything that already worked -- btm
|
|
60
|
+
@is_virtual_package = true
|
|
61
|
+
showpkg = shell_out!("apt-cache showpkg #{package}").stdout
|
|
62
|
+
providers = Hash.new
|
|
63
|
+
showpkg.rpartition(/Reverse Provides:? #{$/}/)[2].each_line do |line|
|
|
64
|
+
provider, version = line.split
|
|
65
|
+
providers[provider] = version
|
|
66
|
+
end
|
|
67
|
+
# Check if the package providing this virtual package is installed
|
|
68
|
+
num_providers = providers.length
|
|
69
|
+
raise Chef::Exceptions::Package, "#{@new_resource.package_name} has no candidate in the apt-cache" if num_providers == 0
|
|
70
|
+
# apt will only install a virtual package if there is a single providing package
|
|
71
|
+
raise Chef::Exceptions::Package, "#{@new_resource.package_name} is a virtual package provided by #{num_providers} packages, you must explicitly select one to install" if num_providers > 1
|
|
72
|
+
# Check if the package providing this virtual package is installed
|
|
73
|
+
Chef::Log.info("#{@new_resource} is a virtual package, actually acting on package[#{providers.keys.first}]")
|
|
74
|
+
installed = check_package_state(providers.keys.first)
|
|
75
|
+
else
|
|
76
|
+
Chef::Log.debug("#{@new_resource} candidate version is #{$1}")
|
|
77
|
+
@candidate_version = $1
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
return installed
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def install_package(name, version)
|
|
86
|
+
package_name = "#{name}=#{version}"
|
|
87
|
+
package_name = name if @is_virtual_package
|
|
88
|
+
run_command_with_systems_locale(
|
|
89
|
+
:command => "apt-get -q -y#{expand_options(@new_resource.options)} install #{package_name}",
|
|
90
|
+
:environment => {
|
|
91
|
+
"DEBIAN_FRONTEND" => "noninteractive"
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def upgrade_package(name, version)
|
|
97
|
+
install_package(name, version)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def remove_package(name, version)
|
|
101
|
+
package_name = "#{name}"
|
|
102
|
+
run_command_with_systems_locale(
|
|
103
|
+
:command => "apt-get -q -y#{expand_options(@new_resource.options)} remove #{package_name}",
|
|
104
|
+
:environment => {
|
|
105
|
+
"DEBIAN_FRONTEND" => "noninteractive"
|
|
106
|
+
}
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def purge_package(name, version)
|
|
111
|
+
run_command_with_systems_locale(
|
|
112
|
+
:command => "apt-get -q -y#{expand_options(@new_resource.options)} purge #{@new_resource.package_name}",
|
|
113
|
+
:environment => {
|
|
114
|
+
"DEBIAN_FRONTEND" => "noninteractive"
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def preseed_package(name, version)
|
|
120
|
+
preseed_file = get_preseed_file(name, version)
|
|
121
|
+
if preseed_file
|
|
122
|
+
Chef::Log.info("#{@new_resource} pre-seeding package installation instructions")
|
|
123
|
+
run_command_with_systems_locale(
|
|
124
|
+
:command => "debconf-set-selections #{preseed_file}",
|
|
125
|
+
:environment => {
|
|
126
|
+
"DEBIAN_FRONTEND" => "noninteractive"
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def reconfig_package(name, version)
|
|
133
|
+
Chef::Log.info("#{@new_resource} reconfiguring")
|
|
134
|
+
run_command_with_systems_locale(
|
|
135
|
+
:command => "dpkg-reconfigure #{name}",
|
|
136
|
+
:environment => {
|
|
137
|
+
"DEBIAN_FRONTEND" => "noninteractive"
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|