cloud-toaster 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/LICENSE +202 -0
- data/README.md +54 -0
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/bin/strace-4.8_patched/strace-i686 +0 -0
- data/bin/strace-4.8_patched/strace-x86_64 +0 -0
- data/bin/toaster +74 -0
- data/chef/cookbooks/chef-solo-search/CHANGELOG +16 -0
- data/chef/cookbooks/chef-solo-search/Gemfile +8 -0
- data/chef/cookbooks/chef-solo-search/LICENSE +202 -0
- data/chef/cookbooks/chef-solo-search/NOTICE +18 -0
- data/chef/cookbooks/chef-solo-search/README.md +143 -0
- data/chef/cookbooks/chef-solo-search/Rakefile +10 -0
- data/chef/cookbooks/chef-solo-search/libraries/search/overrides.rb +100 -0
- data/chef/cookbooks/chef-solo-search/libraries/search/parser.rb +222 -0
- data/chef/cookbooks/chef-solo-search/libraries/search.rb +75 -0
- data/chef/cookbooks/chef-solo-search/libraries/vendor/chef/solr_query/lucene.treetop +150 -0
- data/chef/cookbooks/chef-solo-search/libraries/vendor/chef/solr_query/lucene_nodes.rb +285 -0
- data/chef/cookbooks/chef-solo-search/libraries/vendor/chef/solr_query/query_transform.rb +65 -0
- data/chef/cookbooks/chef-solo-search/metadata.rb +11 -0
- data/chef/cookbooks/chef-solo-search/recipes/default.rb +3 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/node/alpha.json +10 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/node/beta.json +10 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/node/without_json_class.json +7 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/users/jerry.json +8 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/users/lea.json +10 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/users/mike.json +13 -0
- data/chef/cookbooks/chef-solo-search/tests/data/data_bags/users/tom.json +10 -0
- data/chef/cookbooks/chef-solo-search/tests/gemfiles/Gemfile.10 +4 -0
- data/chef/cookbooks/chef-solo-search/tests/gemfiles/Gemfile.11 +5 -0
- data/chef/cookbooks/chef-solo-search/tests/test_data_bags.rb +45 -0
- data/chef/cookbooks/chef-solo-search/tests/test_search.rb +244 -0
- data/chef/cookbooks/lxc/attributes/create_lxc.rb +8 -0
- data/chef/cookbooks/lxc/attributes/general.rb +15 -0
- data/chef/cookbooks/lxc/attributes/init_bare_os.rb +15 -0
- data/chef/cookbooks/lxc/attributes/init_proto.rb +18 -0
- data/chef/cookbooks/lxc/attributes/install_ruby.rb +51 -0
- data/chef/cookbooks/lxc/attributes/mount_volume.rb +11 -0
- data/chef/cookbooks/lxc/attributes/setup_host.rb +9 -0
- data/chef/cookbooks/lxc/attributes/setup_proxy.rb +3 -0
- data/chef/cookbooks/lxc/attributes/start_lxc.rb +11 -0
- data/chef/cookbooks/lxc/attributes/stop_lxc.rb +3 -0
- data/chef/cookbooks/lxc/files/install.chef.sh +78 -0
- data/chef/cookbooks/lxc/metadata.json +6 -0
- data/chef/cookbooks/lxc/recipes/create_lxc.rb +106 -0
- data/chef/cookbooks/lxc/recipes/init_bare_os.rb +82 -0
- data/chef/cookbooks/lxc/recipes/init_proto.rb +417 -0
- data/chef/cookbooks/lxc/recipes/install_docker.rb +61 -0
- data/chef/cookbooks/lxc/recipes/install_ruby.rb +28 -0
- data/chef/cookbooks/lxc/recipes/mount_volume.rb +63 -0
- data/chef/cookbooks/lxc/recipes/setup_database.rb +22 -0
- data/chef/cookbooks/lxc/recipes/setup_host.rb +179 -0
- data/chef/cookbooks/lxc/recipes/setup_proxy.rb +157 -0
- data/chef/cookbooks/lxc/recipes/start_lxc.rb +180 -0
- data/chef/cookbooks/lxc/recipes/stop_lxc.rb +86 -0
- data/chef/cookbooks/mysql/CHANGELOG.md +391 -0
- data/chef/cookbooks/mysql/README.md +211 -0
- data/chef/cookbooks/mysql/attributes/default.rb +22 -0
- data/chef/cookbooks/mysql/libraries/helpers.rb +277 -0
- data/chef/cookbooks/mysql/libraries/matchers.rb +17 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client.rb +10 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_debian.rb +37 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_fedora.rb +38 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_freebsd.rb +33 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_omnios.rb +41 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_rhel.rb +42 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_smartos.rb +33 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_suse.rb +37 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_client_ubuntu.rb +37 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service.rb +10 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_debian.rb +193 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_fedora.rb +157 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_freebsd.rb +151 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_omnios.rb +232 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_rhel.rb +318 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_smartos.rb +216 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_suse.rb +170 -0
- data/chef/cookbooks/mysql/libraries/provider_mysql_service_ubuntu.rb +218 -0
- data/chef/cookbooks/mysql/libraries/resource_mysql_client.rb +11 -0
- data/chef/cookbooks/mysql/libraries/resource_mysql_service.rb +194 -0
- data/chef/cookbooks/mysql/metadata.json +40 -0
- data/chef/cookbooks/mysql/metadata.rb +20 -0
- data/chef/cookbooks/mysql/recipes/client.rb +22 -0
- data/chef/cookbooks/mysql/recipes/server.rb +33 -0
- data/chef/cookbooks/mysql/recipes/server_deprecated.rb +23 -0
- data/chef/cookbooks/mysql/templates/default/5.0/my.cnf.erb +38 -0
- data/chef/cookbooks/mysql/templates/default/5.1/my.cnf.erb +38 -0
- data/chef/cookbooks/mysql/templates/default/5.5/my.cnf.erb +38 -0
- data/chef/cookbooks/mysql/templates/default/5.6/my.cnf.erb +39 -0
- data/chef/cookbooks/mysql/templates/default/apparmor/usr.sbin.mysqld.erb +40 -0
- data/chef/cookbooks/mysql/templates/default/debian/debian.cnf.erb +12 -0
- data/chef/cookbooks/mysql/templates/default/debian/mysql-server.seed.erb +10 -0
- data/chef/cookbooks/mysql/templates/default/deprecated/my.cnf.erb +374 -0
- data/chef/cookbooks/mysql/templates/default/grants/grants.sql.erb +27 -0
- data/chef/cookbooks/mysql/templates/default/omnios/mysql.xml.erb +26 -0
- data/chef/cookbooks/mysql/templates/default/omnios/svc.method.mysqld.erb +29 -0
- data/chef/cookbooks/mysql/templates/default/smartos/mysql.xml.erb +32 -0
- data/chef/cookbooks/mysql/templates/default/smartos/svc.method.mysqld.erb +29 -0
- data/chef/cookbooks/openssl/README.md +37 -0
- data/chef/cookbooks/openssl/libraries/secure_password.rb +37 -0
- data/chef/cookbooks/openssl/metadata.json +30 -0
- data/chef/cookbooks/openssl/metadata.rb +8 -0
- data/chef/cookbooks/openssl/recipes/default.rb +19 -0
- data/chef/cookbooks/ssh/attributes/default.rb +8 -0
- data/chef/cookbooks/ssh/recipes/authorize_key.rb +20 -0
- data/chef/cookbooks/toaster/attributes/testing.rb +37 -0
- data/chef/cookbooks/toaster/libraries/default.rb +61 -0
- data/chef/cookbooks/toaster/recipes/post__cakephp__default.rb +27 -0
- data/chef/cookbooks/toaster/recipes/post__cube__default.rb +26 -0
- data/chef/cookbooks/toaster/recipes/post__drupal__default.rb +16 -0
- data/chef/cookbooks/toaster/recipes/post__icinga__default.rb +9 -0
- data/chef/cookbooks/toaster/recipes/post__node__default.rb +16 -0
- data/chef/cookbooks/toaster/recipes/post__virtualbox__default.rb +12 -0
- data/chef/cookbooks/toaster/recipes/post__wordpress__default.rb +12 -0
- data/chef/cookbooks/toaster/recipes/pre__aegir__default.rb +12 -0
- data/chef/cookbooks/toaster/recipes/pre__app__default.rb +3 -0
- data/chef/cookbooks/toaster/recipes/pre__cakephp__default.rb +24 -0
- data/chef/cookbooks/toaster/recipes/pre__cube__default.rb +9 -0
- data/chef/cookbooks/toaster/recipes/pre__disco__default.rb +21 -0
- data/chef/cookbooks/toaster/recipes/pre__drbd__default.rb +7 -0
- data/chef/cookbooks/toaster/recipes/pre__eaccelerator__default.rb +2 -0
- data/chef/cookbooks/toaster/recipes/pre__elasticsearch-head__default.rb +11 -0
- data/chef/cookbooks/toaster/recipes/pre__elasticsearch__default.rb +6 -0
- data/chef/cookbooks/toaster/recipes/pre__gitosis__default.rb +17 -0
- data/chef/cookbooks/toaster/recipes/pre__kafka__default.rb +3 -0
- data/chef/cookbooks/toaster/recipes/pre__munin__server.rb +6 -0
- data/chef/cookbooks/toaster/recipes/pre__mysql__server.rb +4 -0
- data/chef/cookbooks/toaster/recipes/pre__nagios__default.rb +3 -0
- data/chef/cookbooks/toaster/recipes/pre__netkernel__default.rb +24 -0
- data/chef/cookbooks/toaster/recipes/pre__php__default.rb +2 -0
- data/chef/cookbooks/toaster/recipes/pre__postgresql__server.rb +3 -0
- data/chef/cookbooks/toaster/recipes/pre__pxe_dust__default.rb +9 -0
- data/chef/cookbooks/toaster/recipes/pre__pxe_install_server__default.rb +6 -0
- data/chef/cookbooks/toaster/recipes/pre__riak__default.rb +40 -0
- data/chef/cookbooks/toaster/recipes/pre__sensu__default.rb +9 -0
- data/chef/cookbooks/toaster/recipes/pre__sol__default.rb +2 -0
- data/chef/cookbooks/toaster/recipes/pre__solr__default.rb +6 -0
- data/chef/cookbooks/toaster/recipes/pre__sonar__default.rb +2 -0
- data/chef/cookbooks/toaster/recipes/pre__storm__default.rb +3 -0
- data/chef/cookbooks/toaster/recipes/pre__vmware__tools.rb +4 -0
- data/chef/cookbooks/toaster/recipes/pre__wordpress__default.rb +17 -0
- data/chef/cookbooks/toaster/recipes/pre__xen__default.rb +7 -0
- data/chef/cookbooks/toaster/recipes/pre__znc__default.rb +7 -0
- data/chef/cookbooks/toaster/recipes/testing.rb +241 -0
- data/chef/cookbooks/toaster/recipes/testing_post.rb +36 -0
- data/chef/cookbooks/yum/CHANGELOG.md +212 -0
- data/chef/cookbooks/yum/README.md +268 -0
- data/chef/cookbooks/yum/attributes/main.rb +97 -0
- data/chef/cookbooks/yum/libraries/matchers.rb +27 -0
- data/chef/cookbooks/yum/metadata.json +34 -0
- data/chef/cookbooks/yum/metadata.rb +13 -0
- data/chef/cookbooks/yum/providers/globalconfig.rb +37 -0
- data/chef/cookbooks/yum/providers/repository.rb +85 -0
- data/chef/cookbooks/yum/recipes/default.rb +34 -0
- data/chef/cookbooks/yum/resources/globalconfig.rb +105 -0
- data/chef/cookbooks/yum/resources/repository.rb +63 -0
- data/chef/cookbooks/yum/templates/default/main.erb +251 -0
- data/chef/cookbooks/yum/templates/default/repo.erb +109 -0
- data/chef/cookbooks/yum-mysql-community/CHANGELOG.md +67 -0
- data/chef/cookbooks/yum-mysql-community/README.md +137 -0
- data/chef/cookbooks/yum-mysql-community/attributes/mysql-connectors-community.rb +31 -0
- data/chef/cookbooks/yum-mysql-community/attributes/mysql55-community.rb +29 -0
- data/chef/cookbooks/yum-mysql-community/attributes/mysql56-community.rb +31 -0
- data/chef/cookbooks/yum-mysql-community/files/default/mysql_pubkey.asc +33 -0
- data/chef/cookbooks/yum-mysql-community/metadata.json +30 -0
- data/chef/cookbooks/yum-mysql-community/metadata.rb +8 -0
- data/chef/cookbooks/yum-mysql-community/recipes/connectors.rb +48 -0
- data/chef/cookbooks/yum-mysql-community/recipes/mysql55.rb +48 -0
- data/chef/cookbooks/yum-mysql-community/recipes/mysql56.rb +48 -0
- data/config.json +34 -0
- data/lib/toaster/api.rb +447 -0
- data/lib/toaster/chef/chef_listener.rb +514 -0
- data/lib/toaster/chef/chef_node_inspector.rb +165 -0
- data/lib/toaster/chef/chef_util.rb +865 -0
- data/lib/toaster/chef/failsafe_resource_parser.rb +140 -0
- data/lib/toaster/chef/resource_inspector.rb +536 -0
- data/lib/toaster/db/cache.rb +98 -0
- data/lib/toaster/db/cached_db.rb +53 -0
- data/lib/toaster/db/cgi_session_cache.rb +209 -0
- data/lib/toaster/db/db.rb +98 -0
- data/lib/toaster/db/mysql.rb +18 -0
- data/lib/toaster/db/ram_cache.rb +203 -0
- data/lib/toaster/markup/jdom-1.1.jar +0 -0
- data/lib/toaster/markup/jdom-b7.jar +0 -0
- data/lib/toaster/markup/markup_util.rb +437 -0
- data/lib/toaster/markup/vmtools-utils-0.5.jar +0 -0
- data/lib/toaster/markup/xmldiff.sh +5 -0
- data/lib/toaster/model/additional_property.rb +11 -0
- data/lib/toaster/model/automation.rb +218 -0
- data/lib/toaster/model/automation_attribute.rb +13 -0
- data/lib/toaster/model/automation_run.rb +104 -0
- data/lib/toaster/model/ignore_property.rb +11 -0
- data/lib/toaster/model/key_value_pair.rb +59 -0
- data/lib/toaster/model/run_attribute.rb +17 -0
- data/lib/toaster/model/state.rb +17 -0
- data/lib/toaster/model/state_change.rb +79 -0
- data/lib/toaster/model/task.rb +292 -0
- data/lib/toaster/model/task_execution.rb +76 -0
- data/lib/toaster/model/task_parameter.rb +66 -0
- data/lib/toaster/model/user.rb +32 -0
- data/lib/toaster/ohai/_disabled_/network_ports.rb +81 -0
- data/lib/toaster/ohai/apache/apache.rb +48 -0
- data/lib/toaster/ohai/cron/cron.rb +32 -0
- data/lib/toaster/ohai/files/_meta.rb +30 -0
- data/lib/toaster/ohai/files/files.rb +20 -0
- data/lib/toaster/ohai/gems/gems.rb +19 -0
- data/lib/toaster/ohai/groups/groups.rb +20 -0
- data/lib/toaster/ohai/iptables/iptables.rb +48 -0
- data/lib/toaster/ohai/mounts/mounts.rb +26 -0
- data/lib/toaster/ohai/mysql/mysql.rb +31 -0
- data/lib/toaster/ohai/packages/_meta.rb +86 -0
- data/lib/toaster/ohai/packages/packages.rb +33 -0
- data/lib/toaster/ohai/ports/ports.rb +21 -0
- data/lib/toaster/ohai/routes/routes.rb +25 -0
- data/lib/toaster/ohai/services/services.rb +42 -0
- data/lib/toaster/ohai/users/users.rb +17 -0
- data/lib/toaster/state/convergence.rb +197 -0
- data/lib/toaster/state/idempotence.rb +192 -0
- data/lib/toaster/state/ptrace_util.rb +48 -0
- data/lib/toaster/state/state_node.rb +105 -0
- data/lib/toaster/state/state_transition.rb +38 -0
- data/lib/toaster/state/state_transition_graph.rb +701 -0
- data/lib/toaster/state/syscall_tracer.rb +317 -0
- data/lib/toaster/state/system_state.rb +349 -0
- data/lib/toaster/state/transition_edge.rb +65 -0
- data/lib/toaster/test/test_attribute.rb +19 -0
- data/lib/toaster/test/test_case.rb +175 -0
- data/lib/toaster/test/test_coverage.rb +147 -0
- data/lib/toaster/test/test_coverage_goal.rb +108 -0
- data/lib/toaster/test/test_generator.rb +246 -0
- data/lib/toaster/test/test_orchestrator.rb +165 -0
- data/lib/toaster/test/test_result.rb +73 -0
- data/lib/toaster/test/test_runner.rb +394 -0
- data/lib/toaster/test/test_suite.rb +151 -0
- data/lib/toaster/test_manager.rb +281 -0
- data/lib/toaster/toaster_app_service.rb +141 -0
- data/lib/toaster/util/blocking_map.rb +80 -0
- data/lib/toaster/util/combinatorial.rb +58 -0
- data/lib/toaster/util/config.rb +103 -0
- data/lib/toaster/util/docker.rb +71 -0
- data/lib/toaster/util/logging.rb +19 -0
- data/lib/toaster/util/lxc.rb +383 -0
- data/lib/toaster/util/mem_dump.rb +38 -0
- data/lib/toaster/util/proxy.rb +23 -0
- data/lib/toaster/util/timestamp.rb +131 -0
- data/lib/toaster/util/util.rb +437 -0
- data/lib/toaster/web_ui.rb +7 -0
- data/webapp/Gemfile +46 -0
- data/webapp/Gemfile.lock +237 -0
- data/webapp/Rakefile +6 -0
- data/webapp/app/assets/fonts/font.woff +0 -0
- data/webapp/app/assets/images/final_state.gif +0 -0
- data/webapp/app/assets/images/initial_state.gif +0 -0
- data/webapp/app/assets/images/loading.gif +0 -0
- data/webapp/app/assets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/webapp/app/assets/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/webapp/app/assets/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/webapp/app/assets/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/webapp/app/assets/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/webapp/app/assets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/webapp/app/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/webapp/app/assets/images/ui-icons_222222_256x240.png +0 -0
- data/webapp/app/assets/javascripts/analysis.js.coffee +3 -0
- data/webapp/app/assets/javascripts/application.js +16 -0
- data/webapp/app/assets/javascripts/execs.js.coffee +3 -0
- data/webapp/app/assets/javascripts/graph.js +441 -0
- data/webapp/app/assets/javascripts/jquery-1.7.2.js +9404 -0
- data/webapp/app/assets/javascripts/jquery-ui-1.8.22.js +11529 -0
- data/webapp/app/assets/javascripts/jquery.cookie.js +96 -0
- data/webapp/app/assets/javascripts/jquery.hotkeys.js +99 -0
- data/webapp/app/assets/javascripts/jquery.jstree.js +4551 -0
- data/webapp/app/assets/javascripts/jsPlumb/jquery.jsPlumb-1.3.14-all-min.js +1 -0
- data/webapp/app/assets/javascripts/jstree.util.js +53 -0
- data/webapp/app/assets/javascripts/scripts.js.coffee +3 -0
- data/webapp/app/assets/javascripts/settings.js.coffee +3 -0
- data/webapp/app/assets/javascripts/test.js.coffee +3 -0
- data/webapp/app/assets/javascripts/util.js.coffee +3 -0
- data/webapp/app/assets/stylesheets/analysis.css.scss +3 -0
- data/webapp/app/assets/stylesheets/application.css +49 -0
- data/webapp/app/assets/stylesheets/execs.css.scss +3 -0
- data/webapp/app/assets/stylesheets/graph.css +159 -0
- data/webapp/app/assets/stylesheets/jquery-ui-1.8.6.custom.css +572 -0
- data/webapp/app/assets/stylesheets/layout.css +151 -0
- data/webapp/app/assets/stylesheets/menu.css +186 -0
- data/webapp/app/assets/stylesheets/reset.css +41 -0
- data/webapp/app/assets/stylesheets/scripts.css.scss +3 -0
- data/webapp/app/assets/stylesheets/settings.css.scss +3 -0
- data/webapp/app/assets/stylesheets/test.css.scss +3 -0
- data/webapp/app/assets/stylesheets/util.css.scss +3 -0
- data/webapp/app/assets/stylesheets/websymbols/websymbols-regular-webfont.eot +0 -0
- data/webapp/app/assets/stylesheets/websymbols/websymbols-regular-webfont.svg +1 -0
- data/webapp/app/assets/stylesheets/websymbols/websymbols-regular-webfont.ttf +0 -0
- data/webapp/app/assets/stylesheets/websymbols/websymbols-regular-webfont.woff +0 -0
- data/webapp/app/controllers/analysis_controller.rb +7 -0
- data/webapp/app/controllers/application_controller.rb +14 -0
- data/webapp/app/controllers/base_controller.rb +91 -0
- data/webapp/app/controllers/execs_controller.rb +59 -0
- data/webapp/app/controllers/graph_controller.rb +17 -0
- data/webapp/app/controllers/scripts_controller.rb +166 -0
- data/webapp/app/controllers/settings_controller.rb +10 -0
- data/webapp/app/controllers/test_controller.rb +127 -0
- data/webapp/app/controllers/util_controller.rb +6 -0
- data/webapp/app/helpers/analysis_helper.rb +2 -0
- data/webapp/app/helpers/application_helper.rb +2 -0
- data/webapp/app/helpers/automations_helper.rb +2 -0
- data/webapp/app/helpers/execs_helper.rb +2 -0
- data/webapp/app/helpers/scripts_helper.rb +2 -0
- data/webapp/app/helpers/settings_helper.rb +2 -0
- data/webapp/app/helpers/test_helper.rb +2 -0
- data/webapp/app/helpers/util_helper.rb +2 -0
- data/webapp/app/views/analysis/convergence.html.erb +156 -0
- data/webapp/app/views/analysis/idempotence.html.erb +2 -0
- data/webapp/app/views/execs/automation_runs.html.erb +98 -0
- data/webapp/app/views/execs/task_executions.html.erb +154 -0
- data/webapp/app/views/graph/graph_frame.html +101 -0
- data/webapp/app/views/layouts/application.html.erb +114 -0
- data/webapp/app/views/scripts/edit.html.erb +58 -0
- data/webapp/app/views/scripts/graph.html.erb +75 -0
- data/webapp/app/views/scripts/import_chef.html.erb +104 -0
- data/webapp/app/views/scripts/scripts.html.erb +116 -0
- data/webapp/app/views/scripts/tasks.html.erb +139 -0
- data/webapp/app/views/settings/containers.html.erb +161 -0
- data/webapp/app/views/settings/index.html.erb +51 -0
- data/webapp/app/views/test/cases.html.erb +2 -0
- data/webapp/app/views/test/gen.html.erb +229 -0
- data/webapp/app/views/test/suites.html.erb +205 -0
- data/webapp/app/views/util/chef.html.erb +53 -0
- data/webapp/bin/bundle +3 -0
- data/webapp/bin/rails +4 -0
- data/webapp/bin/rake +4 -0
- data/webapp/config/application.rb +28 -0
- data/webapp/config/boot.rb +18 -0
- data/webapp/config/database.yml +42 -0
- data/webapp/config/environment.rb +5 -0
- data/webapp/config/environments/development.rb +35 -0
- data/webapp/config/environments/production.rb +80 -0
- data/webapp/config/environments/test.rb +36 -0
- data/webapp/config/initializers/backtrace_silencers.rb +7 -0
- data/webapp/config/initializers/devise.rb +256 -0
- data/webapp/config/initializers/filter_parameter_logging.rb +4 -0
- data/webapp/config/initializers/inflections.rb +16 -0
- data/webapp/config/initializers/mime_types.rb +5 -0
- data/webapp/config/initializers/patches.rb +13 -0
- data/webapp/config/initializers/secret_token.rb +12 -0
- data/webapp/config/initializers/session_store.rb +6 -0
- data/webapp/config/initializers/wrap_parameters.rb +16 -0
- data/webapp/config/locales/devise.en.yml +59 -0
- data/webapp/config/locales/en.yml +23 -0
- data/webapp/config/routes.rb +113 -0
- data/webapp/config.ru +4 -0
- data/webapp/db/development.sqlite3 +0 -0
- data/webapp/db/migrate/20140624002037_devise_create_users.rb +42 -0
- data/webapp/db/migrate/20140628002058_create_all_tables.rb +159 -0
- data/webapp/db/schema.rb +162 -0
- data/webapp/db/seeds.rb +7 -0
- data/webapp/log/development.log +167823 -0
- data/webapp/public/404.html +58 -0
- data/webapp/public/422.html +58 -0
- data/webapp/public/500.html +57 -0
- data/webapp/public/favicon.ico +0 -0
- data/webapp/public/robots.txt +5 -0
- data/webapp/test/controllers/analysis_controller_test.rb +14 -0
- data/webapp/test/controllers/automations_controller_test.rb +49 -0
- data/webapp/test/controllers/execs_controller_test.rb +9 -0
- data/webapp/test/controllers/executions_controller_test.rb +9 -0
- data/webapp/test/controllers/runs_controller_test.rb +7 -0
- data/webapp/test/controllers/scripts_controller_test.rb +9 -0
- data/webapp/test/controllers/settings_controller_test.rb +9 -0
- data/webapp/test/controllers/test_controller_test.rb +14 -0
- data/webapp/test/controllers/util_controller_test.rb +9 -0
- data/webapp/test/fixtures/users.yml +11 -0
- data/webapp/test/helpers/analysis_helper_test.rb +4 -0
- data/webapp/test/helpers/automations_helper_test.rb +4 -0
- data/webapp/test/helpers/execs_helper_test.rb +4 -0
- data/webapp/test/helpers/executions_helper_test.rb +4 -0
- data/webapp/test/helpers/runs_helper_test.rb +4 -0
- data/webapp/test/helpers/scripts_helper_test.rb +4 -0
- data/webapp/test/helpers/settings_helper_test.rb +4 -0
- data/webapp/test/helpers/test_helper_test.rb +4 -0
- data/webapp/test/helpers/util_helper_test.rb +4 -0
- data/webapp/test/models/user_test.rb +7 -0
- data/webapp/test/test_helper.rb +15 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/analysis.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/automations.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/execs.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/executions.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/scripts.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/settings.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/test.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sass/1330a34c6b24ed44c0f194c03246f627289a985a/util.css.scssc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/06a1cdb3d5472dd126cffc18f548c342 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/0dc0562647e703ca0535da3b9fcad796 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/113f1c71cb0f2a786729477989122982 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/151a1c6b128721d8923ba0c380a2af17 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/1722fb8a6daad566c8a6d5ef31969459 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/1a05555c46560c6b246aa0a996679bc6 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/1cb7fb6aa8bd1c2b7df8f7c52442e345 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/1d76f803b0a83adc5ea7e7c848657967 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/200152f95fc464d69c425ed8fdc2fbcc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/2049c8927ebd046c8a3291f81041d5f1 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/207907100aabd08a6767e39a95b364e3 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/249e2d4db815922fc72419c4a1407caf +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/3034e4c334b1ebed9433e33050555f18 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/316c88d859cc3666044e51b1dd89e872 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/347f43d816178c8ba11a28a771696924 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/36ab92a3b8d527ed1eff0944b5f1263d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/3893b852ff196f05ff6ca8e38bb2237f +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/3c358bd5fa32d151c7aa44971dd9b96f +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/3ce88fad85146e0bed233f5419c24d29 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/3dabcb7c89677292e1e019a9bac446e5 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/4116fac01e6d379ede37af725a592477 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/42628e032b8f0b16a5ba01a1fcc7b6d7 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/437b258a98e8fe2c87fa8e24b7ce9abf +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/43e98ed206f05738ae305e7e1b09a840 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/468da8933ba442b88b2f4b0e40c2ac30 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/48ef3fa68e9084c7cfa84e525decc318 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/4b68dcc030691297629a7156361018dc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/50368b1bd77c9130d821cbad89ab83ac +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/511a980807b8d16fc3fb839991041865 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/516a0973874a73d0d15feec9448f7466 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/569e21b0ca1a230c7880f8d7a8b1febf +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/5b5543d2ed5bed100f1739fc12ebf2c5 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/5c10dbffb918651dc0498579ba9a6853 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/5c366b5370316b3e9c03d1a58cb5eb44 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/5fcb9466e0d5cb0e31b35957fe2d3901 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/61da396fb86c5ecd844a2d83ac759b4b +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/624ba87170059068845a4651b3cd2c7c +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/6391f61b6121feda70da6d0a22520fdd +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/653a981829c12a52bd57b7918168a148 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/66479793d9e5683d9f7fa67522d1962d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/69c589bd224ee0df5ab02e4568e0ab39 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/6dd7c564897b7e66eecbb180baeef2c6 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/6e2b92a4e6966cb78e63207bc7888391 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/70adb410f59a0edc5aea8c2b2ef8a441 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/72cbfd5bf33945bcce154f7a4feaf04d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/740ee9d355ada8cf5e9beb620f2cd5cc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/74770a22b5d1b0b3bc3527da83706f96 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/759bf97655af50852816720db7b59fcb +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/76e9c19246c684413a02af695fa2b0bc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7728beeace48ca12e336d2bce0158871 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/77f49730c7b689f75a2e174fbd3ace2a +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/78021a57030fd36cf82699aad9910b26 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/796b349b06da691fe5f069f9e3947fcb +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/79e7505c70697cc7d34d4a8351c3b840 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7b2b7d9034fc7b77daf5da1436667e6f +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7c2ea2ca2cdd89b062bf23f44e8f599c +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7ea112af55e6df12cdff377052b71420 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7f27632588dd316836b009a621c0176c +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/7fcef9f644290dea8d0e4bf13f6bb8e9 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/81c6bf67419a29257ed79f442c24907d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/83656ce9260eb473c1654420e0180167 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/83e8bdddefc2dce069b56e6650135397 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/880c796f41e5d67ae68ed239acfc91e3 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/8c1c39dd537d2c9990fe9c70a5646b06 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/8d763042da5254015767385ce324b348 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/91e1ccbf65ff4d9b0f42b1159796bcf2 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/92cdfac7698b6bb68983cf317c1cedef +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/94cab8cbc120e152ce4c444492a3fc1d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/96b918c3c041b6a089c8adc870fa3aaa +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/97cbe306627b432ab3bfb52416690d1d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/98da83d396c0c00eb03937ecbc2e6bfa +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9db04db20ec9c4a0f84ed01caa5e6e2b +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9dc1c251f50c828fae95d6107619c53e +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9e91711ab34bbf89ad1cfb4351027d36 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9f587881f98b328b656e6456178418b5 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9fc981560caba00621bb95d0974ad076 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/9fd4385f8fda99f3ddd3f133a89231d1 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/a32ab71649e3db15eca95bcc3a7588da +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/a497c976969bdbb1f69875358d39d3b5 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/b06058d455770c1d9db6b6670bc4bf4d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/b3da405f1e68470ad6146a1322f2438c +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/b4ba5853663f6721d15942ce08dd76bf +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/b6f1534bcdbff92a16c85487f363235a +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/b9c57b9750f8af3551b1a5d9e27f0a92 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/bb5be6a0ee889a15214e2442aee8c6e1 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/bc80a81b2d67b5ad40f3c7a2bb6e6f22 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/bfaba27d5ce71d292f453659b0755511 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/bfac6cd2984fbd5e0d762389e3c37164 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/c17bec9e3b5db6d8385c3d6eb362e628 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/c1a9eceddc0a1e41eb2992e9204f71e6 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/c50cd87be040044504b5c3fde1047e24 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/c5907cfd07b24ad19b8c80e8af618a57 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/c8da5594caf845a183dd1c6cd45c5433 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/cbc6968ed49fa14db439a64dd0a46abc +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/cedf710ee090647b81c08675583eca62 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/cf1e3cebfad43293c3c470a5e437ebc9 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/d5a14f86bb4b422fdd8eb4722d966c9a +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/d66b9cdd3230f9e5354e495e17097c49 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/dfa0ed87d851222fe58ada385e3f037d +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e1aa402390382db4d97b27cb094485fa +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e4f1db35ef9d9fbbf53252a44e381eb8 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e57eb6c1ad51fd8c13afc0e719a259b5 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e7c37b542e914e392ec326190cea1aa2 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e923d7e19c216d4a924831f3896e007a +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/e96a414a621483bbc89e73f11be5e7b4 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/eafcfc3d2561c18743c1b32f0f710c68 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/ecdd630f5466d45a2afa7515aaa5fc3b +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/ee60a0a35d60cff425373970547694bd +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/eee2c36b75709b0c3797c2a151fdd5d3 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f104b66c0f89b453d0c8c73980fbab18 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f26d1bc86590415685e9836ad75d1774 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f4081e868eb565527099dba2c9d8c4de +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f813030b97e30415ad276bbd1f7e1fb4 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f8e3e28bc9640c25da58aea46c3ac4b3 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f9169d0a8b70eaf95de52b3c6ad51105 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/f939450f7a481e3fbeb158b81b39c624 +0 -0
- data/webapp/tmp/cache/assets/development/sprockets/fce73296b8298ac4c74b3e95cde4dfdb +0 -0
- metadata +941 -0
@@ -0,0 +1,268 @@
|
|
1
|
+
yum Cookbook
|
2
|
+
============
|
3
|
+
|
4
|
+
The Yum cookbook exposes the `yum_globalconfig` and `yum_repository`
|
5
|
+
resources that allows a user to both control global behavior and make
|
6
|
+
individual Yum repositories available for use. These resources aim to
|
7
|
+
allow the user to configure all options listed in the `yum.conf` man
|
8
|
+
page, found at http://linux.die.net/man/5/yum.conf
|
9
|
+
|
10
|
+
NOTES
|
11
|
+
-----
|
12
|
+
WARNING: Yum cookbook version 3.0.0 and above contain non-backwards
|
13
|
+
compatible breaking changes and will not work with cookbooks written
|
14
|
+
against the 2.x and 1.x series. Changes have been made to the
|
15
|
+
yum_repository resource, and the yum_key resource has been eliminated
|
16
|
+
entirely. Recipes have been eliminated and moved into their own
|
17
|
+
cookbooks. Please lock yum to the 2.x series in your Chef environments
|
18
|
+
until all dependent cookbooks have been ported.
|
19
|
+
|
20
|
+
Requirements
|
21
|
+
------------
|
22
|
+
* Chef 11 or higher
|
23
|
+
* Ruby 1.9 (preferably from the Chef full-stack installer)
|
24
|
+
* RHEL5, RHEL6, or other platforms within the family
|
25
|
+
|
26
|
+
Resources/Providers
|
27
|
+
-------------------
|
28
|
+
### yum_repository
|
29
|
+
This resource manages a yum repository configuration file at
|
30
|
+
/etc/yum.repos.d/`repositoryid`.repo. When the file needs to be
|
31
|
+
repaired, it calls yum-makecache so packages in the repo become
|
32
|
+
available to the next resource.
|
33
|
+
|
34
|
+
#### Example
|
35
|
+
``` ruby
|
36
|
+
# add the Zenoss repository
|
37
|
+
yum_repository 'zenoss' do
|
38
|
+
description "Zenoss Stable repo"
|
39
|
+
baseurl "http://dev.zenoss.com/yum/stable/"
|
40
|
+
gpgkey 'http://dev.zenoss.com/yum/RPM-GPG-KEY-zenoss'
|
41
|
+
action :create
|
42
|
+
end
|
43
|
+
|
44
|
+
# add the EPEL repo
|
45
|
+
yum_repository 'epel' do
|
46
|
+
description 'Extra Packages for Enterprise Linux'
|
47
|
+
mirrorlist 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch'
|
48
|
+
gpgkey 'http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6'
|
49
|
+
action :create
|
50
|
+
end
|
51
|
+
```
|
52
|
+
|
53
|
+
``` ruby
|
54
|
+
# delete CentOS-Media repo
|
55
|
+
yum_repository 'CentOS-Media' do
|
56
|
+
action :delete
|
57
|
+
end
|
58
|
+
```
|
59
|
+
|
60
|
+
#### Actions
|
61
|
+
- `:create` - creates a repository file and builds the repository listing
|
62
|
+
- `:delete` - deletes the repository file
|
63
|
+
|
64
|
+
#### Parameters
|
65
|
+
* `baseurl` - Must be a URL to the directory where the yum repository's
|
66
|
+
'repodata' directory lives. Can be an http://, ftp:// or file://
|
67
|
+
URL. You can specify multiple URLs in one baseurl statement.
|
68
|
+
* `cost` - relative cost of accessing this repository. Useful for
|
69
|
+
weighing one repo's packages as greater/less than any other.
|
70
|
+
defaults to 1000
|
71
|
+
* `description` - Maps to the 'name' parameter in a repository .conf.
|
72
|
+
Descriptive name for the repository channel. This directive must be
|
73
|
+
specified.
|
74
|
+
* `enabled` - Either `true` or `false`. This tells yum whether or not use this repository.
|
75
|
+
* `enablegroups` - Either `true` or `false`. Determines whether yum
|
76
|
+
will allow the use of package groups for this repository. Default is
|
77
|
+
`true` (package groups are allowed).
|
78
|
+
* `exclude` - List of packages to exclude from updates or installs. This
|
79
|
+
should be a space separated list in a single string. Shell globs using wildcards (eg. *
|
80
|
+
and ?) are allowed.
|
81
|
+
* `failovermethod` - Either 'roundrobin' or 'priority'.
|
82
|
+
* `fastestmirror_enabled` - Either `true` or `false`
|
83
|
+
* `gpgcheck` - Either `true` or `false`. This tells yum whether or not
|
84
|
+
it should perform a GPG signature check on packages. When this is
|
85
|
+
set in the [main] section it sets the default for all repositories.
|
86
|
+
The default is `true`.
|
87
|
+
* `gpgkey` - A URL pointing to the ASCII-armored GPG key file for the
|
88
|
+
repository. This option is used if yum needs a public key to verify
|
89
|
+
a package and the required key hasn't been imported into the RPM
|
90
|
+
database. If this option is set, yum will automatically import the
|
91
|
+
key from the specified URL.
|
92
|
+
* `http_caching` - Either 'all', 'packages', or 'none'. Determines how
|
93
|
+
upstream HTTP caches are instructed to handle any HTTP downloads
|
94
|
+
that Yum does. Defaults to 'all'
|
95
|
+
* `includepkgs` - Inverse of exclude. This is a list of packages you
|
96
|
+
want to use from a repository. If this option lists only one package
|
97
|
+
then that is all yum will ever see from the repository. Defaults to
|
98
|
+
an empty list.
|
99
|
+
* `keepalive` - Either `true` or `false`. This tells yum whether or not
|
100
|
+
HTTP/1.1 keepalive should be used with this repository.
|
101
|
+
* `max_retries` - Set the number of times any attempt to retrieve a file
|
102
|
+
should retry before returning an error. Setting this to '0' makes
|
103
|
+
yum try forever. Default is '10'.
|
104
|
+
* `metadata_expire` - Time (in seconds) after which the metadata will
|
105
|
+
expire. So that if the current metadata downloaded is less than this
|
106
|
+
many seconds old then yum will not update the metadata against the
|
107
|
+
repository. If you find that yum is not downloading information on
|
108
|
+
updates as often as you would like lower the value of this option.
|
109
|
+
You can also change from the default of using seconds to using days,
|
110
|
+
hours or minutes by appending a d, h or m respectively. The default
|
111
|
+
is 6 hours, to compliment yum-updatesd running once an hour. It's
|
112
|
+
also possible to use the word "never", meaning that the metadata
|
113
|
+
will never expire. Note that when using a metalink file the metalink
|
114
|
+
must always be newer than the metadata for the repository, due to
|
115
|
+
the validation, so this timeout also applies to the metalink file.
|
116
|
+
* `mirrorlist` - Specifies a URL to a file containing a list of
|
117
|
+
baseurls. This can be used instead of or with the baseurl option.
|
118
|
+
Substitution variables, described below, can be used with this
|
119
|
+
option. As a special hack is the mirrorlist URL contains the word
|
120
|
+
"metalink" then the value of mirrorlist is copied to metalink (if
|
121
|
+
metalink is not set)
|
122
|
+
* `mirror_expire` - Time (in seconds) after which the mirrorlist locally
|
123
|
+
cached will expire. If the current mirrorlist is less than this many
|
124
|
+
seconds old then yum will not download another copy of the
|
125
|
+
mirrorlist, it has the same extra format as metadata_expire. If you
|
126
|
+
find that yum is not downloading the mirrorlists as often as you
|
127
|
+
would like lower the value of this option.
|
128
|
+
* `mirrorlist_expire` - alias for mirror_expire
|
129
|
+
* `priority` - When the yum-priorities plug-in is enabled, you set
|
130
|
+
priorities on repository entries, where N is an integer from 1 to 99. The
|
131
|
+
default priority for repositories is 99.
|
132
|
+
* `proxy` - URL to the proxy server that yum should use.
|
133
|
+
* `proxy_username` - username to use for proxy
|
134
|
+
* `proxy_password` - password for this proxy
|
135
|
+
* `report_instanceid` - Report instance ID when using Amazon Linux AMIs
|
136
|
+
and repositories
|
137
|
+
* `repositoryid` - Must be a unique name for each repository, one word.
|
138
|
+
Defaults to name attribute.
|
139
|
+
* `source` - Use a custom template source instead of the default one
|
140
|
+
in the yum cookbook
|
141
|
+
* `sslcacert` - Path to the directory containing the databases of the
|
142
|
+
certificate authorities yum should use to verify SSL certificates.
|
143
|
+
Defaults to none - uses system default
|
144
|
+
* `sslclientcert` - Path to the SSL client certificate yum should use to
|
145
|
+
connect to repos/remote sites Defaults to none.
|
146
|
+
* `sslclientkey` - Path to the SSL client key yum should use to connect
|
147
|
+
to repos/remote sites Defaults to none.
|
148
|
+
* `sslverify` - Either `true` or `false`. Determines if yum will verify SSL certificates/hosts. Defaults to `true`
|
149
|
+
* `timeout` - Number of seconds to wait for a connection before timing
|
150
|
+
out. Defaults to 30 seconds. This may be too short of a time for
|
151
|
+
extremely overloaded sites.
|
152
|
+
|
153
|
+
### yum_globalconfig
|
154
|
+
This renders a template with global yum configuration parameters. The
|
155
|
+
default recipe uses it to render `/etc/yum.conf`. It is flexible
|
156
|
+
enough to be used in other scenarios, such as building RPMs in
|
157
|
+
isolation by modifying `installroot`.
|
158
|
+
|
159
|
+
#### Example
|
160
|
+
``` ruby
|
161
|
+
yum_globalconfig '/my/chroot/etc/yum.conf' do
|
162
|
+
cachedir '/my/chroot/etc/yum.conf'
|
163
|
+
keepcache 'yes'
|
164
|
+
debuglevel '2'
|
165
|
+
installroot '/my/chroot'
|
166
|
+
action :create
|
167
|
+
end
|
168
|
+
```
|
169
|
+
|
170
|
+
#### Parameters
|
171
|
+
`yum_globalconfig` can take most of the same parameters as a
|
172
|
+
`yum_repository`, plus more, too numerous to describe here. Below are
|
173
|
+
a few of the more commonly used ones. For a complete list, please
|
174
|
+
consult the `yum.conf` man page, found here:
|
175
|
+
http://linux.die.net/man/5/yum.conf
|
176
|
+
|
177
|
+
* `cachedir` - Directory where yum should store its cache and db
|
178
|
+
files. The default is '/var/cache/yum'.
|
179
|
+
* `keepcache` - Either `true` or `false`. Determines whether or not
|
180
|
+
yum keeps the cache of headers and packages after successful
|
181
|
+
installation. Default is `true` (keep files)
|
182
|
+
* `debuglevel` - Debug message output level. Practical range is 0-10.
|
183
|
+
Default is '2'.
|
184
|
+
* `exclude` - List of packages to exclude from updates or installs.
|
185
|
+
This should be a space separated list. Shell globs using wildcards
|
186
|
+
(eg. * and ?) are allowed.
|
187
|
+
* `installonlypkgs` = List of package provides that should only ever
|
188
|
+
be installed, never updated. Kernels in particular fall into this
|
189
|
+
category. Defaults to kernel, kernel-bigmem, kernel-enterprise,
|
190
|
+
kernel-smp, kernel-debug, kernel-unsupported, kernel-source,
|
191
|
+
kernel-devel, kernel-PAE, kernel-PAE-debug.
|
192
|
+
* `logfile` - Full directory and file name for where yum should write
|
193
|
+
its log file.
|
194
|
+
* `exactarch` - Either `true` or `false`. Set to `true` to make 'yum update' only
|
195
|
+
update the architectures of packages that you have installed. ie:
|
196
|
+
with this enabled yum will not install an i686 package to update an
|
197
|
+
x86_64 package. Default is `true`
|
198
|
+
* `gpgcheck` - Either `true` or `false`. This tells yum whether or not
|
199
|
+
it should perform a GPG signature check on the packages gotten from
|
200
|
+
this repository.
|
201
|
+
|
202
|
+
Recipes
|
203
|
+
-------
|
204
|
+
* `default` - Configures `yum_globalconfig[/etc/yum.conf]` with values
|
205
|
+
found in node attributes at `node['yum']['main']`
|
206
|
+
|
207
|
+
Attributes
|
208
|
+
----------
|
209
|
+
The following attributes are set by default
|
210
|
+
|
211
|
+
``` ruby
|
212
|
+
default['yum']['main']['cachedir'] = '/var/cache/yum/$basearch/$releasever'
|
213
|
+
default['yum']['main']['keepcache'] = false
|
214
|
+
default['yum']['main']['debuglevel'] = nil
|
215
|
+
default['yum']['main']['exclude'] = nil
|
216
|
+
default['yum']['main']['logfile'] = '/var/log/yum.log'
|
217
|
+
default['yum']['main']['exactarch'] = nil
|
218
|
+
default['yum']['main']['obsoletes'] = nil
|
219
|
+
default['yum']['main']['installonly_limit'] = nil
|
220
|
+
default['yum']['main']['installonlypkgs'] = nil
|
221
|
+
default['yum']['main']['installroot'] = nil
|
222
|
+
```
|
223
|
+
|
224
|
+
Related Cookbooks
|
225
|
+
-----------------
|
226
|
+
Recipes from older versions of this cookbook have been moved
|
227
|
+
individual cookbooks. Recipes for managing platform yum configurations
|
228
|
+
and installing specific repositories can be found in one (or more!) of
|
229
|
+
the following cookbook.
|
230
|
+
|
231
|
+
* yum-centos
|
232
|
+
* yum-fedora
|
233
|
+
* yum-amazon
|
234
|
+
* yum-epel
|
235
|
+
* yum-elrepo
|
236
|
+
* yum-repoforge
|
237
|
+
* yum-ius
|
238
|
+
* yum-percona
|
239
|
+
* yum-pgdg
|
240
|
+
|
241
|
+
Usage
|
242
|
+
-----
|
243
|
+
Put `depends 'yum'` in your metadata.rb to gain access to the
|
244
|
+
yum_repository resource.
|
245
|
+
|
246
|
+
License & Authors
|
247
|
+
-----------------
|
248
|
+
- Author:: Eric G. Wolfe
|
249
|
+
- Author:: Matt Ray (<matt@getchef.com>)
|
250
|
+
- Author:: Joshua Timberman (<joshua@getchef.com>)
|
251
|
+
- Author:: Sean OMeara (<someara@getchef.com>)
|
252
|
+
|
253
|
+
```text
|
254
|
+
Copyright:: 2011 Eric G. Wolfe
|
255
|
+
Copyright:: 2013 Chef
|
256
|
+
|
257
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
258
|
+
you may not use this file except in compliance with the License.
|
259
|
+
You may obtain a copy of the License at
|
260
|
+
|
261
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
262
|
+
|
263
|
+
Unless required by applicable law or agreed to in writing, software
|
264
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
265
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
266
|
+
See the License for the specific language governing permissions and
|
267
|
+
limitations under the License.
|
268
|
+
```
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# http://linux.die.net/man/5/yum.conf
|
2
|
+
case node['platform_version'].to_i
|
3
|
+
when 5
|
4
|
+
default['yum']['main']['cachedir'] = '/var/cache/yum'
|
5
|
+
else
|
6
|
+
default['yum']['main']['cachedir'] = '/var/cache/yum/$basearch/$releasever'
|
7
|
+
end
|
8
|
+
|
9
|
+
case node['platform']
|
10
|
+
when 'amazon'
|
11
|
+
default['yum']['main']['distroverpkg'] = 'system-release'
|
12
|
+
when 'scientific'
|
13
|
+
default['yum']['main']['distroverpkg'] = 'sl-release'
|
14
|
+
else
|
15
|
+
default['yum']['main']['distroverpkg'] = "#{node['platform']}-release"
|
16
|
+
end
|
17
|
+
|
18
|
+
default['yum']['main']['alwaysprompt'] = nil # [TrueClass, FalseClass]
|
19
|
+
default['yum']['main']['assumeyes'] = nil # [TrueClass, FalseClass]
|
20
|
+
default['yum']['main']['bandwidth'] = nil # /^\d+$/
|
21
|
+
default['yum']['main']['bugtracker_url'] = nil # /.*/
|
22
|
+
default['yum']['main']['clean_requirements_on_remove'] = nil # [TrueClass, FalseClass]
|
23
|
+
default['yum']['main']['color'] = nil # %w{ always never }
|
24
|
+
default['yum']['main']['color_list_available_downgrade'] = nil # /.*/
|
25
|
+
default['yum']['main']['color_list_available_install'] = nil # /.*/
|
26
|
+
default['yum']['main']['color_list_available_reinstall'] = nil # /.*/
|
27
|
+
default['yum']['main']['color_list_available_upgrade'] = nil # /.*/
|
28
|
+
default['yum']['main']['color_list_installed_extra'] = nil # /.*/
|
29
|
+
default['yum']['main']['color_list_installed_newer'] = nil # /.*/
|
30
|
+
default['yum']['main']['color_list_installed_older'] = nil # /.*/
|
31
|
+
default['yum']['main']['color_list_installed_reinstall'] = nil # /.*/
|
32
|
+
default['yum']['main']['color_search_match'] = nil # /.*/
|
33
|
+
default['yum']['main']['color_update_installed'] = nil # /.*/
|
34
|
+
default['yum']['main']['color_update_local'] = nil # /.*/
|
35
|
+
default['yum']['main']['color_update_remote'] = nil # /.*/
|
36
|
+
default['yum']['main']['commands'] = nil # /.*/
|
37
|
+
default['yum']['main']['debuglevel'] = nil # /^\d+$/
|
38
|
+
default['yum']['main']['diskspacecheck'] = nil # [TrueClass, FalseClass]
|
39
|
+
default['yum']['main']['enable_group_conditionals'] = nil # [TrueClass, FalseClass]
|
40
|
+
default['yum']['main']['errorlevel'] = nil # /^\d+$/
|
41
|
+
default['yum']['main']['exactarch'] = nil # [TrueClass, FalseClass]
|
42
|
+
default['yum']['main']['exclude'] = nil # /.*/
|
43
|
+
default['yum']['main']['gpgcheck'] = true # [TrueClass, FalseClass]
|
44
|
+
default['yum']['main']['group_package_types'] = nil # /.*/
|
45
|
+
default['yum']['main']['groupremove_leaf_only'] = nil # [TrueClass, FalseClass]
|
46
|
+
default['yum']['main']['history_list_view'] = nil # /.*/
|
47
|
+
default['yum']['main']['history_record'] = nil # [TrueClass, FalseClass]
|
48
|
+
default['yum']['main']['history_record_packages'] = nil # /.*/
|
49
|
+
default['yum']['main']['http_caching'] = nil # %w{ packages all none }
|
50
|
+
default['yum']['main']['installonly_limit'] = nil # /\d+/, /keep/
|
51
|
+
default['yum']['main']['installonlypkgs'] = nil # /.*/
|
52
|
+
default['yum']['main']['installroot'] = nil # /.*/
|
53
|
+
default['yum']['main']['keepalive'] = nil # [TrueClass, FalseClass]
|
54
|
+
default['yum']['main']['keepcache'] = false # [TrueClass, FalseClass]
|
55
|
+
default['yum']['main']['kernelpkgnames'] = nil # /.*/
|
56
|
+
default['yum']['main']['localpkg_gpgcheck'] = nil # [TrueClass,# FalseClass]
|
57
|
+
default['yum']['main']['logfile'] = '/var/log/yum.log' # /.*/
|
58
|
+
default['yum']['main']['max_retries'] = nil # /^\d+$/
|
59
|
+
default['yum']['main']['mdpolicy'] = nil # %w{ packages all none }
|
60
|
+
default['yum']['main']['metadata_expire'] = nil # /^\d+$/
|
61
|
+
default['yum']['main']['mirrorlist_expire'] = nil # /^\d+$/
|
62
|
+
default['yum']['main']['multilib_policy'] = nil # %w{ all best }
|
63
|
+
default['yum']['main']['obsoletes'] = nil # [TrueClass, FalseClass]
|
64
|
+
default['yum']['main']['overwrite_groups'] = nil # [TrueClass, FalseClass]
|
65
|
+
default['yum']['main']['password'] = nil # /.*/
|
66
|
+
default['yum']['main']['path'] = '/etc/yum.conf' # /.*/
|
67
|
+
default['yum']['main']['persistdir'] = nil # /.*/
|
68
|
+
default['yum']['main']['pluginconfpath'] = nil # /.*/
|
69
|
+
default['yum']['main']['pluginpath'] = nil # /.*/
|
70
|
+
default['yum']['main']['plugins'] = nil # [TrueClass, FalseClass]
|
71
|
+
default['yum']['main']['protected_multilib'] = nil # /.*/
|
72
|
+
default['yum']['main']['protected_packages'] = nil # /.*/
|
73
|
+
default['yum']['main']['proxy'] = nil # /.*/
|
74
|
+
default['yum']['main']['proxy_password'] = nil # /.*/
|
75
|
+
default['yum']['main']['proxy_username'] = nil # /.*/
|
76
|
+
default['yum']['main']['username'] = nil # /.*/
|
77
|
+
default['yum']['main']['password'] = nil # /.*/
|
78
|
+
default['yum']['main']['recent'] = nil # /^\d+$/
|
79
|
+
default['yum']['main']['releasever'] = nil # /.*/
|
80
|
+
default['yum']['main']['repo_gpgcheck'] = nil # [TrueClass, FalseClass]
|
81
|
+
default['yum']['main']['reset_nice'] = nil # [TrueClass, FalseClass]
|
82
|
+
default['yum']['main']['rpmverbosity'] = nil # %w{ info critical# emergency error warn debug }
|
83
|
+
default['yum']['main']['showdupesfromrepos'] = nil # [TrueClass, FalseClass]
|
84
|
+
default['yum']['main']['skip_broken'] = nil # [TrueClass, FalseClass]
|
85
|
+
default['yum']['main']['ssl_check_cert_permissions'] = nil # [TrueClass, FalseClass]
|
86
|
+
default['yum']['main']['sslcacert'] = nil # /.*/
|
87
|
+
default['yum']['main']['sslclientcert'] = nil # /.*/
|
88
|
+
default['yum']['main']['sslclientkey'] = nil # /.*/
|
89
|
+
default['yum']['main']['sslverify'] = nil # [TrueClass, FalseClass]
|
90
|
+
default['yum']['main']['syslog_device'] = nil # /.*/
|
91
|
+
default['yum']['main']['syslog_facility'] = nil # /.*/
|
92
|
+
default['yum']['main']['syslog_ident'] = nil # /.*/
|
93
|
+
default['yum']['main']['throttle'] = nil # [/\d+k/, /\d+M/, /\d+G/]
|
94
|
+
default['yum']['main']['timeout'] = nil # /\d+/
|
95
|
+
default['yum']['main']['tolerant'] = false
|
96
|
+
default['yum']['main']['tsflags'] = nil # /.*/
|
97
|
+
default['yum']['main']['username'] = nil # /.*/
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# Matchers for chefspec 3
|
2
|
+
|
3
|
+
if defined?(ChefSpec)
|
4
|
+
def create_yum_repository(resource_name)
|
5
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :create, resource_name)
|
6
|
+
end
|
7
|
+
|
8
|
+
def add_yum_repository(resource_name)
|
9
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :add, resource_name)
|
10
|
+
end
|
11
|
+
|
12
|
+
def delete_yum_repository(resource_name)
|
13
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :delete, resource_name)
|
14
|
+
end
|
15
|
+
|
16
|
+
def remove_yum_repository(resource_name)
|
17
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :remove, resource_name)
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_yum_globalconfig(resource_name)
|
21
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_globalconfig, :create, resource_name)
|
22
|
+
end
|
23
|
+
|
24
|
+
def delete_yum_globalconfig(resource_name)
|
25
|
+
ChefSpec::Matchers::ResourceMatcher.new(:yum_globalconfig, :delete, resource_name)
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
{
|
2
|
+
"name": "yum",
|
3
|
+
"version": "3.2.2",
|
4
|
+
"description": "Configures various yum components on Red Hat-like systems",
|
5
|
+
"long_description": "yum Cookbook\n============\n\nThe Yum cookbook exposes the `yum_globalconfig` and `yum_repository`\nresources that allows a user to both control global behavior and make\nindividual Yum repositories available for use. These resources aim to\nallow the user to configure all options listed in the `yum.conf` man\npage, found at http://linux.die.net/man/5/yum.conf\n\nNOTES\n-----\nWARNING: Yum cookbook version 3.0.0 and above contain non-backwards\ncompatible breaking changes and will not work with cookbooks written\nagainst the 2.x and 1.x series. Changes have been made to the\nyum_repository resource, and the yum_key resource has been eliminated\nentirely. Recipes have been eliminated and moved into their own\ncookbooks. Please lock yum to the 2.x series in your Chef environments\nuntil all dependent cookbooks have been ported.\n\nRequirements\n------------\n* Chef 11 or higher\n* Ruby 1.9 (preferably from the Chef full-stack installer)\n* RHEL5, RHEL6, or other platforms within the family\n\nResources/Providers\n-------------------\n### yum_repository\nThis resource manages a yum repository configuration file at\n/etc/yum.repos.d/`repositoryid`.repo. When the file needs to be\nrepaired, it calls yum-makecache so packages in the repo become\navailable to the next resource.\n\n#### Example\n``` ruby\n# add the Zenoss repository\nyum_repository 'zenoss' do\n description \"Zenoss Stable repo\"\n baseurl \"http://dev.zenoss.com/yum/stable/\"\n gpgkey 'http://dev.zenoss.com/yum/RPM-GPG-KEY-zenoss'\n action :create\nend\n\n# add the EPEL repo\nyum_repository 'epel' do\n description 'Extra Packages for Enterprise Linux'\n mirrorlist 'http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch'\n gpgkey 'http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6'\n action :create\nend\n```\n\n``` ruby\n# delete CentOS-Media repo\nyum_repository 'CentOS-Media' do\n action :delete\nend\n```\n\n#### Actions\n- `:create` - creates a repository file and builds the repository listing\n- `:delete` - deletes the repository file\n\n#### Parameters\n* `baseurl` - Must be a URL to the directory where the yum repository's\n 'repodata' directory lives. Can be an http://, ftp:// or file://\n URL. You can specify multiple URLs in one baseurl statement.\n* `cost` - relative cost of accessing this repository. Useful for\n weighing one repo's packages as greater/less than any other.\n defaults to 1000\n* `description` - Maps to the 'name' parameter in a repository .conf.\n Descriptive name for the repository channel. This directive must be\n specified.\n* `enabled` - Either `true` or `false`. This tells yum whether or not use this repository.\n* `enablegroups` - Either `true` or `false`. Determines whether yum\n will allow the use of package groups for this repository. Default is\n `true` (package groups are allowed).\n* `exclude` - List of packages to exclude from updates or installs. This\n should be a space separated list in a single string. Shell globs using wildcards (eg. *\n and ?) are allowed.\n* `failovermethod` - Either 'roundrobin' or 'priority'.\n* `fastestmirror_enabled` - Either `true` or `false`\n* `gpgcheck` - Either `true` or `false`. This tells yum whether or not\n it should perform a GPG signature check on packages. When this is\n set in the [main] section it sets the default for all repositories.\n The default is `true`.\n* `gpgkey` - A URL pointing to the ASCII-armored GPG key file for the\n repository. This option is used if yum needs a public key to verify\n a package and the required key hasn't been imported into the RPM\n database. If this option is set, yum will automatically import the\n key from the specified URL.\n* `http_caching` - Either 'all', 'packages', or 'none'. Determines how\n upstream HTTP caches are instructed to handle any HTTP downloads\n that Yum does. Defaults to 'all'\n* `includepkgs` - Inverse of exclude. This is a list of packages you\n want to use from a repository. If this option lists only one package\n then that is all yum will ever see from the repository. Defaults to\n an empty list.\n* `keepalive` - Either `true` or `false`. This tells yum whether or not\n HTTP/1.1 keepalive should be used with this repository. \n* `max_retries` - Set the number of times any attempt to retrieve a file\n should retry before returning an error. Setting this to '0' makes\n yum try forever. Default is '10'.\n* `metadata_expire` - Time (in seconds) after which the metadata will\n expire. So that if the current metadata downloaded is less than this\n many seconds old then yum will not update the metadata against the\n repository. If you find that yum is not downloading information on\n updates as often as you would like lower the value of this option.\n You can also change from the default of using seconds to using days,\n hours or minutes by appending a d, h or m respectively. The default\n is 6 hours, to compliment yum-updatesd running once an hour. It's\n also possible to use the word \"never\", meaning that the metadata\n will never expire. Note that when using a metalink file the metalink\n must always be newer than the metadata for the repository, due to\n the validation, so this timeout also applies to the metalink file.\n* `mirrorlist` - Specifies a URL to a file containing a list of\n baseurls. This can be used instead of or with the baseurl option.\n Substitution variables, described below, can be used with this\n option. As a special hack is the mirrorlist URL contains the word\n \"metalink\" then the value of mirrorlist is copied to metalink (if\n metalink is not set)\n* `mirror_expire` - Time (in seconds) after which the mirrorlist locally\n cached will expire. If the current mirrorlist is less than this many\n seconds old then yum will not download another copy of the\n mirrorlist, it has the same extra format as metadata_expire. If you\n find that yum is not downloading the mirrorlists as often as you\n would like lower the value of this option.\n* `mirrorlist_expire` - alias for mirror_expire\n* `priority` - When the yum-priorities plug-in is enabled, you set\n priorities on repository entries, where N is an integer from 1 to 99. The\n default priority for repositories is 99.\n* `proxy` - URL to the proxy server that yum should use.\n* `proxy_username` - username to use for proxy\n* `proxy_password` - password for this proxy\n* `report_instanceid` - Report instance ID when using Amazon Linux AMIs\n and repositories\n* `repositoryid` - Must be a unique name for each repository, one word.\n Defaults to name attribute.\n* `source` - Use a custom template source instead of the default one\n in the yum cookbook\n* `sslcacert` - Path to the directory containing the databases of the\n certificate authorities yum should use to verify SSL certificates.\n Defaults to none - uses system default\n* `sslclientcert` - Path to the SSL client certificate yum should use to\n connect to repos/remote sites Defaults to none. \n* `sslclientkey` - Path to the SSL client key yum should use to connect\n to repos/remote sites Defaults to none.\n* `sslverify` - Either `true` or `false`. Determines if yum will verify SSL certificates/hosts. Defaults to `true`\n* `timeout` - Number of seconds to wait for a connection before timing\n out. Defaults to 30 seconds. This may be too short of a time for\n extremely overloaded sites.\n\n### yum_globalconfig\nThis renders a template with global yum configuration parameters. The\ndefault recipe uses it to render `/etc/yum.conf`. It is flexible\nenough to be used in other scenarios, such as building RPMs in\nisolation by modifying `installroot`. \n\n#### Example\n``` ruby\nyum_globalconfig '/my/chroot/etc/yum.conf' do\n cachedir '/my/chroot/etc/yum.conf'\n keepcache 'yes'\n debuglevel '2'\n installroot '/my/chroot'\n action :create\nend\n```\n\n#### Parameters\n`yum_globalconfig` can take most of the same parameters as a\n`yum_repository`, plus more, too numerous to describe here. Below are\na few of the more commonly used ones. For a complete list, please\nconsult the `yum.conf` man page, found here:\nhttp://linux.die.net/man/5/yum.conf\n\n* `cachedir` - Directory where yum should store its cache and db\n files. The default is '/var/cache/yum'. \n* `keepcache` - Either `true` or `false`. Determines whether or not\n yum keeps the cache of headers and packages after successful\n installation. Default is `true` (keep files)\n* `debuglevel` - Debug message output level. Practical range is 0-10.\n Default is '2'. \n* `exclude` - List of packages to exclude from updates or installs.\n This should be a space separated list. Shell globs using wildcards\n (eg. * and ?) are allowed. \n* `installonlypkgs` = List of package provides that should only ever\n be installed, never updated. Kernels in particular fall into this\n category. Defaults to kernel, kernel-bigmem, kernel-enterprise,\n kernel-smp, kernel-debug, kernel-unsupported, kernel-source,\n kernel-devel, kernel-PAE, kernel-PAE-debug.\n* `logfile` - Full directory and file name for where yum should write\n its log file.\n* `exactarch` - Either `true` or `false`. Set to `true` to make 'yum update' only\n update the architectures of packages that you have installed. ie:\n with this enabled yum will not install an i686 package to update an\n x86_64 package. Default is `true`\n* `gpgcheck` - Either `true` or `false`. This tells yum whether or not\n it should perform a GPG signature check on the packages gotten from\n this repository.\n \nRecipes\n-------\n* `default` - Configures `yum_globalconfig[/etc/yum.conf]` with values\n found in node attributes at `node['yum']['main']`\n\nAttributes\n----------\nThe following attributes are set by default\n\n``` ruby\ndefault['yum']['main']['cachedir'] = '/var/cache/yum/$basearch/$releasever'\ndefault['yum']['main']['keepcache'] = false\ndefault['yum']['main']['debuglevel'] = nil\ndefault['yum']['main']['exclude'] = nil\ndefault['yum']['main']['logfile'] = '/var/log/yum.log'\ndefault['yum']['main']['exactarch'] = nil\ndefault['yum']['main']['obsoletes'] = nil\ndefault['yum']['main']['installonly_limit'] = nil\ndefault['yum']['main']['installonlypkgs'] = nil\ndefault['yum']['main']['installroot'] = nil\n```\n\nRelated Cookbooks\n-----------------\nRecipes from older versions of this cookbook have been moved\nindividual cookbooks. Recipes for managing platform yum configurations\nand installing specific repositories can be found in one (or more!) of\nthe following cookbook.\n\n* yum-centos\n* yum-fedora\n* yum-amazon\n* yum-epel\n* yum-elrepo\n* yum-repoforge\n* yum-ius\n* yum-percona\n* yum-pgdg\n\nUsage\n-----\nPut `depends 'yum'` in your metadata.rb to gain access to the\nyum_repository resource.\n\nLicense & Authors\n-----------------\n- Author:: Eric G. Wolfe\n- Author:: Matt Ray (<matt@getchef.com>)\n- Author:: Joshua Timberman (<joshua@getchef.com>)\n- Author:: Sean OMeara (<someara@getchef.com>)\n\n```text\nCopyright:: 2011 Eric G. Wolfe\nCopyright:: 2013 Chef\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n",
|
6
|
+
"maintainer": "Chef",
|
7
|
+
"maintainer_email": "cookbooks@getchef.com",
|
8
|
+
"license": "Apache 2.0",
|
9
|
+
"platforms": {
|
10
|
+
"redhat": ">= 0.0.0",
|
11
|
+
"centos": ">= 0.0.0",
|
12
|
+
"scientific": ">= 0.0.0",
|
13
|
+
"amazon": ">= 0.0.0",
|
14
|
+
"fedora": ">= 0.0.0"
|
15
|
+
},
|
16
|
+
"dependencies": {
|
17
|
+
},
|
18
|
+
"recommendations": {
|
19
|
+
},
|
20
|
+
"suggestions": {
|
21
|
+
},
|
22
|
+
"conflicting": {
|
23
|
+
},
|
24
|
+
"providing": {
|
25
|
+
},
|
26
|
+
"replacing": {
|
27
|
+
},
|
28
|
+
"attributes": {
|
29
|
+
},
|
30
|
+
"groupings": {
|
31
|
+
},
|
32
|
+
"recipes": {
|
33
|
+
}
|
34
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name 'yum'
|
2
|
+
maintainer 'Chef'
|
3
|
+
maintainer_email 'cookbooks@getchef.com'
|
4
|
+
license 'Apache 2.0'
|
5
|
+
description 'Configures various yum components on Red Hat-like systems'
|
6
|
+
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
7
|
+
version '3.2.2'
|
8
|
+
|
9
|
+
supports 'redhat'
|
10
|
+
supports 'centos'
|
11
|
+
supports 'scientific'
|
12
|
+
supports 'amazon'
|
13
|
+
supports 'fedora'
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: yum
|
3
|
+
# Provider:: repository
|
4
|
+
#
|
5
|
+
# Author:: Sean OMeara <someara@getchef.com>
|
6
|
+
# Copyright 2013, Chef
|
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
|
+
# Allow for Chef 10 support
|
22
|
+
use_inline_resources if defined?(use_inline_resources)
|
23
|
+
|
24
|
+
action :create do
|
25
|
+
template new_resource.path do
|
26
|
+
source 'main.erb'
|
27
|
+
cookbook 'yum'
|
28
|
+
mode '0644'
|
29
|
+
variables(:config => new_resource)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
action :delete do
|
34
|
+
file new_resource.path do
|
35
|
+
action :delete
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: yum
|
3
|
+
# Provider:: repository
|
4
|
+
#
|
5
|
+
# Author:: Sean OMeara <someara@getchef.com>
|
6
|
+
# Copyright 2013, Chef
|
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
|
+
# In Chef 11 and above, calling the use_inline_resources method will
|
22
|
+
# make Chef create a new "run_context". When an action is called, any
|
23
|
+
# nested resources are compiled and converged in isolation from the
|
24
|
+
# recipe that calls it.
|
25
|
+
|
26
|
+
# Allow for Chef 10 support
|
27
|
+
use_inline_resources if defined?(use_inline_resources)
|
28
|
+
|
29
|
+
def whyrun_supported?
|
30
|
+
true
|
31
|
+
end
|
32
|
+
|
33
|
+
action :create do
|
34
|
+
# Hack around the lack of "use_inline_resources" before Chef 11 by
|
35
|
+
# uniquely naming the execute[yum-makecache] resources. Set the
|
36
|
+
# notifies timing to :immediately for the same reasons. Remove both
|
37
|
+
# of these when dropping Chef 10 support.
|
38
|
+
|
39
|
+
template "/etc/yum.repos.d/#{new_resource.repositoryid}.repo" do
|
40
|
+
if new_resource.source.nil?
|
41
|
+
source 'repo.erb'
|
42
|
+
cookbook 'yum'
|
43
|
+
else
|
44
|
+
source new_resource.source
|
45
|
+
end
|
46
|
+
mode '0644'
|
47
|
+
variables(:config => new_resource)
|
48
|
+
notifies :run, "execute[yum-makecache-#{new_resource.repositoryid}]", :immediately
|
49
|
+
notifies :create, "ruby_block[yum-cache-reload-#{new_resource.repositoryid}]", :immediately
|
50
|
+
end
|
51
|
+
|
52
|
+
# get the metadata for this repo only
|
53
|
+
execute "yum-makecache-#{new_resource.repositoryid}" do
|
54
|
+
command "yum -q makecache --disablerepo=* --enablerepo=#{new_resource.repositoryid}"
|
55
|
+
action :nothing
|
56
|
+
end
|
57
|
+
|
58
|
+
# reload internal Chef yum cache
|
59
|
+
ruby_block "yum-cache-reload-#{new_resource.repositoryid}" do
|
60
|
+
block { Chef::Provider::Package::Yum::YumCache.instance.reload }
|
61
|
+
action :nothing
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
action :delete do
|
66
|
+
file "/etc/yum.repos.d/#{new_resource.repositoryid}.repo" do
|
67
|
+
action :delete
|
68
|
+
notifies :run, "execute[yum clean #{new_resource.repositoryid}]", :immediately
|
69
|
+
notifies :create, "ruby_block[yum-cache-reload-#{new_resource.repositoryid}]", :immediately
|
70
|
+
end
|
71
|
+
|
72
|
+
execute "yum clean #{new_resource.repositoryid}" do
|
73
|
+
command "yum clean all --disablerepo=* --enablerepo=#{new_resource.repositoryid}"
|
74
|
+
only_if "yum repolist | grep -P '^#{new_resource.repositoryid}([ \t]|$)'"
|
75
|
+
action :nothing
|
76
|
+
end
|
77
|
+
|
78
|
+
ruby_block "yum-cache-reload-#{new_resource.repositoryid}" do
|
79
|
+
block { Chef::Provider::Package::Yum::YumCache.instance.reload }
|
80
|
+
action :nothing
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
alias_method :action_add, :action_create
|
85
|
+
alias_method :action_remove, :action_delete
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Sean OMeara (<someara@getchef.com>)
|
3
|
+
# Recipe:: yum::default
|
4
|
+
#
|
5
|
+
# Copyright 2013, Chef
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
|
19
|
+
yum_globalconfig '/etc/yum.conf' do
|
20
|
+
cachedir node['yum']['main']['cachedir']
|
21
|
+
keepcache node['yum']['main']['keepcache']
|
22
|
+
debuglevel node['yum']['main']['debuglevel']
|
23
|
+
exclude node['yum']['main']['exclude']
|
24
|
+
logfile node['yum']['main']['logfile']
|
25
|
+
exactarch node['yum']['main']['exactarch']
|
26
|
+
obsoletes node['yum']['main']['obsoletes']
|
27
|
+
proxy node['yum']['main']['proxy']
|
28
|
+
installonly_limit node['yum']['main']['installonly_limit']
|
29
|
+
installonlypkgs node['yum']['main']['installonlypkgs']
|
30
|
+
installroot node['yum']['main']['installroot']
|
31
|
+
distroverpkg node['yum']['main']['distroverpkg']
|
32
|
+
releasever node['yum']['main']['releasever']
|
33
|
+
action :create
|
34
|
+
end
|