poolparty 0.2.18 → 0.2.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Manifest.txt +142 -47
- data/PostInstall.txt +5 -5
- data/README.txt +25 -4
- data/Rakefile +46 -2
- data/bin/cloud +12 -21
- data/bin/cloud-add-keypair +18 -13
- data/bin/cloud-configure +11 -18
- data/bin/cloud-contract +7 -17
- data/bin/cloud-ensure-provisioning +39 -0
- data/bin/cloud-expand +9 -17
- data/bin/cloud-handle-load +27 -0
- data/bin/cloud-list +3 -9
- data/bin/cloud-maintain +12 -18
- data/bin/cloud-osxcopy +3 -9
- data/bin/cloud-provision +20 -21
- data/bin/cloud-refresh +4 -13
- data/bin/cloud-run +3 -4
- data/bin/cloud-ssh +3 -2
- data/bin/cloud-start +18 -21
- data/bin/cloud-stats +17 -0
- data/bin/cloud-terminate +4 -7
- data/bin/messenger-get-current-nodes +14 -0
- data/bin/pool +12 -12
- data/bin/pool-describe +0 -1
- data/bin/{pool-spec → pool-generate} +1 -0
- data/bin/pool-init +28 -0
- data/bin/pool-list +14 -12
- data/bin/pool-start +11 -17
- data/bin/server-build-messenger +13 -6
- data/bin/server-fire-cmd +1 -1
- data/bin/server-get-load +5 -16
- data/bin/server-list-active +3 -10
- data/bin/server-rerun +4 -4
- data/bin/server-send-command +18 -0
- data/bin/server-show-stats +17 -0
- data/bin/server-start-client +29 -0
- data/bin/server-start-master +13 -14
- data/bin/server-start-node +14 -15
- 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 +48 -0
- data/config/hoe.rb +4 -3
- data/examples/plugin_without_plugin_directory.rb +1 -2
- data/generators/poolspec/USAGE +2 -2
- data/generators/poolspec/poolspec_generator.rb +2 -1
- data/generators/poolspec/templates/pool_spec_template.erb +3 -2
- data/lib/erlang/messenger/Rakefile +12 -0
- data/lib/erlang/messenger/ebin/client.app +19 -0
- data/lib/erlang/messenger/ebin/master.app +1 -1
- data/lib/erlang/messenger/ebin/node.app +1 -1
- 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 -1
- data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -1
- data/lib/erlang/messenger/include/defines.hrl +27 -0
- data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +53 -0
- data/lib/erlang/messenger/lib/eunit/.svn/entries +140 -0
- data/lib/erlang/messenger/lib/eunit/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +2 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +14 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +504 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +276 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +3 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +9 -0
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +1 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +59 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +142 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +3 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base +0 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base +172 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +17 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +12 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +984 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +980 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +11 -0
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +55 -0
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +5 -0
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +8 -0
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +28 -0
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +23 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +66 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +339 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +19 -0
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +1 -0
- data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +11 -0
- data/lib/erlang/messenger/lib/eunit/include/.svn/entries +41 -0
- data/lib/erlang/messenger/lib/eunit/include/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +313 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +113 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/entries +259 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/format +1 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +5 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +388 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +243 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +21 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +1 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +196 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +102 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +798 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +48 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +682 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +552 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +157 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +340 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +64 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +334 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +45 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +272 -0
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +409 -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 +82 -85
- data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_node_rel-0.1.script +80 -85
- 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/pm_client.erl +48 -18
- data/lib/erlang/messenger/src/pm_client_old.erl +52 -0
- data/lib/erlang/messenger/src/pm_client_supervisor.erl +38 -0
- data/lib/erlang/messenger/src/pm_cluster.erl +20 -16
- data/lib/erlang/messenger/src/pm_event_manager.erl +27 -0
- data/lib/erlang/messenger/src/pm_master.erl +126 -34
- data/lib/erlang/messenger/src/pm_master_event_handler.erl +72 -0
- data/lib/erlang/messenger/src/pm_master_supervisor.erl +9 -10
- data/lib/erlang/messenger/src/pm_node.erl +107 -30
- data/lib/erlang/messenger/src/pm_node_supervisor.erl +13 -15
- data/lib/erlang/messenger/src/pm_packager.erl +5 -2
- data/lib/erlang/messenger/src/pm_strings.erl +11 -0
- data/lib/erlang/messenger/src/utils.erl +43 -8
- data/lib/erlang/messenger/useful_snippets +17 -0
- data/lib/poolparty/aska/aska.rb +150 -0
- data/lib/poolparty/base_packages/haproxy.rb +19 -26
- data/lib/poolparty/base_packages/heartbeat.rb +48 -47
- data/lib/poolparty/base_packages/poolparty.rb +88 -36
- data/lib/poolparty/base_packages/runit.rb +21 -0
- data/lib/poolparty/config/postlaunchmessage.txt +5 -0
- data/lib/poolparty/core/array.rb +4 -1
- data/lib/poolparty/core/class.rb +2 -0
- data/lib/poolparty/core/exception.rb +2 -1
- data/lib/poolparty/core/hash.rb +2 -2
- data/lib/poolparty/core/kernel.rb +3 -3
- data/lib/poolparty/core/metaid.rb +15 -0
- data/lib/poolparty/core/object.rb +42 -2
- data/lib/poolparty/core/string.rb +21 -6
- data/lib/poolparty/core/symbol.rb +9 -0
- data/lib/poolparty/dependency_resolutions/puppet.rb +20 -7
- 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/helpers/binary.rb +37 -4
- data/lib/poolparty/helpers/console.rb +25 -8
- data/lib/poolparty/helpers/nice_printer.rb +36 -0
- data/lib/poolparty/helpers/optioner.rb +51 -16
- data/lib/poolparty/helpers/provisioner_base.rb +117 -28
- data/lib/poolparty/helpers/provisioners/master.rb +102 -35
- data/lib/poolparty/helpers/provisioners/slave.rb +25 -9
- data/lib/poolparty/modules/cloud_dsl.rb +13 -0
- data/lib/poolparty/modules/cloud_resourcer.rb +51 -8
- data/lib/poolparty/modules/configurable.rb +1 -1
- data/lib/poolparty/modules/definable_resource.rb +2 -2
- data/lib/poolparty/modules/file_writer.rb +37 -6
- data/lib/poolparty/modules/method_missing_sugar.rb +8 -3
- data/lib/poolparty/modules/pretty_printer.rb +1 -0
- data/lib/poolparty/modules/resourcing_dsl.rb +4 -2
- data/lib/poolparty/modules/thread_pool.rb +106 -0
- data/lib/poolparty/monitors/base_monitor.rb +65 -6
- data/lib/poolparty/monitors/monitors/cpu_monitor.rb +1 -1
- data/lib/poolparty/monitors/monitors/memory_monitor.rb +28 -1
- data/lib/poolparty/monitors/monitors/web_monitor.rb +18 -0
- data/lib/poolparty/net/messenger.rb +72 -0
- data/lib/poolparty/net/remote.rb +5 -2
- data/lib/poolparty/net/remote_bases/ec2/ec2_response_object.rb +66 -0
- data/lib/poolparty/net/remote_bases/ec2.rb +133 -131
- data/lib/poolparty/net/remote_instance.rb +28 -6
- data/lib/poolparty/net/remoter.rb +117 -64
- data/lib/poolparty/net/remoter_base.rb +49 -11
- data/lib/poolparty/plugins/deploydirectory.rb +66 -0
- data/lib/poolparty/plugins/line.rb +5 -4
- data/lib/poolparty/plugins/rsyncmirror.rb +26 -0
- data/lib/poolparty/plugins/runit.rb +96 -0
- data/lib/poolparty/plugins/svn.rb +1 -1
- data/lib/poolparty/pool/base.rb +47 -18
- data/lib/poolparty/pool/cloud.rb +121 -65
- data/lib/poolparty/pool/custom_resource.rb +4 -20
- data/lib/poolparty/pool/loggable.rb +3 -8
- data/lib/poolparty/pool/plugin.rb +14 -19
- data/lib/poolparty/pool/plugin_model.rb +8 -8
- data/lib/poolparty/pool/pool.rb +28 -11
- data/lib/poolparty/pool/resource.rb +109 -40
- data/lib/poolparty/pool/resources/class_package.rb +74 -33
- data/lib/poolparty/pool/resources/conditional.rb +32 -10
- data/lib/poolparty/pool/resources/custom_service.rb +30 -0
- data/lib/poolparty/pool/resources/exec.rb +6 -5
- data/lib/poolparty/pool/resources/gem_package.rb +52 -0
- data/lib/poolparty/pool/resources/mount.rb +22 -0
- data/lib/poolparty/pool/resources/package.rb +13 -3
- data/lib/poolparty/pool/resources/sshkey.rb +1 -1
- data/lib/poolparty/pool/resources/variable.rb +4 -0
- data/lib/poolparty/pool/script.rb +8 -6
- data/lib/poolparty/templates/haproxy.conf +1 -1
- 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/poolparty.monitor +1 -1
- data/lib/poolparty/templates/puppet.conf +0 -0
- data/lib/poolparty/templates/puppetcleaner +6 -0
- data/lib/poolparty/templates/puppetrerun +9 -0
- data/lib/poolparty/templates/puppetrunner +8 -0
- data/lib/poolparty/templates/yaws.conf +19 -0
- data/lib/poolparty/version.rb +1 -1
- data/lib/poolparty.rb +35 -6
- data/lib/poolpartycl.rb +4 -0
- data/log/pool.logs +0 -0
- data/poolparty.gemspec +574 -61
- data/spec/poolparty/aska/aska_spec.rb +122 -0
- data/spec/poolparty/bin/console_spec.rb +18 -0
- data/spec/poolparty/core/hash_spec.rb +4 -4
- data/spec/poolparty/core/object_spec.rb +29 -0
- data/spec/poolparty/core/string_spec.rb +6 -0
- data/spec/poolparty/core/time_spec.rb +0 -3
- data/spec/poolparty/helpers/binary_spec.rb +2 -2
- data/spec/poolparty/helpers/optioner_spec.rb +1 -4
- data/spec/poolparty/helpers/provisioner_base_spec.rb +14 -1
- data/spec/poolparty/helpers/provisioners/master_spec.rb +3 -3
- data/spec/poolparty/modules/cloud_resourcer_spec.rb +3 -3
- data/spec/poolparty/modules/configurable_spec.rb +4 -1
- data/spec/poolparty/monitors/base_monitor_spec.rb +94 -2
- data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +0 -1
- data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +47 -0
- data/spec/poolparty/{helpers → net}/messenger_spec.rb +3 -1
- data/spec/poolparty/net/remote_bases/ec2_spec.rb +46 -5
- data/spec/poolparty/net/remote_instance_spec.rb +2 -1
- data/spec/poolparty/net/remote_spec.rb +30 -8
- data/spec/poolparty/net/remoter_base_spec.rb +4 -1
- data/spec/poolparty/net/remoter_spec.rb +11 -108
- data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -0
- data/spec/poolparty/pool/base_spec.rb +43 -33
- data/spec/poolparty/pool/cloud_spec.rb +299 -248
- data/spec/poolparty/pool/custom_resource_spec.rb +10 -5
- data/spec/poolparty/pool/example_spec.rb +0 -84
- data/spec/poolparty/pool/plugin_model_spec.rb +3 -2
- data/spec/poolparty/pool/plugin_spec.rb +89 -62
- data/spec/poolparty/pool/pool_spec.rb +17 -2
- data/spec/poolparty/pool/resource_spec.rb +341 -236
- data/spec/poolparty/pool/resources/class_package_spec.rb +102 -66
- data/spec/poolparty/pool/resources/conditional_spec.rb +65 -26
- data/spec/poolparty/pool/resources/cron_spec.rb +3 -2
- data/spec/poolparty/pool/resources/exec_spec.rb +1 -1
- data/spec/poolparty/pool/resources/gem_spec.rb +18 -14
- data/spec/poolparty/pool/resources/remote_file_spec.rb +1 -1
- data/spec/poolparty/pool/resources/variable_spec.rb +1 -1
- data/spec/poolparty/pool/script_spec.rb +58 -37
- data/spec/poolparty/pool/test_plugins/webserver.rb +1 -0
- data/spec/poolparty/spec_helper.rb +16 -5
- data/tasks/deployment.rake +19 -3
- data/tasks/development.rake +11 -2
- data/tasks/ec2.rake +9 -1
- data/website/index.html +2 -2
- metadata +167 -70
- data/bin/pool-provision +0 -34
- data/erl_crash.dump +0 -8409
- data/examples/with_apache_plugin.rb +0 -22
- data/lib/erlang/messenger/Makefile +0 -15
- data/lib/erlang/messenger/ebin/master_app.beam +0 -0
- data/lib/erlang/messenger/ebin/node_app.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_event_handler.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
- data/lib/erlang/messenger/ebin/utils.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
- 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.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/src/Makefile +0 -46
- data/lib/erlang/messenger/src/pm_event_handler.erl +0 -21
- data/lib/poolparty/config/allowed_commands.yml +0 -1
- data/lib/poolparty/helpers/messenger.rb +0 -29
- data/lib/poolparty/plugins/git.rb +0 -39
- data/lib/poolparty/pool/resources/gem.rb +0 -28
- data/lib/poolparty/pool/tmp/.ppkeys +0 -3
- data/lib/poolparty/pool/tmp/happydayz +0 -1
- data/lib/poolparty/pool/tmp/install_master.sh +0 -33
- data/lib/poolparty/pool/tmp/pool.spec +0 -11
- data/lib/poolparty/pool/tmp/poolparty.pp +0 -600
- data/lib/poolparty/pool/tmp/tc-instances.list +0 -1
- data/lib/poolparty/templates/fileserver.conf +0 -4
- data/spec/poolparty/plugins/git_spec.rb +0 -33
- data/test_manifest.pp +0 -658
data/bin/cloud-contract
CHANGED
|
@@ -6,22 +6,12 @@ require "poolpartycl"
|
|
|
6
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
7
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
8
8
|
end
|
|
9
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
puts "Cloud name required. Please specify it with -n name"
|
|
19
|
-
exit(0)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
with_cloud(@cloud, {:testing => @testing}) do
|
|
23
|
-
puts header("Contracting cloud #{name}")
|
|
24
|
-
puts "#{list_of_running_instances.size} running instances (#{minimum_instances} minimum instances)"
|
|
25
|
-
puts testing ? "Not contracting (test mode)" : "Contracting the cloud if possible"
|
|
26
|
-
contract_cloud_if_necessary( !testing )
|
|
10
|
+
o.loaded_clouds.each do |cl|
|
|
11
|
+
with_cloud(cl) do
|
|
12
|
+
puts header("Contracting cloud #{name}")
|
|
13
|
+
puts "#{list_of_running_instances.size} running instances (#{minimum_instances} minimum instances)"
|
|
14
|
+
puts testing ? "Not contracting (test mode)" : "Contracting the cloud if possible"
|
|
15
|
+
contract_cloud_if_necessary( !testing )
|
|
16
|
+
end
|
|
27
17
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
|
+
require "poolparty"
|
|
4
|
+
require "poolpartycl"
|
|
5
|
+
|
|
6
|
+
available_monitors = PoolParty::Monitors.available_monitors
|
|
7
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
8
|
+
opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
|
|
9
|
+
opts.on('-l', '--no-shell', 'No shell') {optioner.noshell true}
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
o.loaded_clouds.each do |cloud|
|
|
13
|
+
|
|
14
|
+
with_cloud(cloud) do
|
|
15
|
+
|
|
16
|
+
@nonprovisioned_nodes = list_of_running_instances.map {|a| a.name } - cloud.get_current_nodes
|
|
17
|
+
# @tp = ThreadPool.new(10)
|
|
18
|
+
@nonprovisioned_nodes.each do |node|
|
|
19
|
+
vputs "Provisioning #{node}"
|
|
20
|
+
next if node == "master"
|
|
21
|
+
# @tp.process do
|
|
22
|
+
str = returning Array.new do |s|
|
|
23
|
+
s << "/usr/sbin/puppetca --clean #{node}.compute-1.internal"
|
|
24
|
+
s << "/usr/sbin/puppetca --clean #{node}.ec2.internal"
|
|
25
|
+
end.join(";")
|
|
26
|
+
|
|
27
|
+
node_id = node.gsub(/node/, '')
|
|
28
|
+
|
|
29
|
+
cmd = ". /etc/profile && #{str};cloud-provision -n #{cloud.name} -i #{node_id};#{str}"
|
|
30
|
+
running_cmd = "ps aux | grep -v grep | grep \"cloud-provision -n #{cloud.name} -i #{node_id};\""
|
|
31
|
+
|
|
32
|
+
vputs "Executing #{cmd}"
|
|
33
|
+
running = %x[#{running_cmd}]
|
|
34
|
+
`#{cmd}` if running.chomp.empty?
|
|
35
|
+
end
|
|
36
|
+
# @tp.join
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
data/bin/cloud-expand
CHANGED
|
@@ -4,24 +4,16 @@ require "poolparty"
|
|
|
4
4
|
require "poolpartycl"
|
|
5
5
|
|
|
6
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
|
-
opts.on('-n name', '--name name', '
|
|
7
|
+
opts.on('-n name', '--name name', 'Expand the cloud on this name') { |c| optioner.cloudname c }
|
|
8
8
|
end
|
|
9
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
with_cloud(@cloud, {:testing => @testing}) do
|
|
23
|
-
puts header("Expanding cloud #{name}")
|
|
24
|
-
puts "#{list_of_running_instances.size} running instances of #{maximum_instances} possible instances"
|
|
25
|
-
puts testing ? "Not expanding (test mode)" : "Expanding the cloud"
|
|
26
|
-
expand_cloud_if_necessary( !testing )
|
|
12
|
+
with_cloud(cloud) do
|
|
13
|
+
vputs header("Expanding cloud #{name}")
|
|
14
|
+
vputs "#{list_of_running_instances.size} running instances of #{maximum_instances} possible instances"
|
|
15
|
+
vputs testing ? "Not expanding (test mode)" : "Expanding the cloud"
|
|
16
|
+
expand_cloud_if_necessary( !testing )
|
|
17
|
+
end
|
|
18
|
+
|
|
27
19
|
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
|
+
require "poolparty"
|
|
4
|
+
require "poolpartycl"
|
|
5
|
+
|
|
6
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
|
+
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
11
|
+
|
|
12
|
+
with_cloud(cloud) do
|
|
13
|
+
vputs header("Load handling cloud #{name}")
|
|
14
|
+
vputs "should_expand_cloud: #{should_contract_cloud?}"
|
|
15
|
+
if should_expand_cloud?
|
|
16
|
+
vputs "Expanding cloud based on load"
|
|
17
|
+
logger.debug "Expanding cloud based on load"
|
|
18
|
+
logger.debug rules_values
|
|
19
|
+
expand_cloud_if_necessary
|
|
20
|
+
elsif should_contract_cloud?
|
|
21
|
+
vputs "Contracting cloud based on load"
|
|
22
|
+
logger.debug rules_values
|
|
23
|
+
contract_cloud_if_necessary
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
data/bin/cloud-list
CHANGED
|
@@ -2,23 +2,17 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
7
|
opts.on('-f [remote|local]', '--from [remote|local]', 'Remote or local (default: local)') { |o| optioner.location o }
|
|
7
8
|
opts.on('-r', '--remote', 'Remote listing') { optioner.location "remote" }
|
|
8
9
|
opts.on('-l', '--local', 'Local listing') { optioner.location "local" }
|
|
9
10
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
10
11
|
end
|
|
11
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
12
|
-
|
|
13
|
-
@location = o.location ? o.location : "remote"
|
|
14
|
-
|
|
15
|
-
include Remote
|
|
16
|
-
|
|
17
|
-
@clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
|
|
18
12
|
|
|
19
|
-
|
|
13
|
+
o.loaded_clouds.each do |cloud|
|
|
20
14
|
|
|
21
|
-
with_cloud(cloud
|
|
15
|
+
with_cloud(cloud) do
|
|
22
16
|
puts header("Listing cloud #{name}")
|
|
23
17
|
puts subheader("Active instances")
|
|
24
18
|
puts list_of_running_instances.map{|a| a.to_s}.join("\n")
|
data/bin/cloud-maintain
CHANGED
|
@@ -8,29 +8,23 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
|
8
8
|
opts.on('-l', '--local', 'Local listing') { optioner.location "local" }
|
|
9
9
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
10
10
|
end
|
|
11
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
o.loaded_clouds.each do |cloud|
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@clouds.each do |name, cloud|
|
|
20
|
-
|
|
21
|
-
with_cloud(cloud, {:location => @location, :testing => o.testing}) do
|
|
22
|
-
logger.info header("Maintaining cloud #{name}")
|
|
14
|
+
with_cloud(cloud) do
|
|
15
|
+
vputs header("Maintaining cloud #{name}")
|
|
16
|
+
logger.warn "Maintaining cloud"
|
|
17
|
+
logger.warn rules_values
|
|
23
18
|
if !minimum_number_of_instances_are_running?
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
elsif
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
vputs "#{list_of_running_instances.size} running instances of between #{minimum_instances} and #{maximum_instances}"
|
|
20
|
+
vputs "Launching new instance"
|
|
21
|
+
launch_minimum_number_of_instances
|
|
22
|
+
elsif maximum_number_of_instances_are_running?
|
|
23
|
+
vputs "#{list_of_running_instances.size} running instances of between #{minimum_instances} and #{maximum_instances}"
|
|
24
|
+
vputs "Shutting down non-master instance"
|
|
30
25
|
contract_cloud_if_necessary( !testing )
|
|
31
|
-
else
|
|
32
|
-
logger.info "Cloud is maintained"
|
|
33
26
|
end
|
|
27
|
+
vputs "Cloud is maintained"
|
|
34
28
|
end
|
|
35
29
|
|
|
36
30
|
end
|
data/bin/cloud-osxcopy
CHANGED
|
@@ -2,18 +2,12 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
|
-
opts.on('-n name', '--name name', '
|
|
7
|
+
opts.on('-n name', '--name name', 'Copy the master ip for this cloud') { |c| optioner.cloudname c }
|
|
7
8
|
end
|
|
8
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
9
|
-
|
|
10
|
-
@location = o.location ? o.location : "remote"
|
|
11
|
-
|
|
12
|
-
include Remote
|
|
13
|
-
|
|
14
|
-
@clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
|
|
15
9
|
|
|
16
|
-
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
17
11
|
|
|
18
12
|
with_cloud(cloud, {:location => @location}) do
|
|
19
13
|
Kernel.system "echo #{master.ip.chomp} | pbcopy"
|
data/bin/cloud-provision
CHANGED
|
@@ -2,34 +2,33 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
|
-
opts.on('-
|
|
7
|
-
opts.on('-
|
|
7
|
+
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
|
8
|
+
opts.on('-p', '--slave', 'Provision slave (default: false)') { optioner.provision_slave true }
|
|
9
|
+
opts.on('-i num', '--id num', 'Instance num to provision') { |i| optioner.instance_number i }
|
|
8
10
|
end
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@provision_class = o.provision_class || "all"
|
|
13
|
-
|
|
14
|
-
include Remote
|
|
12
|
+
o.loaded_clouds.each do |cloud|
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
with_cloud(cloud) do
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_class => @provision_class}) do
|
|
16
|
+
instance_num = instance_number.to_i if instance_number
|
|
21
17
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
Provisioner.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
if instance_num
|
|
19
|
+
@instance = get_instance_by_number( instance_num )
|
|
20
|
+
instance_num == 0 ? Provisioner.provision_master(self, testing) : Provisioner.provision_slave(@instance, self, testing)
|
|
21
|
+
Provisioner.process_clean_reconfigure_for!(@instance, self, testing)
|
|
22
|
+
else
|
|
23
|
+
if provision_slave
|
|
24
|
+
vputs "Provisioning slaves"
|
|
25
|
+
Provisioner.provision_slaves(self, testing)
|
|
26
|
+
else
|
|
27
|
+
vputs "Provisioning master"
|
|
28
|
+
(verbose || testing) ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
|
|
29
|
+
end
|
|
29
30
|
end
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
end
|
|
32
33
|
|
|
33
|
-
clear_base_directory unless testing
|
|
34
|
-
end
|
|
35
34
|
end
|
data/bin/cloud-refresh
CHANGED
|
@@ -6,21 +6,12 @@ require "poolpartycl"
|
|
|
6
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
7
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
8
8
|
end
|
|
9
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
include Remote
|
|
14
|
-
|
|
15
|
-
@clouds = o.cloudname ? {:cloud => cloud(o.cloudname.downcase.to_sym)} : clouds
|
|
16
|
-
|
|
17
|
-
@clouds.each do |name, cloud|
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
18
11
|
|
|
19
|
-
with_cloud(cloud
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
EOE
|
|
23
|
-
run_command_on(cmd.runnable, master)
|
|
12
|
+
with_cloud(cloud) do
|
|
13
|
+
vputs "Calling reconfigure_cloud!('force_reconfig') on #{master.ip}"
|
|
14
|
+
reconfigure_cloud!("force_reconfig")
|
|
24
15
|
end
|
|
25
16
|
|
|
26
17
|
end
|
data/bin/cloud-run
CHANGED
|
@@ -11,9 +11,8 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
|
11
11
|
opts.on('-c command', '--command command', 'Command to run on the instance') { |c| optioner.command c }
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
15
|
-
|
|
16
14
|
@cmd = o.command if (o.command)
|
|
17
|
-
@cloud = o.cloudname ? cloud(o.cloudname.downcase.to_sym) : cloud(clouds.keys.first)
|
|
18
15
|
|
|
19
|
-
|
|
16
|
+
o.loaded_clouds.each do |cl|
|
|
17
|
+
@cloud.run_command_on_instance_number( @cmd, o.num.to_i || 0 ) if @cloud
|
|
18
|
+
end
|
data/bin/cloud-ssh
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
7
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
7
8
|
opts.on('-i num', '--id num', 'Instance num to ssh (default: 0)') { |i| optioner.num i }
|
|
8
9
|
end
|
|
9
10
|
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
10
11
|
|
|
11
|
-
@cloud = o.
|
|
12
|
+
@cloud = o.loaded_clouds.first
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
@cloud.ssh_into_instance_number( o.num.to_i || 0 ) if @cloud
|
data/bin/cloud-start
CHANGED
|
@@ -2,32 +2,29 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
|
-
opts.on('-
|
|
7
|
+
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
|
8
|
+
opts.on('-d', '--daemonize', 'Daemonize starting the cloud') { optioner.daemon true }
|
|
7
9
|
end
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@clouds.each do |name, cloud|
|
|
16
|
-
|
|
17
|
-
with_cloud(cloud, {:testing => @testing}) do
|
|
18
|
-
puts header("Starting cloud")
|
|
19
|
-
puts "#{list_of_running_instances.size} running instances (#{minimum_instances} - #{maximum_instances})"
|
|
20
|
-
if (minimum_instances - list_of_running_instances.size) > 0
|
|
11
|
+
o.loaded_clouds.each do |cloud|
|
|
12
|
+
with_cloud(cloud) do
|
|
13
|
+
vputs header("Starting cloud #{name}")
|
|
14
|
+
vputs "#{list_of_running_instances.size} running instances (#{minimum_instances} - #{maximum_instances})"
|
|
15
|
+
# if list_of_running_instances.size <= 1
|
|
21
16
|
puts "Starting the master instance"
|
|
22
|
-
if testing
|
|
23
|
-
|
|
24
|
-
else
|
|
25
|
-
|
|
26
|
-
launch_and_configure_master!
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
# if testing
|
|
18
|
+
# puts("\tNot launching while in testing mode")
|
|
19
|
+
# else
|
|
20
|
+
vputs "Launching and configuring the master"
|
|
21
|
+
daemon ? daemonize {launch_and_configure_master!} : launch_and_configure_master!
|
|
22
|
+
# end
|
|
23
|
+
# end
|
|
24
|
+
when_no_pending_instances do
|
|
25
|
+
puts open(::File.join(File.dirname(__FILE__), "..", "lib", "poolparty", "config", "postlaunchmessage.txt")).read ^ {:master_ip => master.ip.chomp}
|
|
26
|
+
clear_base_directory unless testing
|
|
29
27
|
end
|
|
30
|
-
clear_base_directory unless testing
|
|
31
28
|
end
|
|
32
29
|
|
|
33
30
|
end
|
data/bin/cloud-stats
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
|
+
require "poolparty"
|
|
4
|
+
require "poolpartycl"
|
|
5
|
+
|
|
6
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
|
+
opts.on('-n name', '--name name', 'Stats for cloud name') { |c| optioner.cloudname c }
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
11
|
+
|
|
12
|
+
with_cloud(cloud) do
|
|
13
|
+
puts header("#{name.to_s.capitalize} cloud stats")
|
|
14
|
+
run_command_on(". /etc/profile && server-show-stats", master)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
data/bin/cloud-terminate
CHANGED
|
@@ -2,17 +2,14 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
|
-
opts.on('-
|
|
7
|
-
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
|
7
|
+
opts.on('-n name', '--name name', 'Terminate the cloud of this name') { |c| optioner.cloudname c }
|
|
8
8
|
end
|
|
9
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
10
|
-
|
|
11
|
-
@clouds = o.cloudname ? {:cloud => cloud(o.cloudname.downcase.to_sym)} : clouds
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
14
11
|
|
|
15
|
-
with_cloud(cloud
|
|
12
|
+
with_cloud(cloud) do
|
|
16
13
|
|
|
17
14
|
list_of_running_instances.each do |inst|
|
|
18
15
|
puts "Shutting down #{inst.instance_id}"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
|
+
require "poolparty"
|
|
4
|
+
require "poolpartycl"
|
|
5
|
+
|
|
6
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
|
+
opts.on('-n name', '--name name', 'Stats for cloud name') { |c| optioner.cloudname c }
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
o.loaded_clouds.each do |cloud|
|
|
11
|
+
# @nodes = cloud.messenger_send!("get_current_nodes")
|
|
12
|
+
# @nodes = @nodes.split(" ").map {|a| a.split(/@/)[-1] }
|
|
13
|
+
puts cloud.get_current_nodes.join(" ")
|
|
14
|
+
end
|
data/bin/pool
CHANGED
|
@@ -3,19 +3,19 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
6
|
+
name = ARGV.select {|arg| arg if Binary.available_binaries_for("pool").include?(arg) }.first
|
|
7
|
+
# If the options include -h and they don't include a valid command, then we can just pass the
|
|
8
|
+
# original options back, but if they do contain a binary, we don't want -h getting through to
|
|
9
|
+
# these options, so we'll strip it if it's included
|
|
10
|
+
DUP_ARG = ARGV.dup
|
|
11
|
+
new_args = DUP_ARG.map {|arg| DUP_ARG.delete(arg) unless help_array.include?(arg) || Binary.available_binaries_for("pool").include?(arg) }
|
|
12
|
+
new_args = new_args.reject {|arg| Binary.available_binaries_for("pool").include?(arg) }.empty? ? ARGV : (name ? (help_array.each {|arg| DUP_ARG.delete(arg)}; DUP_ARG) : DUP_ARG)
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
# Let's make sure if no command is passed in that we show the help message
|
|
15
|
+
new_args.push("-h") unless name
|
|
12
16
|
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
puts "Usage: pool <specfile> <action> <options>"
|
|
16
|
-
puts "Pool actions:"
|
|
17
|
-
puts Binary.list_binaries_for("pool")
|
|
18
|
-
exit
|
|
17
|
+
o = PoolParty::Optioner.new(new_args, {:extra_help => "\nPool actions\n#{Binary.list_binaries_for("pool")}\n\n", :abstract => true}) do |opts, optioner|
|
|
18
|
+
opts.on('-n poolname', '--name name', 'Address this pool') { |c| optioner.poolname c }
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
program_name = "#{File.basename($0)}-#{name}"
|
|
@@ -27,5 +27,5 @@ command_line = "#{program_location}"
|
|
|
27
27
|
if Binary.available_binaries_for("pool").include?(name)
|
|
28
28
|
system command_line, *ARGV
|
|
29
29
|
else
|
|
30
|
-
puts "Unknown poolparty binary: #{
|
|
30
|
+
puts "Unknown poolparty binary: #{name}"
|
|
31
31
|
end
|
data/bin/pool-describe
CHANGED
|
@@ -14,4 +14,5 @@ source = RubiGen::PathSource.new(:application,
|
|
|
14
14
|
File.join(File.dirname(__FILE__), "../generators"))
|
|
15
15
|
RubiGen::Base.reset_sources
|
|
16
16
|
RubiGen::Base.append_sources source
|
|
17
|
+
ARGV.reject! {|a| a == "generate" }
|
|
17
18
|
RubiGen::Scripts::Generate.new.run(ARGV, :generator => 'poolspec')
|
data/bin/pool-init
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'rubygems'
|
|
4
|
+
require 'rubigen'
|
|
5
|
+
|
|
6
|
+
# First, let's generate the spec
|
|
7
|
+
if %w(-V --version).include? ARGV.first
|
|
8
|
+
require 'poolspec/version'
|
|
9
|
+
puts "#{File.basename($0)} #{Poolspec::VERSION::STRING}"
|
|
10
|
+
exit(0)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
name = ARGV.first
|
|
14
|
+
|
|
15
|
+
puts "Creating pool named #{name}"
|
|
16
|
+
`pool generate #{name}`
|
|
17
|
+
|
|
18
|
+
# Now add the keypairs for the pool based on the default pool name and cloud name
|
|
19
|
+
|
|
20
|
+
@pool = load_pool(self.spec || Binary.get_existing_spec_location)
|
|
21
|
+
@clouds = [@pool.cloud("#{name}_app")]
|
|
22
|
+
|
|
23
|
+
@clouds.each do |cloud|
|
|
24
|
+
with_cloud(cloud) do
|
|
25
|
+
vputs header("Creating keypair for #{name}")
|
|
26
|
+
create_keypair unless testing
|
|
27
|
+
end
|
|
28
|
+
end
|
data/bin/pool-list
CHANGED
|
@@ -2,27 +2,29 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
7
|
opts.on('-f [remote|local]', '--from [remote|local]', 'Remote or local (default: local)') { |o| optioner.location o }
|
|
7
8
|
opts.on('-r', '--remote', 'Remote listing') { optioner.location "remote" }
|
|
8
9
|
opts.on('-l', '--local', 'Local listing') { optioner.location "local" }
|
|
9
10
|
opts.on('-n name', '--name name', 'Listing for pool name') { |p| optioner.poolname p }
|
|
10
11
|
end
|
|
11
|
-
load_pool(o.spec || Binary.get_existing_spec_location)
|
|
12
|
-
|
|
13
|
-
@location = o.location ? o.location : "remote"
|
|
14
|
-
|
|
15
|
-
include Remote
|
|
16
|
-
|
|
17
|
-
@pools = o.poolname ? [pool(o.poolname.downcase.to_sym)] : pools
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
with_pool(pool
|
|
13
|
+
o.loaded_pools.each do |pool|
|
|
14
|
+
with_pool(pool) do
|
|
21
15
|
puts header("Listing pool #{name}")
|
|
22
16
|
clouds.each do |name, cloud|
|
|
23
|
-
puts subheader("Cloud: #{name}")
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
puts subheader("Cloud: #{name} (#{cloud.keypair})")
|
|
18
|
+
with_cloud(cloud) do
|
|
19
|
+
puts header("Listing cloud #{name}")
|
|
20
|
+
puts subheader("Active instances")
|
|
21
|
+
puts list_of_running_instances.map{|a| a.to_s}.join("\n")
|
|
22
|
+
puts ""
|
|
23
|
+
if list_of_pending_instances.size > 0
|
|
24
|
+
puts subheader("Pending instances")
|
|
25
|
+
puts list_of_pending_instances.map{|a| a.to_s}.join("\n")
|
|
26
|
+
end
|
|
27
|
+
end
|
|
26
28
|
end
|
|
27
29
|
end
|
|
28
30
|
end
|
data/bin/pool-start
CHANGED
|
@@ -2,29 +2,23 @@
|
|
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
|
+
|
|
5
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
6
7
|
opts.on('-p poolname', '--pool name', 'Start pool by this name') { |p| optioner.poolname p }
|
|
7
8
|
end
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@testing = o.testing
|
|
12
|
-
|
|
13
|
-
include Remote
|
|
14
|
-
|
|
15
|
-
@pools = o.poolname ? [pool(o.poolname.downcase.to_sym)] : pools
|
|
16
|
-
|
|
17
|
-
@pools.each do |name, pl|
|
|
10
|
+
o.loaded_pools.each do |pl|
|
|
18
11
|
|
|
19
|
-
with_pool(pl
|
|
12
|
+
with_pool(pl) do
|
|
13
|
+
puts subheader("Pool: #{pl.name}")
|
|
20
14
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
puts "
|
|
27
|
-
|
|
15
|
+
pool_clouds.each do |cl|
|
|
16
|
+
vputs subheader("Cloud: #{cl.name}")
|
|
17
|
+
|
|
18
|
+
cl.launch_and_configure_master!
|
|
19
|
+
when_no_pending_instances do
|
|
20
|
+
puts open(::File.join(File.dirname(__FILE__), "..", "lib", "poolparty", "config", "postlaunchmessage.txt")).read ^ {:master_ip => cl.master.ip.chomp}
|
|
21
|
+
clear_base_directory unless testing
|
|
28
22
|
end
|
|
29
23
|
end
|
|
30
24
|
end
|
data/bin/server-build-messenger
CHANGED
|
@@ -3,18 +3,25 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
|
3
3
|
require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
|
5
5
|
|
|
6
|
-
root_dir = ::File.expand_path( ::File.join(::File.dirname(__FILE__), "..", "lib/erlang/messenger") )
|
|
6
|
+
root_dir = ::File.expand_path( ::File.join(::File.dirname(__FILE__), "..", "lib/erlang/messenger/ebin") )
|
|
7
|
+
|
|
8
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
9
|
+
end
|
|
7
10
|
|
|
8
11
|
INCLUDE = "include"
|
|
9
|
-
ERLC_FLAGS = "-I#{INCLUDE}
|
|
12
|
+
ERLC_FLAGS = "-I#{INCLUDE}"
|
|
10
13
|
@version = "0.1"
|
|
11
14
|
|
|
15
|
+
# erl -pa ./ebin/ -run pm_packager recompile_scripts #{@version} -run init stop -noshell
|
|
16
|
+
# erlc -pa ./ebin -o ebin ./src/*.erl
|
|
17
|
+
# erl -pa ./ebin -s pm_packager start -s init stop
|
|
12
18
|
cmd =<<-EOE
|
|
13
19
|
cd #{root_dir}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
erl -pa ./ebin/ -run pm_packager recompile_scripts #{@version} -run init stop -noshell
|
|
17
|
-
erl -pa ./ebin -s pm_packager start -s init stop
|
|
20
|
+
rake recompile
|
|
21
|
+
rake build_boot_scripts
|
|
18
22
|
EOE
|
|
19
23
|
|
|
24
|
+
vputs "** Building messenger **", o
|
|
25
|
+
vputs "Running command #{cmd.runnable}", o
|
|
26
|
+
|
|
20
27
|
out = %x[#{cmd.runnable}]
|