fairchild-poolparty 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +35 -0
- data/License.txt +20 -0
- data/PostInstall.txt +19 -0
- data/README.txt +77 -0
- data/Rakefile +45 -0
- data/VERSION.yml +4 -0
- data/bin/cloud +32 -0
- data/bin/cloud-bootstrap +21 -0
- data/bin/cloud-configure +28 -0
- data/bin/cloud-console +12 -0
- data/bin/cloud-contract +17 -0
- data/bin/cloud-expand +19 -0
- data/bin/cloud-handle-load +27 -0
- data/bin/cloud-list +23 -0
- data/bin/cloud-osxcopy +17 -0
- data/bin/cloud-provision +30 -0
- data/bin/cloud-rsync +28 -0
- data/bin/cloud-run +18 -0
- data/bin/cloud-setup-dev +25 -0
- data/bin/cloud-show +27 -0
- data/bin/cloud-spec +41 -0
- data/bin/cloud-ssh +23 -0
- data/bin/cloud-start +28 -0
- data/bin/cloud-stats +17 -0
- data/bin/cloud-terminate +20 -0
- data/bin/ec2-list-active +24 -0
- data/bin/messenger-get-current-nodes +14 -0
- data/bin/pool +31 -0
- data/bin/pool-describe +8 -0
- data/bin/pool-generate +18 -0
- data/bin/pool-init +28 -0
- data/bin/pool-list +30 -0
- data/bin/pool-start +26 -0
- data/bin/server-become-master +24 -0
- data/bin/server-build-messenger +28 -0
- data/bin/server-butterfly +25 -0
- data/bin/server-clean-cert-for +15 -0
- data/bin/server-cloud-elections +26 -0
- data/bin/server-ensure-provisioning +38 -0
- data/bin/server-fire-cmd +14 -0
- data/bin/server-get-load +15 -0
- data/bin/server-list-active +26 -0
- data/bin/server-list-instances +15 -0
- data/bin/server-manage-election +67 -0
- data/bin/server-monitor.ru +25 -0
- data/bin/server-provision +32 -0
- data/bin/server-query-agent +15 -0
- data/bin/server-rerun +23 -0
- data/bin/server-send-command +18 -0
- data/bin/server-show-stats +17 -0
- data/bin/server-start-agent +15 -0
- data/bin/server-start-client +29 -0
- data/bin/server-start-master +26 -0
- data/bin/server-start-node +32 -0
- data/bin/server-stop-client +3 -0
- data/bin/server-stop-master +3 -0
- data/bin/server-stop-node +3 -0
- data/bin/server-update-hosts +49 -0
- data/bin/server-write-new-nodes +26 -0
- data/config/jeweler.rb +43 -0
- data/config/requirements.rb +7 -0
- data/examples/basic.rb +23 -0
- data/examples/deploy.rb +5 -0
- data/examples/fairchild.rb +32 -0
- data/examples/fairchild_chef.rb +19 -0
- data/examples/paparazzi.conf.erb +21 -0
- data/examples/plugin_without_plugin_directory.rb +12 -0
- data/examples/poolparty.rb +12 -0
- data/generators/poolspec/USAGE +5 -0
- data/generators/poolspec/poolspec_generator.rb +58 -0
- data/generators/poolspec/templates/pool_spec_template.erb +9 -0
- data/lib/erlang/messenger/Emakefile +1 -0
- data/lib/erlang/messenger/Makefile +15 -0
- data/lib/erlang/messenger/README +5 -0
- data/lib/erlang/messenger/Rakefile +72 -0
- data/lib/erlang/messenger/control +11 -0
- data/lib/erlang/messenger/ebin/client.app +19 -0
- data/lib/erlang/messenger/ebin/master.app +19 -0
- data/lib/erlang/messenger/ebin/node.app +19 -0
- data/lib/erlang/messenger/ebin/packager.app +19 -0
- data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +1 -0
- data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +1 -0
- data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -0
- data/lib/erlang/messenger/include/defines.hrl +27 -0
- data/lib/erlang/messenger/lib/eunit/AUTHORS +2 -0
- data/lib/erlang/messenger/lib/eunit/CHANGELOG +14 -0
- data/lib/erlang/messenger/lib/eunit/COPYING +504 -0
- data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
- data/lib/erlang/messenger/lib/eunit/NOTES +276 -0
- data/lib/erlang/messenger/lib/eunit/README +3 -0
- data/lib/erlang/messenger/lib/eunit/doc/edoc-info +3 -0
- data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
- data/lib/erlang/messenger/lib/eunit/doc/eunit.html +172 -0
- data/lib/erlang/messenger/lib/eunit/doc/index.html +17 -0
- data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +12 -0
- data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +984 -0
- data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +980 -0
- data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +11 -0
- data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +55 -0
- data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +21 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +1 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +339 -0
- data/lib/erlang/messenger/lib/eunit/examples/fib.erl +19 -0
- data/lib/erlang/messenger/lib/eunit/examples/tests.txt +1 -0
- data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +313 -0
- data/lib/erlang/messenger/lib/eunit/src/Makefile +46 -0
- data/lib/erlang/messenger/lib/eunit/src/autoload.erl +388 -0
- data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +243 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +21 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +1 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.erl +196 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +102 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +798 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +48 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +682 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +552 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +157 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +340 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +64 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +334 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +45 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +272 -0
- data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +409 -0
- data/lib/erlang/messenger/lib/eunit/sys.config +9 -0
- data/lib/erlang/messenger/lib/eunit/vsn.mk +1 -0
- data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_client_rel-0.1.script +238 -0
- data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_master_rel-0.1.script +239 -0
- data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_node_rel-0.1.script +237 -0
- data/lib/erlang/messenger/src/client_app.erl +39 -0
- data/lib/erlang/messenger/src/client_server.erl +60 -0
- data/lib/erlang/messenger/src/master_app.erl +39 -0
- data/lib/erlang/messenger/src/node_app.erl +39 -0
- data/lib/erlang/messenger/src/pm_client.erl +49 -0
- data/lib/erlang/messenger/src/pm_client_supervisor.erl +38 -0
- data/lib/erlang/messenger/src/pm_cluster.erl +61 -0
- data/lib/erlang/messenger/src/pm_event_manager.erl +27 -0
- data/lib/erlang/messenger/src/pm_master.erl +215 -0
- data/lib/erlang/messenger/src/pm_master_event_handler.erl +72 -0
- data/lib/erlang/messenger/src/pm_master_supervisor.erl +39 -0
- data/lib/erlang/messenger/src/pm_node.erl +200 -0
- data/lib/erlang/messenger/src/pm_node_supervisor.erl +38 -0
- data/lib/erlang/messenger/src/pm_packager.erl +76 -0
- data/lib/erlang/messenger/src/pm_spawner.erl +213 -0
- data/lib/erlang/messenger/src/pm_strings.erl +11 -0
- data/lib/erlang/messenger/src/utils.erl +72 -0
- data/lib/erlang/messenger/useful_snippets +17 -0
- data/lib/poolparty/aska/aska.rb +152 -0
- data/lib/poolparty/base_packages/bind.rb +11 -0
- data/lib/poolparty/base_packages/haproxy.rb +46 -0
- data/lib/poolparty/base_packages/heartbeat.rb +58 -0
- data/lib/poolparty/base_packages/poolparty.rb +14 -0
- data/lib/poolparty/base_packages/ruby.rb +42 -0
- data/lib/poolparty/base_packages/runit.rb +21 -0
- data/lib/poolparty/capistrano/cloud_tasks.rb +10 -0
- data/lib/poolparty/capistrano.rb +54 -0
- data/lib/poolparty/config/postlaunchmessage.txt +5 -0
- data/lib/poolparty/core/array.rb +36 -0
- data/lib/poolparty/core/class.rb +26 -0
- data/lib/poolparty/core/exception.rb +10 -0
- data/lib/poolparty/core/float.rb +13 -0
- data/lib/poolparty/core/hash.rb +71 -0
- data/lib/poolparty/core/kernel.rb +66 -0
- data/lib/poolparty/core/metaid.rb +15 -0
- data/lib/poolparty/core/module.rb +40 -0
- data/lib/poolparty/core/my_open_struct.rb +18 -0
- data/lib/poolparty/core/object.rb +93 -0
- data/lib/poolparty/core/ordered_hash.rb +99 -0
- data/lib/poolparty/core/proc.rb +7 -0
- data/lib/poolparty/core/string.rb +140 -0
- data/lib/poolparty/core/symbol.rb +17 -0
- data/lib/poolparty/core/time.rb +56 -0
- data/lib/poolparty/dependencies.rb +49 -0
- data/lib/poolparty/dependency_resolver/chef_resolver.rb +221 -0
- data/lib/poolparty/dependency_resolver/dependency_resolver.rb +42 -0
- data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +28 -0
- data/lib/poolparty/dependency_resolver/puppet.rb +75 -0
- data/lib/poolparty/dependency_resolver/puppet_resolver.rb +173 -0
- data/lib/poolparty/exceptions/CloudNotFoundException.rb +7 -0
- data/lib/poolparty/exceptions/LoadRulesException.rb +7 -0
- data/lib/poolparty/exceptions/MasterException.rb +10 -0
- data/lib/poolparty/exceptions/ProvisionerException.rb +5 -0
- data/lib/poolparty/exceptions/RemoteException.rb +12 -0
- data/lib/poolparty/exceptions/ResourceException.rb +7 -0
- data/lib/poolparty/exceptions/RuntimeException.rb +7 -0
- data/lib/poolparty/exceptions/SpecException.rb +7 -0
- data/lib/poolparty/exceptions/TemplateNotFound.rb +7 -0
- data/lib/poolparty/exceptions/UnacceptableCommand.rb +5 -0
- data/lib/poolparty/exceptions/dependency_resolver_exception.rb +5 -0
- data/lib/poolparty/exceptions/package_exception.rb +7 -0
- data/lib/poolparty/extra/deployments.rb +31 -0
- data/lib/poolparty/helpers/binary.rb +67 -0
- data/lib/poolparty/helpers/console.rb +48 -0
- data/lib/poolparty/helpers/display.rb +30 -0
- data/lib/poolparty/helpers/hash_printer.rb +44 -0
- data/lib/poolparty/helpers/loading.rb +4 -0
- data/lib/poolparty/helpers/nice_printer.rb +36 -0
- data/lib/poolparty/helpers/optioner.rb +149 -0
- data/lib/poolparty/helpers/ruberl.rb +33 -0
- data/lib/poolparty/lite.rb +20 -0
- data/lib/poolparty/modules/cloud_dsl.rb +20 -0
- data/lib/poolparty/modules/cloud_resourcer.rb +122 -0
- data/lib/poolparty/modules/daemonizable.rb +141 -0
- data/lib/poolparty/modules/definable_resource.rb +57 -0
- data/lib/poolparty/modules/file_writer.rb +95 -0
- data/lib/poolparty/modules/output.rb +13 -0
- data/lib/poolparty/modules/pretty_printer.rb +40 -0
- data/lib/poolparty/modules/resourcing_dsl.rb +74 -0
- data/lib/poolparty/modules/s3_string.rb +32 -0
- data/lib/poolparty/modules/safe_instance.rb +31 -0
- data/lib/poolparty/modules/thread_pool.rb +106 -0
- data/lib/poolparty/monitors/base_monitor.rb +81 -0
- data/lib/poolparty/monitors/monitor_rack.rb +132 -0
- data/lib/poolparty/monitors/monitors/load_monitor.rb +15 -0
- data/lib/poolparty/monitors/monitors/memory_monitor.rb +50 -0
- data/lib/poolparty/monitors/monitors/server_monitor.rb +7 -0
- data/lib/poolparty/monitors/monitors/web_monitor.rb +18 -0
- data/lib/poolparty/monitors/neighborhood_monitor.rb +25 -0
- data/lib/poolparty/monitors/stats_monitor.rb +182 -0
- data/lib/poolparty/monitors.rb +6 -0
- data/lib/poolparty/net/init.rb +11 -0
- data/lib/poolparty/net/messenger.rb +55 -0
- data/lib/poolparty/net/remote_bases.rb +21 -0
- data/lib/poolparty/net/remote_instance.rb +109 -0
- data/lib/poolparty/net/remoter/cloud_control.rb +251 -0
- data/lib/poolparty/net/remoter/connections.rb +180 -0
- data/lib/poolparty/net/remoter/interactive.rb +121 -0
- data/lib/poolparty/net/remoter/lists.rb +12 -0
- data/lib/poolparty/net/remoter_base.rb +97 -0
- data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +235 -0
- data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +53 -0
- data/lib/poolparty/net/remoter_bases/ec2/ec2_response_object.rb +64 -0
- data/lib/poolparty/plugins/chef.rb +168 -0
- data/lib/poolparty/plugins/deploydirectory.rb +47 -0
- data/lib/poolparty/plugins/git.rb +66 -0
- data/lib/poolparty/plugins/line_in_file.rb +13 -0
- data/lib/poolparty/plugins/rsyncmirror.rb +28 -0
- data/lib/poolparty/plugins/runit.rb +96 -0
- data/lib/poolparty/plugins/svn.rb +48 -0
- data/lib/poolparty/poolparty/cloud.rb +216 -0
- data/lib/poolparty/poolparty/custom_resource.rb +45 -0
- data/lib/poolparty/poolparty/default.rb +167 -0
- data/lib/poolparty/poolparty/key.rb +75 -0
- data/lib/poolparty/poolparty/loggable.rb +28 -0
- data/lib/poolparty/poolparty/neighborhoods.rb +69 -0
- data/lib/poolparty/poolparty/plugin.rb +69 -0
- data/lib/poolparty/poolparty/plugin_model.rb +45 -0
- data/lib/poolparty/poolparty/pool.rb +76 -0
- data/lib/poolparty/poolparty/poolparty_base_class.rb +181 -0
- data/lib/poolparty/poolparty/resource.rb +205 -0
- data/lib/poolparty/poolparty/script.rb +58 -0
- data/lib/poolparty/poolparty/service.rb +34 -0
- data/lib/poolparty/poolparty/template.rb +27 -0
- data/lib/poolparty/provision/boot_strapper.rb +141 -0
- data/lib/poolparty/provision/configurations/chef.rb +22 -0
- data/lib/poolparty/provision/configurations/puppet.rb +28 -0
- data/lib/poolparty/provision/dr_configure.rb +85 -0
- data/lib/poolparty/resources/cron.rb +14 -0
- data/lib/poolparty/resources/custom_service.rb +30 -0
- data/lib/poolparty/resources/directory.rb +13 -0
- data/lib/poolparty/resources/exec.rb +25 -0
- data/lib/poolparty/resources/file.rb +29 -0
- data/lib/poolparty/resources/host.rb +16 -0
- data/lib/poolparty/resources/mount.rb +21 -0
- data/lib/poolparty/resources/package.rb +12 -0
- data/lib/poolparty/resources/remote_file.rb +20 -0
- data/lib/poolparty/resources/service.rb +20 -0
- data/lib/poolparty/resources/sshkey.rb +27 -0
- data/lib/poolparty/resources/symlink.rb +21 -0
- data/lib/poolparty/resources/user.rb +13 -0
- data/lib/poolparty/resources/variable.rb +9 -0
- data/lib/poolparty/schema.rb +64 -0
- data/lib/poolparty/services/conditional.rb +46 -0
- data/lib/poolparty/services/gem_package.rb +52 -0
- data/lib/poolparty/spec/core/string.rb +18 -0
- data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +26 -0
- data/lib/poolparty/spec/matchers/have_cron.rb +28 -0
- data/lib/poolparty/spec/matchers/have_deploydirectory.rb +15 -0
- data/lib/poolparty/spec/matchers/have_directory.rb +31 -0
- data/lib/poolparty/spec/matchers/have_exec.rb +28 -0
- data/lib/poolparty/spec/matchers/have_file.rb +28 -0
- data/lib/poolparty/spec/matchers/have_gempackage.rb +28 -0
- data/lib/poolparty/spec/matchers/have_git.rb +28 -0
- data/lib/poolparty/spec/matchers/have_host.rb +28 -0
- data/lib/poolparty/spec/matchers/have_mount.rb +28 -0
- data/lib/poolparty/spec/matchers/have_package.rb +28 -0
- data/lib/poolparty/spec/matchers/have_remotefile.rb +28 -0
- data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +28 -0
- data/lib/poolparty/spec/matchers/have_service.rb +28 -0
- data/lib/poolparty/spec/matchers/have_sshkey.rb +28 -0
- data/lib/poolparty/spec/matchers/have_symlink.rb +28 -0
- data/lib/poolparty/spec/matchers/have_variable.rb +32 -0
- data/lib/poolparty/spec/spec/dynamic_matchers.rb +63 -0
- data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +7 -0
- data/lib/poolparty/spec/templates/have_base.rb +28 -0
- data/lib/poolparty/spec.rb +31 -0
- data/lib/poolparty/templates/authkeys +2 -0
- data/lib/poolparty/templates/cib.xml +54 -0
- data/lib/poolparty/templates/erlang_cookie_maker +6 -0
- data/lib/poolparty/templates/gem +27 -0
- data/lib/poolparty/templates/gemrc +11 -0
- data/lib/poolparty/templates/ha.cf +17 -0
- data/lib/poolparty/templates/haproxy.conf +36 -0
- data/lib/poolparty/templates/haresources +3 -0
- data/lib/poolparty/templates/logd.cf +42 -0
- data/lib/poolparty/templates/messenger/client/log-run.erb +2 -0
- data/lib/poolparty/templates/messenger/client/run.erb +4 -0
- data/lib/poolparty/templates/messenger/master/log-run.erb +2 -0
- data/lib/poolparty/templates/messenger/master/run.erb +4 -0
- data/lib/poolparty/templates/messenger/node/log-run.erb +2 -0
- data/lib/poolparty/templates/messenger/node/run.erb +4 -0
- data/lib/poolparty/templates/monitor.ru +16 -0
- data/lib/poolparty/templates/namespaceauth.conf +19 -0
- data/lib/poolparty/templates/poolparty.monitor +14 -0
- data/lib/poolparty/templates/puppet/add_puppet_to_hosts +6 -0
- data/lib/poolparty/templates/puppet/puppet.conf +2 -0
- data/lib/poolparty/templates/puppet/puppetrunner +14 -0
- data/lib/poolparty/templates/puppet/site.pp +4 -0
- data/lib/poolparty/templates/puppetrunner +14 -0
- data/lib/poolparty/templates/yaws.conf +19 -0
- data/lib/poolparty/version.rb +15 -0
- data/lib/poolparty.rb +148 -0
- data/lib/poolpartycl.rb +7 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/bin/bin_spec_helper.rb +7 -0
- data/spec/bin/fixtures/bin_cloud_for_test.rb +19 -0
- data/spec/bin/server-list-active_spec.rb +22 -0
- data/spec/poolparty/aska/aska_spec.rb +117 -0
- data/spec/poolparty/base_packages/haproxy_spec.rb +7 -0
- data/spec/poolparty/base_packages/heartbeat_spec.rb +7 -0
- data/spec/poolparty/bin/console_spec.rb +83 -0
- data/spec/poolparty/core/array_spec.rb +46 -0
- data/spec/poolparty/core/float.rb +13 -0
- data/spec/poolparty/core/hash_spec.rb +83 -0
- data/spec/poolparty/core/kernel_spec.rb +24 -0
- data/spec/poolparty/core/module_spec.rb +15 -0
- data/spec/poolparty/core/object_spec.rb +68 -0
- data/spec/poolparty/core/ordered_hash_spec.rb +48 -0
- data/spec/poolparty/core/string_spec.rb +145 -0
- data/spec/poolparty/core/time_spec.rb +49 -0
- data/spec/poolparty/dependencies_spec.rb +11 -0
- data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +119 -0
- data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +128 -0
- data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +16 -0
- data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +124 -0
- data/spec/poolparty/extra/deployments_spec.rb +68 -0
- data/spec/poolparty/fixtures/clouds.json +128 -0
- data/spec/poolparty/fixtures/test_template.erb +1 -0
- data/spec/poolparty/helpers/binary_spec.rb +26 -0
- data/spec/poolparty/helpers/display_spec.rb +13 -0
- data/spec/poolparty/helpers/hash_printer_spec.rb +34 -0
- data/spec/poolparty/helpers/optioner_spec.rb +50 -0
- data/spec/poolparty/id_rsa +27 -0
- data/spec/poolparty/modules/cloud_resourcer_spec.rb +67 -0
- data/spec/poolparty/modules/definable_resource.rb +9 -0
- data/spec/poolparty/modules/file_writer_spec.rb +64 -0
- data/spec/poolparty/modules/s3_string_spec.rb +15 -0
- data/spec/poolparty/monitors/base_monitor_spec.rb +112 -0
- data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +18 -0
- data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +48 -0
- data/spec/poolparty/net/messenger_spec.rb +16 -0
- data/spec/poolparty/net/remote_instance_spec.rb +17 -0
- data/spec/poolparty/net/remote_spec.rb +286 -0
- data/spec/poolparty/net/remoter_base_spec.rb +35 -0
- data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +24 -0
- data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +125 -0
- data/spec/poolparty/net/remoter_bases/ec2_spec.rb +119 -0
- data/spec/poolparty/net/remoter_spec.rb +130 -0
- data/spec/poolparty/plugins/chef_spec.rb +7 -0
- data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -0
- data/spec/poolparty/plugins/git_spec.rb +40 -0
- data/spec/poolparty/plugins/line_spec.rb +22 -0
- data/spec/poolparty/plugins/svn_spec.rb +16 -0
- data/spec/poolparty/poolparty/cloud_spec.rb +345 -0
- data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +16 -0
- data/spec/poolparty/poolparty/configurers/files/ruby_plugins.rb +16 -0
- data/spec/poolparty/poolparty/configurers/ruby_spec.rb +42 -0
- data/spec/poolparty/poolparty/custom_resource_spec.rb +79 -0
- data/spec/poolparty/poolparty/default_spec.rb +139 -0
- data/spec/poolparty/poolparty/example_spec.rb +60 -0
- data/spec/poolparty/poolparty/key_spec.rb +42 -0
- data/spec/poolparty/poolparty/neighborhoods_spec.rb +66 -0
- data/spec/poolparty/poolparty/plugin_model_spec.rb +54 -0
- data/spec/poolparty/poolparty/plugin_spec.rb +41 -0
- data/spec/poolparty/poolparty/pool_spec.rb +100 -0
- data/spec/poolparty/poolparty/resource_spec.rb +209 -0
- data/spec/poolparty/poolparty/script_spec.rb +49 -0
- data/spec/poolparty/poolparty/service_spec.rb +5 -0
- data/spec/poolparty/poolparty/template_spec.rb +26 -0
- data/spec/poolparty/poolparty/test_plugins/sshkey_test +2 -0
- data/spec/poolparty/poolparty/test_plugins/virtual_host_template.erb +0 -0
- data/spec/poolparty/poolparty/test_plugins/webserver.rb +30 -0
- data/spec/poolparty/poolparty_base_class_spec.rb +80 -0
- data/spec/poolparty/poolparty_spec.rb +36 -0
- data/spec/poolparty/resources/cron_spec.rb +44 -0
- data/spec/poolparty/resources/directory_spec.rb +40 -0
- data/spec/poolparty/resources/exec_spec.rb +37 -0
- data/spec/poolparty/resources/file_spec.rb +63 -0
- data/spec/poolparty/resources/gem_spec.rb +7 -0
- data/spec/poolparty/resources/host_spec.rb +35 -0
- data/spec/poolparty/resources/package_spec.rb +29 -0
- data/spec/poolparty/resources/service_spec.rb +29 -0
- data/spec/poolparty/resources/sshkey_spec.rb +40 -0
- data/spec/poolparty/resources/symlink_spec.rb +29 -0
- data/spec/poolparty/resources/user_spec.rb +48 -0
- data/spec/poolparty/resources/variable_spec.rb +26 -0
- data/spec/poolparty/schema_spec.rb +53 -0
- data/spec/poolparty/services/conditional_spec.rb +52 -0
- data/spec/poolparty/spec/core/string_spec.rb +57 -0
- data/spec/poolparty/spec_helper.rb +263 -0
- data/spec/poolparty/test_spec_helper.rb +13 -0
- data/tasks/cloud.rake +3 -0
- data/tasks/development.rake +82 -0
- data/tasks/ec2.rake +13 -0
- data/tasks/environment.rake +7 -0
- data/tasks/instance.rake +2 -0
- data/tasks/poolparty.rake +54 -0
- data/tasks/server.rake +44 -0
- data/tasks/spec.rake +16 -0
- data/test/fixtures/test_template.erb +1 -0
- data/test/poolparty/core/hash_test.rb +23 -0
- data/test/poolparty/poolparty/template_test.rb +31 -0
- data/test/poolparty/provision/boot_strapper_test.rb +6 -0
- data/test/poolparty/provision/dr_configure_test.rb +6 -0
- data/test/test_generator_helper.rb +29 -0
- data/test/test_helper.rb +5 -0
- data/test/test_pool_spec_generator.rb +47 -0
- data/test/test_poolparty.rb +11 -0
- data/vendor/gems/butterfly/History.txt +4 -0
- data/vendor/gems/butterfly/PostInstall.txt +2 -0
- data/vendor/gems/butterfly/README.rdoc +48 -0
- data/vendor/gems/butterfly/Rakefile +62 -0
- data/vendor/gems/butterfly/VERSION.yml +4 -0
- data/vendor/gems/butterfly/bin/flutter +4 -0
- data/vendor/gems/butterfly/butterfly.gemspec +37 -0
- data/vendor/gems/butterfly/examples/config.ru +15 -0
- data/vendor/gems/butterfly/examples/my_app.rb +12 -0
- data/vendor/gems/butterfly/lib/butterfly.rb +14 -0
- data/vendor/gems/butterfly/lib/handler.rb +48 -0
- data/vendor/gems/butterfly/lib/request.rb +29 -0
- data/vendor/gems/butterfly/lib/response.rb +49 -0
- data/vendor/gems/butterfly/script/console +10 -0
- data/vendor/gems/butterfly/script/destroy +14 -0
- data/vendor/gems/butterfly/script/generate +14 -0
- data/vendor/gems/butterfly/test/test_adapter_base.rb +23 -0
- data/vendor/gems/butterfly/test/test_butterfly_request.rb +46 -0
- data/vendor/gems/butterfly/test/test_butterfly_response.rb +43 -0
- data/vendor/gems/butterfly/test/test_butterfly_server.rb +16 -0
- data/vendor/gems/butterfly/test/test_default.rb +12 -0
- data/vendor/gems/butterfly/test/test_helper.rb +6 -0
- data/vendor/gems/dslify/History.txt +4 -0
- data/vendor/gems/dslify/Manifest.txt +25 -0
- data/vendor/gems/dslify/PostInstall.txt +5 -0
- data/vendor/gems/dslify/README.txt +60 -0
- data/vendor/gems/dslify/Rakefile +56 -0
- data/vendor/gems/dslify/config/hoe.rb +73 -0
- data/vendor/gems/dslify/config/requirements.rb +15 -0
- data/vendor/gems/dslify/dslify.gemspec +40 -0
- data/vendor/gems/dslify/lib/dslify/dslify.rb +69 -0
- data/vendor/gems/dslify/lib/dslify/version.rb +10 -0
- data/vendor/gems/dslify/lib/dslify.rb +7 -0
- data/vendor/gems/dslify/script/console +10 -0
- data/vendor/gems/dslify/script/destroy +14 -0
- data/vendor/gems/dslify/script/generate +14 -0
- data/vendor/gems/dslify/script/txt2html +82 -0
- data/vendor/gems/dslify/setup.rb +1585 -0
- data/vendor/gems/dslify/tasks/deployment.rake +34 -0
- data/vendor/gems/dslify/tasks/environment.rake +7 -0
- data/vendor/gems/dslify/tasks/website.rake +17 -0
- data/vendor/gems/dslify/test/test_dslify.rb +114 -0
- data/vendor/gems/dslify/website/index.html +86 -0
- data/vendor/gems/dslify/website/index.txt +83 -0
- data/vendor/gems/dslify/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/vendor/gems/dslify/website/stylesheets/screen.css +138 -0
- data/vendor/gems/dslify/website/template.html.erb +48 -0
- data/vendor/gems/parenting/History.txt +4 -0
- data/vendor/gems/parenting/Manifest.txt +13 -0
- data/vendor/gems/parenting/PostInstall.txt +2 -0
- data/vendor/gems/parenting/README.rdoc +47 -0
- data/vendor/gems/parenting/Rakefile +28 -0
- data/vendor/gems/parenting/lib/parenting/base.rb +65 -0
- data/vendor/gems/parenting/lib/parenting.rb +10 -0
- data/vendor/gems/parenting/parenting.gemspec +39 -0
- data/vendor/gems/parenting/script/console +10 -0
- data/vendor/gems/parenting/script/destroy +14 -0
- data/vendor/gems/parenting/script/generate +14 -0
- data/vendor/gems/parenting/test/file_to_eval.rb +9 -0
- data/vendor/gems/parenting/test/test_helper.rb +5 -0
- data/vendor/gems/parenting/test/test_parenting.rb +89 -0
- data/vendor/gems/suitcase/LICENSE +20 -0
- data/vendor/gems/suitcase/README.rdoc +31 -0
- data/vendor/gems/suitcase/Rakefile +57 -0
- data/vendor/gems/suitcase/VERSION.yml +4 -0
- data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +15 -0
- data/vendor/gems/suitcase/lib/suitcase/zipper.rb +103 -0
- data/vendor/gems/suitcase/lib/suitcase.rb +5 -0
- data/vendor/gems/suitcase/suitcase.gemspec +52 -0
- data/vendor/gems/suitcase/test/suitcase_test.rb +89 -0
- data/vendor/gems/suitcase/test/test_dir/box.rb +1 -0
- data/vendor/gems/suitcase/test/test_dir/test.txt +1 -0
- data/vendor/gems/suitcase/test/test_helper.rb +12 -0
- metadata +810 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require "spec"
|
3
|
+
require "#{::File.dirname(__FILE__)}/../matchers/a_spec_extensions_base.rb"
|
4
|
+
class Object
|
5
|
+
# For all of the available_resources, write the matcher template
|
6
|
+
# based on the have_base base and write the method have_
|
7
|
+
# for each of the resources available
|
8
|
+
def write_dynamic_matchers
|
9
|
+
PoolParty::Resources::Resource.available_resources.each do |ty|
|
10
|
+
ty.downcase!
|
11
|
+
filename = "#{::File.dirname(__FILE__)}/../matchers/have_#{ty}.rb"
|
12
|
+
unless ::File.file?(filename)
|
13
|
+
str = make_dynamic_matcher_string_for(ty)
|
14
|
+
::File.open(filename, "w+") {|f| f << str}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
# Create a dynamic matcher
|
19
|
+
# Create a matcher for spec based in the context called from
|
20
|
+
# Usage example:
|
21
|
+
# dynamic_matcher_for(:virtualhost) do
|
22
|
+
# set_description "should have virtualhost"
|
23
|
+
# it "should have the directory /var/www" do
|
24
|
+
# have_directory("/var/www")
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
# This creates a method by the name of the dynamic matcher
|
28
|
+
# so in the above example for virtualhost, the
|
29
|
+
# method have_virtualhost(name) &block is created in the spec
|
30
|
+
# context and can be called from within the describe/context
|
31
|
+
# in a spec
|
32
|
+
def dynamic_matcher_for(ty, &block)
|
33
|
+
name = "#{ty}".camelcase
|
34
|
+
|
35
|
+
begin
|
36
|
+
const = Object.const_set(name, Spec::Example::SharedExampleGroup.register(name.to_sym, &block))
|
37
|
+
rescue NameError => e
|
38
|
+
raise NameError.new(e.message + "\nThe first argument to share_as must be a legal name for a constant\n")
|
39
|
+
end
|
40
|
+
|
41
|
+
described_type = "#{ty.to_s.underscore.downcase}"
|
42
|
+
|
43
|
+
::Spec::Example::ExampleGroupMethods.module_eval <<-EOM
|
44
|
+
def have_#{ty.to_s.underscore.downcase}(*args)
|
45
|
+
include #{const}
|
46
|
+
self.module_eval "@@described_type = args;def #{described_type}; @@described_type; end"
|
47
|
+
end
|
48
|
+
EOM
|
49
|
+
end
|
50
|
+
# Load the have_base file and fill in the variables for the
|
51
|
+
# have_base base template
|
52
|
+
def make_dynamic_matcher_string_for(ty, matcher="is_present?")
|
53
|
+
@basestr ||= open("#{::File.dirname(__FILE__)}/../templates/have_base.rb").read
|
54
|
+
typestring = ty.to_s
|
55
|
+
begin
|
56
|
+
@basestr ^ {:classname => "Have#{typestring.capitalize}",
|
57
|
+
:type => typestring,
|
58
|
+
:matches => matcher,
|
59
|
+
:includer => "SpecExtensions::Have#{typestring.capitalize}.new(name, extra)"}
|
60
|
+
rescue Exception => e
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Spec
|
2
|
+
module Matchers
|
3
|
+
module SpecExtensions
|
4
|
+
class :classname < SpecExtensionsBase
|
5
|
+
def initialize(expected,extra="")
|
6
|
+
@expected = expected
|
7
|
+
@extra = extra
|
8
|
+
end
|
9
|
+
def matches?(target)
|
10
|
+
@target = target
|
11
|
+
:matches
|
12
|
+
end
|
13
|
+
def failure_message
|
14
|
+
"expected #{@target.inspect} to have :type #{@expected}"
|
15
|
+
end
|
16
|
+
def negative_failure_message
|
17
|
+
"expected #{@target.inspect} not to have :type #{@expected}"
|
18
|
+
end
|
19
|
+
def type
|
20
|
+
":type"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
def have_:type(name, extra="")
|
25
|
+
:includer
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
["core", "spec"].each do |dir|
|
2
|
+
Dir[File.join(File.dirname(__FILE__), "spec", dir, "*.rb")].each {|f| require f}
|
3
|
+
end
|
4
|
+
|
5
|
+
class TestCloudClass < PoolParty::Cloud::Cloud
|
6
|
+
def build_test_manifest
|
7
|
+
returning Array.new do |arr|
|
8
|
+
|
9
|
+
services.each do |service|
|
10
|
+
service.options.merge!(:name => service.name)
|
11
|
+
classpackage_with_self(service)
|
12
|
+
end
|
13
|
+
|
14
|
+
global_classpackages.each do |cls|
|
15
|
+
arr << cls.to_string
|
16
|
+
end
|
17
|
+
|
18
|
+
end.join("\n")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def new_test_cloud(&block)
|
23
|
+
TestCloudClass.new(:test_cloud, &block)
|
24
|
+
end
|
25
|
+
|
26
|
+
def load_test_cloud(name, poolfile=nil)
|
27
|
+
PoolParty::Script.inflate_file poolfile
|
28
|
+
blk = cloud(name).stored_block.dup
|
29
|
+
PoolParty::Pool.reset!
|
30
|
+
new_test_cloud &blk
|
31
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<?xml version="1.0" ?>
|
2
|
+
<cib admin_epoch="0" epoch="0" num_updates="0">
|
3
|
+
<configuration>
|
4
|
+
<crm_config>
|
5
|
+
<cluster_property_set id="cib-bootstrap-options">
|
6
|
+
<attributes>
|
7
|
+
<nvpair id="cib-bootstrap-options-symmetric-cluster" name="symmetric-cluster" value="true"/>
|
8
|
+
<nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="stop"/>
|
9
|
+
<nvpair id="cib-bootstrap-options-default-resource-stickiness" name="default-resource-stickiness" value="0"/>
|
10
|
+
<nvpair id="cib-bootstrap-options-default-resource-failure-stickiness" name="default-resource-failure-stickiness" value="0"/>
|
11
|
+
<nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
|
12
|
+
<nvpair id="cib-bootstrap-options-stonith-action" name="stonith-action" value="reboot"/>
|
13
|
+
<nvpair id="cib-bootstrap-options-startup-fencing" name="startup-fencing" value="true"/>
|
14
|
+
<nvpair id="cib-bootstrap-options-stop-orphan-resources" name="stop-orphan-resources" value="true"/>
|
15
|
+
<nvpair id="cib-bootstrap-options-stop-orphan-actions" name="stop-orphan-actions" value="true"/>
|
16
|
+
<nvpair id="cib-bootstrap-options-remove-after-stop" name="remove-after-stop" value="false"/>
|
17
|
+
<nvpair id="cib-bootstrap-options-short-resource-names" name="short-resource-names" value="true"/>
|
18
|
+
<nvpair id="cib-bootstrap-options-transition-idle-timeout" name="transition-idle-timeout" value="5min"/>
|
19
|
+
<nvpair id="cib-bootstrap-options-default-action-timeout" name="default-action-timeout" value="20s"/>
|
20
|
+
<nvpair id="cib-bootstrap-options-is-managed-default" name="is-managed-default" value="true"/>
|
21
|
+
<nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
|
22
|
+
<nvpair id="cib-bootstrap-options-pe-error-series-max" name="pe-error-series-max" value="-1"/>
|
23
|
+
<nvpair id="cib-bootstrap-options-pe-warn-series-max" name="pe-warn-series-max" value="-1"/>
|
24
|
+
<nvpair id="cib-bootstrap-options-pe-input-series-max" name="pe-input-series-max" value="-1"/>
|
25
|
+
</attributes>
|
26
|
+
</cluster_property_set>
|
27
|
+
</crm_config>
|
28
|
+
<nodes/>
|
29
|
+
<resources>
|
30
|
+
<% ha_nodenames.each_with_index do |name, index| %>
|
31
|
+
<primitive class="ocf" id="IPaddr_<%= name %>" provider="heartbeat" type="IPaddr">
|
32
|
+
<operations>
|
33
|
+
<op id="IPaddr_<%= name %>_mon" interval="5s" name="monitor" timeout="<%= ha_timeout %>"/>
|
34
|
+
</operations>
|
35
|
+
<instance_attributes id="IPaddr_<%= name %>_inst_attr">
|
36
|
+
<attributes>
|
37
|
+
<nvpair id="IPaddr_<%= name %>_attr_0" name="ip" value="<%= ha_node_ips[index] %>"/>
|
38
|
+
</attributes>
|
39
|
+
</instance_attributes>
|
40
|
+
</primitive>
|
41
|
+
<% end %>
|
42
|
+
</resources>
|
43
|
+
<constraints>
|
44
|
+
<% ha_nodenames.each_with_index do |name, index| %>
|
45
|
+
<rsc_location id="rsc_location_IPaddr_<%= name %>" rsc="IPaddr_<%= name %>">
|
46
|
+
<rule id="prefered_location_IPaddr_<%= name %>" score="100">
|
47
|
+
<expression attribute="#uname" id="prefered_location_IPaddr_<%= name %>_expr" operation="eq" value="<%= name %>"/>
|
48
|
+
</rule>
|
49
|
+
</rsc_location>
|
50
|
+
<% end %>
|
51
|
+
</constraints>
|
52
|
+
</configuration>
|
53
|
+
<status/>
|
54
|
+
</cib>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#--
|
3
|
+
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
4
|
+
# All rights reserved.
|
5
|
+
# See LICENSE.txt for permissions.
|
6
|
+
#++
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require 'rubygems/gem_runner'
|
10
|
+
require 'rubygems/exceptions'
|
11
|
+
|
12
|
+
required_version = Gem::Requirement.new "> 1.8.3"
|
13
|
+
|
14
|
+
unless required_version.satisfied_by? Gem.ruby_version then
|
15
|
+
abort "Expected Ruby Version #{required_version}, was #{Gem.ruby_version}"
|
16
|
+
end
|
17
|
+
|
18
|
+
# We need to preserve the original ARGV to use for passing gem options
|
19
|
+
# to source gems. If there is a -- in the line, strip all options after
|
20
|
+
# it...its for the source building process.
|
21
|
+
args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]
|
22
|
+
|
23
|
+
begin
|
24
|
+
Gem::GemRunner.new.run args
|
25
|
+
rescue Gem::SystemExitException => e
|
26
|
+
exit e.exit_code
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# Heartbeat
|
2
|
+
keepalive 5 # Time inbetween heartbeats
|
3
|
+
deadtime 32 # wait 10 seconds before declaring dead
|
4
|
+
warntime 16 # issue a warning halfway through
|
5
|
+
initdead 60 # Don't boot instances between 60 seconds of each other
|
6
|
+
logfacility daemon # Log to syslog as facility "daemon"
|
7
|
+
auto_failback on
|
8
|
+
use_logd yes
|
9
|
+
bcast eth0
|
10
|
+
|
11
|
+
<% ha_node_ips.chomp.split(/\t/).each_with_index do |ip,index| -%>
|
12
|
+
<% if hostname != ha_nodenames.chomp.split(/\t/)[index] -%>
|
13
|
+
ucast eth0 <%= ip %>
|
14
|
+
<% end -%>
|
15
|
+
<% end -%>
|
16
|
+
|
17
|
+
node <%= ha_nodenames.chomp.split(/\t/).join(" ") %>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
global
|
2
|
+
daemon
|
3
|
+
maxconn 4096 # total max connections (dependent on ulimit)
|
4
|
+
nbproc 1 # number of processing cores
|
5
|
+
user haproxy
|
6
|
+
group haproxy
|
7
|
+
chroot /var/run/haproxy
|
8
|
+
log 127.0.0.1 local0 debug
|
9
|
+
pidfile /var/run/haproxy.pid
|
10
|
+
|
11
|
+
defaults
|
12
|
+
log global # Log to the global log
|
13
|
+
clitimeout 150000
|
14
|
+
srvtimeout 150000
|
15
|
+
contimeout 30000
|
16
|
+
|
17
|
+
option httplog
|
18
|
+
option httpclose # disable keepalive (HAProxy does not yet support the HTTP keep-alive mode)
|
19
|
+
option forwardfor # enable insert of X-Forwarded-For headers
|
20
|
+
retries 3
|
21
|
+
option redispatch
|
22
|
+
|
23
|
+
balance roundrobin # each server is used in turns, according to assigned weight
|
24
|
+
|
25
|
+
# Stats
|
26
|
+
stats enable
|
27
|
+
stats uri /poolparty
|
28
|
+
stats realm Statistics\ for\ PoolParty
|
29
|
+
|
30
|
+
listen <%= @node[:poolparty][:haproxy_name] %>
|
31
|
+
mode <%= @node[:poolparty][:proxy_mode] %>
|
32
|
+
bind 0.0.0.0:<%= @node[:poolparty][:ports_haproxy].join(",0.0.0.0:") %>
|
33
|
+
cookie POOLPARTYPARTY
|
34
|
+
<% %x[/usr/bin/server-list-active ip].split("\t").each_with_index do |ip, index| %>
|
35
|
+
server <%= index == 0 ? "master" : "node#{index}" %> <%= ip %>:<%= @node[:poolparty][:forwarding_port] %> weight 1 check cookie
|
36
|
+
<% end %>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# File to write debug messages to
|
2
|
+
# Default: /var/log/ha-debug
|
3
|
+
#debugfile /var/log/ha-debug
|
4
|
+
|
5
|
+
#
|
6
|
+
#
|
7
|
+
# File to write other messages to
|
8
|
+
# Default: /var/log/ha-log
|
9
|
+
#logfile /var/log/ha-log
|
10
|
+
|
11
|
+
#
|
12
|
+
#
|
13
|
+
# Facility to use for syslog()/logger
|
14
|
+
# Default: daemon
|
15
|
+
logfacility daemon
|
16
|
+
|
17
|
+
|
18
|
+
# Entity to be shown at beginning of a message
|
19
|
+
# for logging daemon
|
20
|
+
# Default: "logd"
|
21
|
+
#entity logd
|
22
|
+
|
23
|
+
|
24
|
+
# Do we register to apphbd
|
25
|
+
# Default: no
|
26
|
+
#useapphbd no
|
27
|
+
|
28
|
+
# There are two processes running for logging daemon
|
29
|
+
# 1. parent process which reads messages from all client channels
|
30
|
+
# and writes them to the child process
|
31
|
+
#
|
32
|
+
# 2. the child process which reads messages from the parent process through IPC
|
33
|
+
# and writes them to syslog/disk
|
34
|
+
|
35
|
+
|
36
|
+
# set the send queue length from the parent process to the child process
|
37
|
+
#
|
38
|
+
#sendqlen 256
|
39
|
+
|
40
|
+
# set the recv queue length in child process
|
41
|
+
#
|
42
|
+
#recvqlen 256
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rack'
|
4
|
+
require 'json'
|
5
|
+
require 'thin'
|
6
|
+
require "poolparty/monitors"
|
7
|
+
|
8
|
+
app = Rack::Builder.new do
|
9
|
+
use Rack::Reloader, 2
|
10
|
+
use Rack::ShowExceptions
|
11
|
+
use Rack::Lint
|
12
|
+
# use Rack::PostBodyContentTypeParser #parses json requests to params hash
|
13
|
+
run Monitors::MonitorRack.new()
|
14
|
+
end
|
15
|
+
|
16
|
+
run app
|
@@ -0,0 +1,19 @@
|
|
1
|
+
[fileserver]
|
2
|
+
allow *
|
3
|
+
allow *.internal
|
4
|
+
|
5
|
+
[puppetmaster]
|
6
|
+
allow *
|
7
|
+
allow *.internal
|
8
|
+
|
9
|
+
[puppetrunner]
|
10
|
+
allow *
|
11
|
+
allow *.internal
|
12
|
+
|
13
|
+
[puppetbucket]
|
14
|
+
allow *
|
15
|
+
allow *.internal
|
16
|
+
|
17
|
+
[puppetreports]
|
18
|
+
allow *
|
19
|
+
allow *.internal
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
# Based on puppet High Availability recipe
|
3
|
+
#
|
4
|
+
# http://reductivelabs.com/trac/puppet/wiki/Recipes/HighAvailability
|
5
|
+
# Modified for PoolParty
|
6
|
+
#
|
7
|
+
exitstatus=0
|
8
|
+
processid=`ps aux | grep puppetmasterd | awk '{print $2}'`
|
9
|
+
|
10
|
+
if [ -z $processid ] || test `netstat -apn | grep "${processid}/ruby" | wc -l` -eq 0 ; then
|
11
|
+
exitstatus=1
|
12
|
+
fi
|
13
|
+
|
14
|
+
exit $exitstatus
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
. /etc/profile
|
3
|
+
echo 'checking if puppet is running'
|
4
|
+
PUPRUN=`ps aux | grep \/usr\/bin\/puppet\/ | grep -v grep | wc -c`
|
5
|
+
echo $PUPRUN
|
6
|
+
if [ $PUPRUN -eq 0 ]; then
|
7
|
+
# /usr/bin/puppet -d --logdest syslog /etc/puppet/manifests/site.pp
|
8
|
+
/usr/bin/puppet -d /etc/puppet/manifests/site.pp
|
9
|
+
echo 'puppet was run'
|
10
|
+
# echo 'puppet was run `date`'>>/root/log/pool.log
|
11
|
+
else
|
12
|
+
echo 'puppet was not run. It may already be running.'
|
13
|
+
# echo 'puppet was not run. It may already be running.' >> /root/log/pool.log
|
14
|
+
fi
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
. /etc/profile
|
3
|
+
echo 'checking if puppet is running'
|
4
|
+
PUPRUN=`ps aux | grep \/usr\/bin\/puppet\/ | grep -v grep | wc -c`
|
5
|
+
echo "$PUPRUN"
|
6
|
+
if [ $PUPRUN -eq 0 ]; then
|
7
|
+
# /usr/bin/puppet -d --logdest syslog /etc/puppet/manifests/site.pp
|
8
|
+
/usr/bin/puppet -d /etc/puppet/manifests/site.pp
|
9
|
+
echo "puppet was run"
|
10
|
+
echo "puppet was run `date`">>/root/log/pool.log
|
11
|
+
else
|
12
|
+
echo "puppet was not run. It may already be running."
|
13
|
+
echo "puppet was not run. It may already be running.">>/root/log/pool.log
|
14
|
+
fi
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Configuration file for Yaws HTTP daemon
|
2
|
+
|
3
|
+
# This config defines virtual server localhost. It is
|
4
|
+
# enabled by default. If you want to disable it, remove
|
5
|
+
# symlink from /etc/yaws/conf.d/.
|
6
|
+
|
7
|
+
# Instead you may edit this file and after that reload
|
8
|
+
# yaws configureation using invoke-rc.d yaws reload
|
9
|
+
|
10
|
+
# (If you want to use privileged port, run yaws as root,
|
11
|
+
# setting YAWS_USER in /etc/default/yaws, or use port
|
12
|
+
# redirection, e.g. via iptables.)
|
13
|
+
|
14
|
+
<server localhost>
|
15
|
+
port = 8000
|
16
|
+
listen = 0.0.0.0
|
17
|
+
docroot = /var/www/cloudpanel
|
18
|
+
# dir_listings = true
|
19
|
+
</server>
|
data/lib/poolparty.rb
ADDED
@@ -0,0 +1,148 @@
|
|
1
|
+
$LOAD_PATH<< File.dirname(__FILE__)
|
2
|
+
# Load required gems
|
3
|
+
#TODO: remove activesupport
|
4
|
+
@required_software = Array.new
|
5
|
+
%w(rubygems activesupport ftools logging resolv ruby2ruby digest/sha2 json pp).each do |lib|
|
6
|
+
begin
|
7
|
+
require lib
|
8
|
+
rescue Exception => e
|
9
|
+
@required_software << lib
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
require "#{File.dirname(__FILE__)}/poolparty/helpers/nice_printer"
|
14
|
+
|
15
|
+
unless @required_software.empty?
|
16
|
+
@np = NicePrinter.new(45)
|
17
|
+
|
18
|
+
# error_initializing_message.txt
|
19
|
+
@np.header
|
20
|
+
@np.center("Error")
|
21
|
+
@np.left("Missing required software")
|
22
|
+
@required_software.map {|a| @np << " #{a}" }
|
23
|
+
@np << "Please install the required software"
|
24
|
+
@np << "and try again"
|
25
|
+
@np.empty
|
26
|
+
@np << "Try installing #{@required_software.size == 1 ? "it" : "them"} with"
|
27
|
+
@required_software.map {|a| @np << " gem install #{a}" }
|
28
|
+
@np.empty
|
29
|
+
@np.footer
|
30
|
+
|
31
|
+
@np.print
|
32
|
+
exit(0)
|
33
|
+
end
|
34
|
+
|
35
|
+
Dir.glob(File.join(File.dirname(__FILE__),'..', 'vendor/gems/*/lib/*.rb')).each do |d|
|
36
|
+
require d
|
37
|
+
end
|
38
|
+
|
39
|
+
t=Time.now
|
40
|
+
## Load PoolParty
|
41
|
+
%w(version).each do |f|
|
42
|
+
require "#{File.dirname(__FILE__)}/poolparty/#{f}"
|
43
|
+
end
|
44
|
+
|
45
|
+
def PoolParty.require_directory(dir)
|
46
|
+
if ::File.file?(dir)
|
47
|
+
puts "#{::File.expand_path(dir)}" if $DEBUGGING || $GENERATING_MANIFEST
|
48
|
+
require dir
|
49
|
+
else
|
50
|
+
Dir["#{dir}/*.rb"].sort.each do |file|
|
51
|
+
puts "#{::File.expand_path(file)}" if $DEBUGGING || $GENERATING_MANIFEST
|
52
|
+
require "#{file}" if ::File.file?(file)
|
53
|
+
end
|
54
|
+
Dir["#{dir}/*"].sort.each do |dir|
|
55
|
+
require_directory(dir) if ::File.directory?(dir)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
#load poolparty framework in specific order
|
61
|
+
$_poolparty_load_directories = [
|
62
|
+
"core",
|
63
|
+
"dependencies.rb",
|
64
|
+
"dependency_resolver/dependency_resolver_cloud_extensions.rb",
|
65
|
+
"dependency_resolver/dependency_resolver.rb",
|
66
|
+
"poolparty/poolparty_base_class.rb",
|
67
|
+
"modules",
|
68
|
+
"exceptions",
|
69
|
+
'poolparty/key.rb',
|
70
|
+
"dependency_resolver",
|
71
|
+
"aska",
|
72
|
+
"config",
|
73
|
+
"monitors",
|
74
|
+
"capistrano.rb",
|
75
|
+
'provisioners/provisioner_base.rb',
|
76
|
+
'provisioners/capistrano/capistrano.rb',
|
77
|
+
'provision',
|
78
|
+
"extra",
|
79
|
+
"net",
|
80
|
+
"helpers",
|
81
|
+
"poolparty/resource.rb",
|
82
|
+
"poolparty/service.rb",
|
83
|
+
"resources",
|
84
|
+
"services",
|
85
|
+
"poolparty/cloud.rb",
|
86
|
+
"poolparty",
|
87
|
+
"templates"
|
88
|
+
]
|
89
|
+
manifest_file_location = ::File.join(::File.dirname(__FILE__), '../config/manifest.pp')
|
90
|
+
|
91
|
+
if ::File.file?(manifest_file_location)
|
92
|
+
::File.readlines(manifest_file_location).each do |line|
|
93
|
+
puts "#{::File.expand_path(line)}" if $DEBUGGING
|
94
|
+
require "#{line.gsub(/\n/, '')}"
|
95
|
+
end
|
96
|
+
else
|
97
|
+
$_poolparty_load_directories.each do |dir|
|
98
|
+
PoolParty.require_directory(::File.join(::File.dirname(__FILE__),'poolparty', dir))
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
Logging.init :debug, :info, :warn, :error, :fatal
|
103
|
+
|
104
|
+
module PoolParty
|
105
|
+
include FileWriter
|
106
|
+
|
107
|
+
def log
|
108
|
+
@logger ||= make_new_logger rescue STDOUT
|
109
|
+
end
|
110
|
+
def reset!
|
111
|
+
$pools = $clouds = $plugins = @describe_instances = nil
|
112
|
+
end
|
113
|
+
class PoolParty
|
114
|
+
def initialize(spec)
|
115
|
+
reset!
|
116
|
+
Script.inflate(spec) if spec
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
private
|
121
|
+
#:nodoc:#
|
122
|
+
def make_new_logger
|
123
|
+
FileUtils.mkdir_p ::File.dirname(Default.pool_logger_location) unless ::File.directory?(::File.dirname(Default.pool_logger_location))
|
124
|
+
Loggable.new
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
class Object
|
129
|
+
include PoolParty
|
130
|
+
include PoolParty::Pool
|
131
|
+
include PoolParty::Cloud
|
132
|
+
|
133
|
+
include PoolParty::DefinableResource
|
134
|
+
end
|
135
|
+
|
136
|
+
class Class
|
137
|
+
include PoolParty::PluginModel
|
138
|
+
end
|
139
|
+
|
140
|
+
## Load PoolParty Plugins and package
|
141
|
+
module PoolParty
|
142
|
+
%w(plugins base_packages).each do |dir|
|
143
|
+
require_directory(::File.join(::File.dirname(__FILE__), 'poolparty', dir))
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
PoolParty.reset!
|
148
|
+
puts "duration = #{Time.now-t}" if $DEBUGGING
|