auser-poolparty 1.0.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/License.txt +1 -1
- data/PostInstall.txt +1 -1
- data/README.txt +1 -1
- data/Rakefile +13 -37
- data/VERSION.yml +4 -0
- data/bin/cloud +3 -2
- data/bin/cloud-bootstrap +21 -0
- data/bin/cloud-configure +21 -10
- data/bin/{pool-console → cloud-console} +0 -0
- data/bin/cloud-list +9 -12
- data/bin/cloud-osxcopy +5 -4
- data/bin/cloud-provision +17 -21
- data/bin/cloud-setup-dev +11 -11
- data/bin/cloud-spec +2 -1
- data/bin/cloud-ssh +12 -3
- data/bin/cloud-start +19 -23
- data/bin/cloud-terminate +1 -1
- data/bin/ec2-list-active +24 -0
- data/bin/server-become-master +1 -1
- data/bin/server-butterfly +25 -0
- data/bin/server-clean-cert-for +1 -1
- data/bin/server-cloud-elections +26 -0
- data/bin/server-ensure-provisioning +1 -2
- data/bin/server-get-load +9 -12
- data/bin/server-list-active +21 -13
- data/bin/server-list-instances +15 -0
- data/bin/server-manage-election +67 -0
- data/bin/server-monitor.ru +25 -0
- data/bin/server-query-agent +1 -1
- data/bin/server-rerun +1 -1
- data/bin/server-update-hosts +1 -1
- data/bin/server-write-new-nodes +1 -1
- data/config/jeweler.rb +43 -0
- data/config/requirements.rb +1 -9
- data/examples/basic.rb +9 -6
- data/examples/fairchild.rb +32 -0
- data/examples/fairchild_chef.rb +19 -0
- data/examples/paparazzi.conf.erb +21 -0
- data/generators/poolspec/poolspec_generator.rb +1 -9
- data/lib/erlang/messenger/Rakefile +1 -1
- data/lib/erlang/messenger/src/pm_node.erl +1 -1
- data/lib/erlang/messenger/src/utils.erl +0 -1
- data/lib/poolparty/aska/aska.rb +18 -16
- data/lib/poolparty/base_packages/bind.rb +11 -0
- data/lib/poolparty/base_packages/haproxy.rb +36 -34
- data/lib/poolparty/base_packages/heartbeat.rb +47 -61
- data/lib/poolparty/base_packages/poolparty.rb +5 -83
- data/lib/poolparty/base_packages/ruby.rb +4 -4
- data/lib/poolparty/base_packages/runit.rb +1 -1
- data/lib/poolparty/capistrano.rb +2 -1
- data/lib/poolparty/core/array.rb +9 -3
- data/lib/poolparty/core/hash.rb +36 -11
- data/lib/poolparty/core/kernel.rb +12 -8
- data/lib/poolparty/core/object.rb +20 -21
- data/lib/poolparty/core/ordered_hash.rb +99 -0
- data/lib/poolparty/core/string.rb +58 -15
- data/lib/poolparty/dependencies.rb +49 -0
- data/lib/poolparty/dependency_resolver/chef_resolver.rb +209 -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_resolutions → dependency_resolver}/puppet.rb +29 -28
- data/lib/poolparty/dependency_resolver/puppet_resolver.rb +173 -0
- data/lib/poolparty/exceptions/RemoteException.rb +1 -1
- 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 +7 -7
- data/lib/poolparty/helpers/binary.rb +9 -9
- data/lib/poolparty/helpers/display.rb +1 -5
- data/lib/poolparty/helpers/hash_printer.rb +44 -0
- data/lib/poolparty/helpers/optioner.rb +27 -20
- data/lib/poolparty/lite.rb +20 -0
- data/lib/poolparty/modules/cloud_dsl.rb +6 -0
- data/lib/poolparty/modules/cloud_resourcer.rb +48 -111
- data/lib/poolparty/modules/daemonizable.rb +141 -140
- data/lib/poolparty/modules/definable_resource.rb +7 -10
- data/lib/poolparty/modules/file_writer.rb +19 -15
- data/lib/poolparty/modules/pretty_printer.rb +1 -1
- data/lib/poolparty/modules/resourcing_dsl.rb +46 -41
- data/lib/poolparty/monitors/base_monitor.rb +2 -10
- data/lib/poolparty/monitors/monitor_rack.rb +125 -0
- data/lib/poolparty/monitors/monitors/load_monitor.rb +15 -0
- data/lib/poolparty/monitors/monitors/memory_monitor.rb +50 -50
- data/lib/poolparty/monitors/monitors/server_monitor.rb +7 -0
- data/lib/poolparty/monitors/monitors/web_monitor.rb +18 -18
- data/lib/poolparty/monitors/neighborhood_monitor.rb +25 -0
- data/lib/poolparty/monitors/stats_monitor.rb +183 -0
- data/lib/poolparty/monitors.rb +6 -0
- data/lib/poolparty/net/init.rb +11 -0
- data/lib/poolparty/net/messenger.rb +1 -18
- data/lib/poolparty/net/remote_bases.rb +21 -0
- data/lib/poolparty/net/remote_instance.rb +36 -27
- 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 +46 -124
- data/lib/poolparty/net/{remote_bases → remoter_bases/ec2}/ec2.rb +78 -52
- data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +53 -0
- data/lib/poolparty/net/{remote_bases → remoter_bases}/ec2/ec2_response_object.rb +2 -4
- data/lib/poolparty/plugins/chef.rb +168 -0
- data/lib/poolparty/plugins/deploydirectory.rb +22 -46
- data/lib/poolparty/plugins/git.rb +27 -18
- data/lib/poolparty/plugins/line_in_file.rb +13 -0
- data/lib/poolparty/plugins/rsyncmirror.rb +2 -3
- data/lib/poolparty/poolparty/cloud.rb +172 -110
- data/lib/poolparty/poolparty/custom_resource.rb +2 -2
- data/lib/poolparty/poolparty/{base.rb → default.rb} +56 -20
- data/lib/poolparty/poolparty/key.rb +75 -0
- data/lib/poolparty/poolparty/loggable.rb +28 -27
- data/lib/poolparty/poolparty/neighborhoods.rb +69 -0
- data/lib/poolparty/poolparty/plugin.rb +52 -19
- data/lib/poolparty/poolparty/plugin_model.rb +18 -21
- data/lib/poolparty/poolparty/pool.rb +23 -24
- data/lib/poolparty/poolparty/poolparty_base_class.rb +181 -0
- data/lib/poolparty/poolparty/resource.rb +74 -176
- data/lib/poolparty/poolparty/script.rb +32 -20
- data/lib/poolparty/poolparty/service.rb +34 -0
- data/lib/poolparty/poolparty/template.rb +18 -0
- data/lib/poolparty/provision/boot_strapper.rb +140 -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/provisioners/capistrano/capistrano.rb +21 -19
- data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +19 -13
- data/lib/poolparty/provisioners/capistrano/recipes/aws.rb +21 -0
- data/lib/poolparty/provisioners/capistrano/{recipies → recipes}/base.rb +76 -56
- data/lib/poolparty/provisioners/capistrano/recipes/master.rb +66 -0
- data/lib/poolparty/provisioners/capistrano/recipes/puppet.rb +101 -0
- data/lib/poolparty/provisioners/capistrano/{recipies → recipes}/slave.rb +5 -9
- data/lib/poolparty/provisioners/provisioner_base.rb +50 -43
- data/lib/poolparty/{poolparty/resources → resources}/cron.rb +0 -0
- data/lib/poolparty/{poolparty/resources → resources}/custom_service.rb +1 -1
- 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/{poolparty/resources → resources}/host.rb +4 -2
- data/lib/poolparty/{poolparty/resources → resources}/mount.rb +5 -6
- data/lib/poolparty/resources/package.rb +12 -0
- data/lib/poolparty/resources/remote_file.rb +20 -0
- data/lib/poolparty/{poolparty/resources → resources}/service.rb +1 -2
- data/lib/poolparty/resources/sshkey.rb +27 -0
- data/lib/poolparty/resources/symlink.rb +21 -0
- data/lib/poolparty/{poolparty/resources/remote_user.rb → resources/user.rb} +1 -5
- 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/{poolparty/resources → services}/gem_package.rb +12 -10
- data/lib/poolparty/spec.rb +2 -5
- data/lib/poolparty/templates/erlang_cookie_maker +6 -0
- data/lib/poolparty/templates/gemrc +11 -0
- data/lib/poolparty/templates/ha.cf +1 -1
- data/lib/poolparty/templates/haproxy.conf +7 -7
- data/lib/poolparty/templates/haresources +2 -2
- data/lib/poolparty/templates/monitor.ru +16 -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 +11 -5
- data/lib/poolparty.rb +67 -14
- data/script/destroy +1 -1
- data/script/generate +1 -1
- 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 +5 -5
- data/spec/poolparty/base_packages/haproxy_spec.rb +2 -8
- data/spec/poolparty/base_packages/heartbeat_spec.rb +3 -26
- data/spec/poolparty/bin/console_spec.rb +5 -28
- data/spec/poolparty/core/array_spec.rb +18 -3
- data/spec/poolparty/core/hash_spec.rb +24 -30
- data/spec/poolparty/core/object_spec.rb +2 -3
- data/spec/poolparty/core/ordered_hash_spec.rb +48 -0
- data/spec/poolparty/core/string_spec.rb +1 -27
- 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 +9 -5
- data/spec/poolparty/fixtures/clouds.json +128 -0
- data/spec/poolparty/fixtures/test_template.erb +1 -0
- data/spec/poolparty/helpers/binary_spec.rb +1 -14
- data/spec/poolparty/helpers/hash_printer_spec.rb +34 -0
- data/spec/poolparty/helpers/optioner_spec.rb +1 -1
- data/spec/poolparty/id_rsa +27 -0
- data/spec/poolparty/modules/cloud_resourcer_spec.rb +26 -111
- data/spec/poolparty/modules/definable_resource.rb +1 -1
- data/spec/poolparty/modules/file_writer_spec.rb +5 -5
- data/spec/poolparty/monitors/base_monitor_spec.rb +112 -111
- data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +18 -16
- data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +48 -47
- data/spec/poolparty/net/remote_instance_spec.rb +9 -73
- data/spec/poolparty/net/remote_spec.rb +78 -101
- data/spec/poolparty/net/remoter_base_spec.rb +3 -59
- 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/{remote_bases → remoter_bases}/ec2_spec.rb +32 -49
- data/spec/poolparty/net/remoter_spec.rb +51 -44
- data/spec/poolparty/plugins/chef_spec.rb +7 -0
- data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -52
- data/spec/poolparty/plugins/git_spec.rb +14 -19
- data/spec/poolparty/plugins/line_spec.rb +14 -8
- data/spec/poolparty/poolparty/cloud_spec.rb +87 -128
- data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +3 -4
- data/spec/poolparty/poolparty/configurers/ruby_spec.rb +7 -23
- data/spec/poolparty/poolparty/custom_resource_spec.rb +2 -43
- data/spec/poolparty/poolparty/{base_spec.rb → default_spec.rb} +44 -41
- data/spec/poolparty/poolparty/example_spec.rb +43 -11
- 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 +14 -24
- data/spec/poolparty/poolparty/plugin_spec.rb +25 -96
- data/spec/poolparty/poolparty/pool_spec.rb +3 -1
- data/spec/poolparty/poolparty/resource_spec.rb +69 -268
- data/spec/poolparty/poolparty/script_spec.rb +30 -53
- data/spec/poolparty/poolparty/service_spec.rb +5 -0
- data/spec/poolparty/poolparty/template_spec.rb +26 -0
- data/spec/poolparty/poolparty/test_plugins/webserver.rb +8 -25
- data/spec/poolparty/poolparty_base_class_spec.rb +80 -0
- data/spec/poolparty/poolparty_spec.rb +4 -4
- data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +31 -23
- data/spec/poolparty/provisioners/provisioner_base_spec.rb +128 -122
- 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 +62 -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_helper.rb +104 -23
- data/spec/poolparty/test_spec_helper.rb +13 -0
- data/tasks/development.rake +76 -69
- data/tasks/poolparty.rake +54 -0
- data/tasks/server.rake +41 -39
- data/test/poolparty/core/hash_test.rb +23 -0
- data/test/test_helper.rb +3 -2
- 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/{config → vendor/gems/dslify/config}/hoe.rb +12 -55
- 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/{script → vendor/gems/dslify/script}/txt2html +4 -4
- data/{setup.rb → vendor/gems/dslify/setup.rb} +3 -3
- data/{tasks → vendor/gems/dslify/tasks}/deployment.rake +4 -18
- data/vendor/gems/dslify/tasks/environment.rake +7 -0
- data/{tasks → vendor/gems/dslify/tasks}/website.rake +0 -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/{website → vendor/gems/dslify/website}/javascripts/rounded_corners_lite.inc.js +0 -0
- data/{website → vendor/gems/dslify/website}/stylesheets/screen.css +18 -27
- data/{website → vendor/gems/dslify/website}/template.html.erb +1 -2
- 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 +428 -184
- data/Capfile +0 -1
- data/Manifest.txt +0 -404
- data/bin/cloud-add-access +0 -29
- data/bin/cloud-add-keypair +0 -28
- data/bin/cloud-maintain +0 -30
- data/bin/cloud-refresh +0 -17
- data/bin/server-list-responding +0 -24
- data/lib/poolparty/dependency_resolutions/base.rb +0 -12
- data/lib/poolparty/modules/configurable.rb +0 -36
- data/lib/poolparty/modules/method_missing_sugar.rb +0 -58
- data/lib/poolparty/monitors/monitors/cpu_monitor.rb +0 -15
- data/lib/poolparty/net/remote.rb +0 -38
- data/lib/poolparty/net/remoter.rb +0 -313
- data/lib/poolparty/plugins/line.rb +0 -77
- data/lib/poolparty/poolparty/resources/class_package.rb +0 -112
- data/lib/poolparty/poolparty/resources/conditional.rb +0 -67
- data/lib/poolparty/poolparty/resources/directory.rb +0 -26
- data/lib/poolparty/poolparty/resources/exec.rb +0 -28
- data/lib/poolparty/poolparty/resources/file.rb +0 -23
- data/lib/poolparty/poolparty/resources/package.rb +0 -24
- data/lib/poolparty/poolparty/resources/remote_file.rb +0 -26
- data/lib/poolparty/poolparty/resources/sshkey.rb +0 -23
- data/lib/poolparty/poolparty/resources/symlink.rb +0 -31
- data/lib/poolparty/poolparty/resources/variable.rb +0 -32
- data/lib/poolparty/provisioners/capistrano/recipies/master.rb +0 -112
- data/lib/poolparty/server/agent.rb +0 -59
- data/lib/poolparty/templates/puppet.conf +0 -28
- data/lib/poolparty/templates/puppetcleaner +0 -12
- data/lib/poolparty/templates/puppetrerun +0 -22
- data/poolparty.gemspec +0 -64
- data/spec/poolparty/dependency_resolutions/base_spec.rb +0 -11
- data/spec/poolparty/modules/configurable_spec.rb +0 -29
- data/spec/poolparty/poolparty/resources/class_package_spec.rb +0 -120
- data/spec/poolparty/poolparty/resources/conditional_spec.rb +0 -77
- data/spec/poolparty/poolparty/resources/cron_spec.rb +0 -50
- data/spec/poolparty/poolparty/resources/directory_spec.rb +0 -40
- data/spec/poolparty/poolparty/resources/exec_spec.rb +0 -37
- data/spec/poolparty/poolparty/resources/file_spec.rb +0 -40
- data/spec/poolparty/poolparty/resources/gem_spec.rb +0 -46
- data/spec/poolparty/poolparty/resources/host_spec.rb +0 -28
- data/spec/poolparty/poolparty/resources/package_spec.rb +0 -44
- data/spec/poolparty/poolparty/resources/remote_file_spec.rb +0 -40
- data/spec/poolparty/poolparty/resources/service_spec.rb +0 -45
- data/spec/poolparty/poolparty/resources/sshkey_spec.rb +0 -48
- data/spec/poolparty/poolparty/resources/symlink_spec.rb +0 -22
- data/spec/poolparty/poolparty/resources/user_spec.rb +0 -39
- data/spec/poolparty/poolparty/resources/variable_spec.rb +0 -24
- data/website/index.html +0 -107
- data/website/index.txt +0 -95
- data/website/stylesheets/code.css +0 -29
data/License.txt
CHANGED
data/PostInstall.txt
CHANGED
data/README.txt
CHANGED
data/Rakefile
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
require 'config/requirements'
|
2
|
-
require 'config/
|
2
|
+
require 'config/jeweler' # setup gem configuration
|
3
3
|
|
4
4
|
Dir['tasks/**/*.rake'].each { |rake| load rake }
|
5
5
|
|
6
6
|
desc "Clean tmp directory"
|
7
7
|
task :clean_tmp do |t|
|
8
|
-
|
8
|
+
FileUtils.rm_rf("#{File.dirname(__FILE__)}/Manifest.txt") if ::File.exists?("#{File.dirname(__FILE__)}/Manifest.txt")
|
9
|
+
FileUtils.touch("#{File.dirname(__FILE__)}/Manifest.txt")
|
9
10
|
%w(logs tmp).each do |dir|
|
10
11
|
FileUtils.rm_rf("#{File.dirname(__FILE__)}/#{dir}") if ::File.exists?("#{File.dirname(__FILE__)}/#{dir}")
|
11
12
|
end
|
12
13
|
end
|
14
|
+
|
13
15
|
desc "Remove the pkg directory"
|
14
16
|
task :clean_pkg do |t|
|
15
17
|
%w(pkg).each do |dir|
|
@@ -17,9 +19,6 @@ task :clean_pkg do |t|
|
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
20
|
-
desc "Generate a new manifest and a new gem"
|
21
|
-
task :build_local_gem => [:clean_tmp, :spec, :clean_pkg, :"manifest:refresh", :package]
|
22
|
-
|
23
22
|
desc "Packge with timestamp"
|
24
23
|
task :update_timestamp do
|
25
24
|
data = open("PostInstall.txt").read
|
@@ -33,37 +32,14 @@ task :update_timestamp do
|
|
33
32
|
::File.open("PostInstall.txt", "w+") {|f| f << data }
|
34
33
|
end
|
35
34
|
|
36
|
-
|
37
|
-
task
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
desc "Generate gemspec"
|
47
|
-
task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :build_local_gem] do |t|
|
48
|
-
res = %x[rake debug_gem]
|
49
|
-
res = res.split("\n")[1..-1].join("\n")
|
50
|
-
::File.open("#{GEM_NAME.downcase}.gemspec", "w+") do |f|
|
51
|
-
f << res
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
desc "Generate gemspec for github"
|
56
|
-
task :gh => [:github_release] do
|
57
|
-
filepath = ::File.join(::File.dirname(__FILE__), "poolparty.gemspec")
|
58
|
-
data = open(filepath).read
|
59
|
-
spec = eval("$SAFE = 3\n#{data}")
|
60
|
-
yml = YAML.dump spec
|
61
|
-
File.open(filepath, "w+") do |f|
|
62
|
-
f << yml
|
63
|
-
end
|
35
|
+
namespace :gem do
|
36
|
+
task(:build).prerequisites.unshift :gemspec # Prepend the gemspec generation
|
37
|
+
|
38
|
+
desc "Build the gem only if the specs pass"
|
39
|
+
task :test_then_build => [:spec, :build]
|
40
|
+
|
41
|
+
desc "Build and install the gem only if the specs pass"
|
42
|
+
task :test_then_install => [:spec, :install]
|
64
43
|
end
|
65
44
|
|
66
|
-
|
67
|
-
task :ghgem => [:gh] do
|
68
|
-
%x[sudo gem install pkg/poolparty.gem]
|
69
|
-
end
|
45
|
+
task :release => [:update_timestamp]
|
data/VERSION.yml
ADDED
data/bin/cloud
CHANGED
@@ -3,7 +3,8 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
|
3
3
|
require "poolparty"
|
4
4
|
require "poolpartycl"
|
5
5
|
|
6
|
-
name = ARGV.select {|arg| arg if Binary.available_binaries_for("cloud").include?(arg) }.first
|
6
|
+
# name = ARGV.select {|arg| arg if Binary.available_binaries_for("cloud").include?(arg) }.first
|
7
|
+
name = ARGV.shift if Binary.available_binaries_for("cloud").include?(ARGV.first)
|
7
8
|
# If the options include -h and they don't include a valid command, then we can just pass the
|
8
9
|
# original options back, but if they do contain a binary, we don't want -h getting through to
|
9
10
|
# these options, so we'll strip it if it's included
|
@@ -25,7 +26,7 @@ command_line = "#{program_location}"
|
|
25
26
|
|
26
27
|
# Run it from the command-line first
|
27
28
|
if Binary.available_binaries_for("cloud").include?(name)
|
28
|
-
system command_line, *
|
29
|
+
system command_line, *new_args
|
29
30
|
else
|
30
31
|
puts "Unknown poolparty binary: #{name}"
|
31
32
|
end
|
data/bin/cloud-bootstrap
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
|
+
require "poolparty"
|
4
|
+
require "poolparty/provision/boot_strapper"
|
5
|
+
|
6
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
|
+
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
8
|
+
end
|
9
|
+
|
10
|
+
o.loaded_clouds.each do |cld|
|
11
|
+
# If an IP or DNS name is given, bootstrap that node, otherwise, bootstrap all running nodes.
|
12
|
+
nodes = !o.unflagged_args.empty? ? o.unflagged_args : cld.running_instance_ips
|
13
|
+
if nodes.empty?
|
14
|
+
puts "No nodes to bootstrap"
|
15
|
+
else
|
16
|
+
nodes.each do |address|
|
17
|
+
puts "\nBootStrapping: #{address}\n--------------------"
|
18
|
+
::PoolParty::Provision::BootStrapper.new address, {:full_keypair_path => cld.keypair.full_filepath, :cloud => cld}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/bin/cloud-configure
CHANGED
@@ -1,17 +1,28 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
3
|
require "poolparty"
|
4
|
-
require "poolpartycl"
|
4
|
+
# require "poolpartycl"
|
5
|
+
|
5
6
|
|
6
7
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
|
-
optioner.
|
8
|
-
|
8
|
+
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
9
|
+
opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i }
|
10
|
+
end
|
11
|
+
|
12
|
+
o.loaded_clouds.each do |cld|
|
13
|
+
# If an IP or DNS name is given, bootstrap that node, otherwise, bootstrap all running nodes.
|
14
|
+
nodes = !o.unflagged_args.empty? ? o.unflagged_args : cld.remote_instances_list.collect {|inst| inst.ip if inst.running? }.compact
|
15
|
+
if nodes.empty?
|
16
|
+
puts "No nodes to configure"
|
17
|
+
else
|
18
|
+
if o.inst_num?
|
19
|
+
::PoolParty::Provision::DrConfigure.new( nodes[o.inst_num], :full_keypair_path => cld.keypair.full_filepath, :cloud => cld )
|
20
|
+
else
|
21
|
+
nodes.each do |address|
|
22
|
+
puts "Configuring: #{address}"
|
23
|
+
::PoolParty::Provision::DrConfigure.new( address, :full_keypair_path => cld.keypair.full_filepath, :cloud => cld )
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
9
27
|
end
|
10
28
|
|
11
|
-
o.loaded_clouds.each do |cloud|
|
12
|
-
|
13
|
-
with_cloud(cloud) do
|
14
|
-
verbose ? provisioner_for(master).configure(testing) : hide_output { provisioner_for(master).configure(testing) }
|
15
|
-
cleanup_storage_directory unless testing
|
16
|
-
end
|
17
|
-
end
|
File without changes
|
data/bin/cloud-list
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
3
|
require "poolparty"
|
4
|
-
require "poolpartycl"
|
5
4
|
|
6
5
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
6
|
opts.on('-f [remote|local]', '--from [remote|local]', 'Remote or local (default: local)') { |o| optioner.location o }
|
@@ -10,17 +9,15 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
10
9
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
11
10
|
end
|
12
11
|
|
13
|
-
o.loaded_clouds.each do |
|
12
|
+
o.loaded_clouds.each do |cld|
|
14
13
|
|
15
|
-
|
16
|
-
puts header("Listing cloud #{name}")
|
17
|
-
puts subheader("Active instances")
|
18
|
-
puts list_of_running_instances.map{|a| a.to_s}.join("\n")
|
19
|
-
puts ""
|
20
|
-
if list_of_pending_instances.size > 0
|
21
|
-
puts subheader("Pending instances")
|
22
|
-
puts list_of_pending_instances.map{|a| a.to_s}.join("\n")
|
23
|
-
end
|
24
|
-
end
|
14
|
+
puts header("Listing cloud #{cld.name}")
|
25
15
|
|
16
|
+
puts subheader("Active instances")
|
17
|
+
puts cld.list_of_running_instances.map{|a| a.to_s}.join("\n")
|
18
|
+
|
19
|
+
if cld.list_of_pending_instances.size > 0
|
20
|
+
puts subheader("Pending instances")
|
21
|
+
puts cld.list_of_pending_instances.map{|a| a.to_s}.join("\n")
|
22
|
+
end
|
26
23
|
end
|
data/bin/cloud-osxcopy
CHANGED
@@ -7,10 +7,11 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
7
|
opts.on('-n name', '--name name', 'Copy the master ip for this cloud') { |c| optioner.cloudname c }
|
8
8
|
end
|
9
9
|
|
10
|
-
o.loaded_clouds.each do |
|
10
|
+
o.loaded_clouds.each do |cld|
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
node = cld.list_of_running_instances.first
|
13
|
+
ip = node.ip
|
14
|
+
puts "ip: #{ip}"
|
15
|
+
Kernel.system "echo #{ip} | pbcopy"
|
15
16
|
|
16
17
|
end
|
data/bin/cloud-provision
CHANGED
@@ -1,34 +1,30 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
3
|
require "poolparty"
|
4
|
-
require "
|
4
|
+
require "poolparty/provision/boot_strapper"
|
5
5
|
|
6
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
7
|
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
8
|
-
opts.on('-
|
9
|
-
opts.on('-i num', '--id num', 'Instance num to provision') { |i| optioner.instance_number i }
|
8
|
+
opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i }
|
10
9
|
end
|
11
10
|
|
12
|
-
o.loaded_clouds.each do |
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
if
|
19
|
-
|
20
|
-
|
11
|
+
o.loaded_clouds.each do |cld|
|
12
|
+
# If an IP or DNS name is given, bootstrap that node, otherwise, bootstrap all running nodes.
|
13
|
+
nodes = !o.unflagged_args.empty? ? o.unflagged_args : cld.remote_instances_list.collect {|inst| inst.ip if inst.running? }.compact
|
14
|
+
if nodes.empty?
|
15
|
+
puts "No nodes to bootstrap"
|
16
|
+
else
|
17
|
+
if o.inst_num?
|
18
|
+
::PoolParty::Provision::BootStrapper.new( nodes[o.inst_num], :full_keypair_path => cld.keypair.full_filepath, :cloud => cld )
|
19
|
+
::PoolParty::Provision::DrConfigure.new( nodes[o.inst_num], :full_keypair_path => cld.keypair.full_filepath, :cloud => cld )
|
21
20
|
else
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
verbose ? provisioner_for(master).install(testing) : hide_output { provisioner_for(master).install(testing) }
|
21
|
+
nodes.each do |address|
|
22
|
+
puts "bootstrapping: #{address}"
|
23
|
+
::PoolParty::Provision::BootStrapper.new( address, :full_keypair_path => cld.keypair.full_filepath, :cloud => cld )
|
24
|
+
::PoolParty::Provision::DrConfigure.new( address, :full_keypair_path => cld.keypair.full_filepath,
|
25
|
+
:cloud => cld )
|
28
26
|
end
|
29
27
|
end
|
30
|
-
|
31
|
-
cleanup_storage_directory unless testing
|
32
28
|
end
|
29
|
+
end
|
33
30
|
|
34
|
-
end
|
data/bin/cloud-setup-dev
CHANGED
@@ -7,19 +7,19 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
|
7
7
|
opts.on('-n name', '--name name', 'Setup development environment for cloud named') { |c| optioner.cloudname c }
|
8
8
|
end
|
9
9
|
|
10
|
-
o.loaded_clouds.each do |
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
o.loaded_clouds.each do |cld|
|
11
|
+
|
12
|
+
if cld.remote_instances_list.empty?
|
13
|
+
puts "Your cloud is not running"
|
14
|
+
else
|
15
15
|
str =<<-EOE
|
16
|
-
Host #{name}-master
|
17
|
-
User #{user}
|
18
|
-
Hostname #{
|
19
|
-
IdentityFile #{
|
16
|
+
Host #{cld.name}-master
|
17
|
+
User #{cld.user}
|
18
|
+
Hostname #{cld.remote_instances_list.first.ip}
|
19
|
+
IdentityFile #{cld.keypair}
|
20
20
|
EOE
|
21
|
-
|
21
|
+
|
22
22
|
puts "Enter the following in your .ssh/config file"
|
23
23
|
puts str
|
24
|
-
end
|
24
|
+
end
|
25
25
|
end
|
data/bin/cloud-spec
CHANGED
@@ -29,7 +29,8 @@ o.loaded_clouds.each do |cloud|
|
|
29
29
|
case testtype
|
30
30
|
when "launch"
|
31
31
|
when nil
|
32
|
-
print_with_nice_printer("Starting live specing cloud #{name}")
|
32
|
+
print_with_nice_printer("Starting live specing cloud #{name}")
|
33
|
+
puts "TODO: this isn't implented yet."
|
33
34
|
# hide_output {launch_and_configure_master!}
|
34
35
|
print_with_nice_printer("Waiting for cloud to provision")
|
35
36
|
|
data/bin/cloud-ssh
CHANGED
@@ -4,11 +4,20 @@ require "poolparty"
|
|
4
4
|
require "poolpartycl"
|
5
5
|
|
6
6
|
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
|
+
optioner.options( :num => 0 )
|
7
8
|
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
8
|
-
opts.on('-i num', '--id num', 'Instance num to ssh (default: 0)') { |i| optioner.
|
9
|
+
opts.on('-i num', '--id num', 'Instance num to ssh (default: 0)') { |i| optioner.inst_num i.to_i }
|
9
10
|
end
|
10
|
-
load_pool(o.spec
|
11
|
+
load_pool(o.spec? ? o.spec : Binary.get_existing_spec_location)
|
11
12
|
|
12
13
|
@cloud = o.loaded_clouds.first
|
14
|
+
nodes = @cloud.list_of_running_instances
|
13
15
|
|
14
|
-
|
16
|
+
puts nodes.map {|a| a.to_s}.join("\n")
|
17
|
+
|
18
|
+
if !nodes.empty?
|
19
|
+
n = o.inst_num? ? o.inst_num : 0
|
20
|
+
@cloud.ssh_into( nodes[n].ip ) if @cloud
|
21
|
+
else
|
22
|
+
puts "No running instances can be found"
|
23
|
+
end
|
data/bin/cloud-start
CHANGED
@@ -1,32 +1,28 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
3
|
require "poolparty"
|
4
|
-
require "poolpartycl"
|
5
4
|
|
6
|
-
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
7
|
-
optioner.
|
8
|
-
optioner.daemonizeable
|
5
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
6
|
+
opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
|
9
7
|
end
|
10
8
|
|
11
|
-
o.loaded_clouds.each do |
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
daemon ? daemonize {@cl.launch_and_configure_master!} : launch_and_configure_master!
|
24
|
-
# end
|
25
|
-
# end
|
26
|
-
when_no_pending_instances do
|
27
|
-
puts open(::File.join(File.dirname(__FILE__), "..", "lib", "poolparty", "config", "postlaunchmessage.txt")).read ^ {:master_ip => master.ip.chomp}
|
28
|
-
clear_base_directory unless testing
|
9
|
+
o.loaded_clouds.each do |cld|
|
10
|
+
if cld.list_of_running_instances.size.zero?
|
11
|
+
puts header("Starting cloud #{cld.name}")
|
12
|
+
puts "#{cld.list_of_running_instances.size} running instances (#{cld.minimum_instances} - #{cld.maximum_instances})"
|
13
|
+
|
14
|
+
cld.launch_instance! do |node|
|
15
|
+
::PoolParty::Provision::BootStrapper.new(node.ip, :full_keypair_path => cld.keypair.full_filepath, :cloud => cld)
|
16
|
+
::PoolParty::Provision::DrConfigure.new(node.ip, :full_keypair_path => cld.keypair.full_filepath, :cloud => cld)
|
17
|
+
|
18
|
+
puts <<-EOM
|
19
|
+
Your cloud has started. Your ip is #{node.ip}
|
20
|
+
EOM
|
29
21
|
end
|
30
|
-
end
|
31
22
|
|
23
|
+
else
|
24
|
+
puts <<-EOE
|
25
|
+
Your cloud is already running.
|
26
|
+
EOE
|
27
|
+
end
|
32
28
|
end
|
data/bin/cloud-terminate
CHANGED
data/bin/ec2-list-active
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'EC2' #rescue `gem install -y grempe-amazon-ec2`
|
4
|
+
aws_keys = {}
|
5
|
+
aws_keys = YAML::load( File.open('/etc/poolparty/aws_keys.yml') ) rescue 'No aws_keys.yml file. Will try to use enviornment variables'
|
6
|
+
|
7
|
+
ACCESS_KEY_ID = aws_keys[:access_key] || ENV['AMAZON_ACCESS_KEY_ID'] || ENV['AWS_ACCESS_KEY']
|
8
|
+
SECRET_ACCESS_KEY = aws_keys[:secret_access_key] || ENV['AMAZON_SECRET_ACCESS_KEY'] || ENV['AWS_SECRET_ACCESS_KEY']
|
9
|
+
|
10
|
+
if ENV['EC2_URL']
|
11
|
+
ec2 = EC2::Base.new( :access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY, :server => URI.parse(ENV['EC2_URL']).host )
|
12
|
+
else
|
13
|
+
# default server is US ec2.amazonaws.com
|
14
|
+
ec2 = EC2::Base.new( :access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY )
|
15
|
+
end
|
16
|
+
|
17
|
+
response = ec2.describe_instances
|
18
|
+
|
19
|
+
public_dns_names = response.reservationSet.item.first.instancesSet.item.collect do |instance|
|
20
|
+
p instance
|
21
|
+
instance.dnsName if instance.instanceState.name == 'running'
|
22
|
+
end.compact
|
23
|
+
|
24
|
+
puts public_dns_names.join("\t")
|
data/bin/server-become-master
CHANGED
@@ -16,7 +16,7 @@ include Remote
|
|
16
16
|
@clouds.each do |cl|
|
17
17
|
|
18
18
|
with_cloud(cl, {:testing => o.testing}) do
|
19
|
-
cmd = "hostname master && #{PoolParty::Remote::RemoteInstance.
|
19
|
+
cmd = "hostname master && #{PoolParty::Remote::RemoteInstance.dependency_resolver_comand}"
|
20
20
|
%x[#{cmd}] unless testing
|
21
21
|
after_launch_master
|
22
22
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# based on snippet from ciconia
|
3
|
+
# http://snippets.dzone.com/posts/show/2265
|
4
|
+
|
5
|
+
require 'fileutils'
|
6
|
+
require File.dirname(__FILE__)+'/../vendor/gems/butterfly/lib/butterfly.rb'
|
7
|
+
require 'rack'
|
8
|
+
|
9
|
+
monitor_dir = ::File.join(::File.dirname(__FILE__),'..','lib/poolparty/monitors/')
|
10
|
+
require(::File.join(monitor_dir, 'stats_monitor_adaptor.rb') )
|
11
|
+
opts ={ :adaptor_opts => {
|
12
|
+
:file => ::File.join(monitor_dir, 'stats_monitor_adaptor.rb')},
|
13
|
+
:port => PoolParty::Default.butterfly_port
|
14
|
+
}
|
15
|
+
|
16
|
+
app = Rack::Builder.new do
|
17
|
+
use Rack::ShowExceptions
|
18
|
+
# use Rack::Lint
|
19
|
+
run Butterfly::Server.new(opts)
|
20
|
+
end
|
21
|
+
|
22
|
+
# pid = fork do
|
23
|
+
Rack::Handler::Thin.run(app, :Port => PoolParty::Default.butterfly_port)
|
24
|
+
# end
|
25
|
+
# Process.detach pid
|
data/bin/server-clean-cert-for
CHANGED
@@ -11,5 +11,5 @@ end
|
|
11
11
|
o.loaded_clouds.each do |cloud|
|
12
12
|
# @nodes = cloud.messenger_send!("get_current_nodes")
|
13
13
|
# @nodes = @nodes.split(" ").map {|a| a.split(/@/)[-1] }
|
14
|
-
PoolParty::Ruberl::Base.new(cloud.master,
|
14
|
+
PoolParty::Ruberl::Base.new(cloud.master, Default.messenger_client_port).messenger_send!("clear_cert_for #{cloud.for}")
|
15
15
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "rubygems"
|
3
|
+
require 'net/http'
|
4
|
+
require 'json'
|
5
|
+
require "poolparty/lite"
|
6
|
+
|
7
|
+
vote_for = ARGV.shift || "none" # or pending or terminated
|
8
|
+
schema = ::PoolParty.load_cloud_from_json(ARGV.shift) #TODO: smarter option parser
|
9
|
+
remote_base_name = schema.options.remote_base.split('::')[-1].camelcase
|
10
|
+
remoter_base = PoolParty::Remote.module_eval(remote_base_name)
|
11
|
+
require 'rubygems'; require 'ruby-debug'; debugger
|
12
|
+
|
13
|
+
case vote_for
|
14
|
+
when "expand"
|
15
|
+
# PoolParty.log << "Launching new instance"
|
16
|
+
remoter_base.send :launch_new_instance!, schema.options do |node|
|
17
|
+
::PoolParty::Provision::BootStrapper.new( node[:ip], :full_keypair_path => cld.keypair.full_filepath, :cloud => schema.options )
|
18
|
+
::PoolParty::Provision::DrConfigure.new( node[:ip], :full_keypair_path => cld.keypair.full_filepath, :cloud => schema.options )
|
19
|
+
end
|
20
|
+
when "contract"
|
21
|
+
last_instance_id = %x[/usr/bin/server-list-active instance_id].split("\t").last
|
22
|
+
remoter_base.terminate_instance! schema.options.merge(:instance_id => last_instance_id)
|
23
|
+
else
|
24
|
+
puts "Unknown action: #{vote_for}"
|
25
|
+
end
|
26
|
+
|
@@ -20,8 +20,7 @@ o.loaded_clouds.each do |cloud|
|
|
20
20
|
next if node == "master"
|
21
21
|
# @tp.process do
|
22
22
|
str = returning Array.new do |s|
|
23
|
-
s <<
|
24
|
-
s << "/usr/sbin/puppetca --clean #{node}.ec2.internal"
|
23
|
+
s << cloud.dependency_resolver_command
|
25
24
|
end.join(";")
|
26
25
|
|
27
26
|
node_id = node.gsub(/node/, '')
|
data/bin/server-get-load
CHANGED
@@ -1,18 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
|
-
require "poolparty"
|
4
|
-
require
|
3
|
+
require "poolparty/lite"
|
4
|
+
Dir["#{File.dirname(__FILE__)}/../lib/poolparty/monitors/base_monitor.rb"].each {|f| require f}
|
5
5
|
|
6
|
-
|
7
|
-
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
8
|
-
# opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
9
|
-
opts.on('-m name', '--monitor monitor_name', "Monitor name (default: cpu) (Available monitors: #{available_monitors.join(", ")})") {|c| optioner.monitorname c}
|
10
|
-
end
|
6
|
+
monitor = ARGV.pop || "cpu"
|
11
7
|
|
12
|
-
|
8
|
+
begin
|
9
|
+
Dir["#{File.dirname(__FILE__)}/../lib/poolparty/monitors/monitors/#{monitor}_monitor.rb"].each {|f| require f}
|
13
10
|
|
14
|
-
|
15
|
-
print
|
16
|
-
|
17
|
-
puts
|
11
|
+
klass = eval("PoolParty::Monitors::#{monitor.capitalize}Monitor")
|
12
|
+
print (klass.send :run).to_f rescue -1.0
|
13
|
+
rescue Exception => e
|
14
|
+
puts -1.0
|
18
15
|
end
|
data/bin/server-list-active
CHANGED
@@ -1,18 +1,26 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
|
-
require "poolparty"
|
4
|
-
require "poolpartycl"
|
3
|
+
require "poolparty/lite"
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
list_type = ARGV.shift || "ip"
|
6
|
+
|
7
|
+
json_file = ARGV[0] || PoolParty::Default.properties_hash_file
|
8
|
+
raise "ERROR: no json_file given" if !json_file
|
9
|
+
schema = PoolParty::Schema.new( ::File.read(json_file) )
|
10
|
+
|
11
|
+
remoter_base = schema.options.remote_base
|
10
12
|
|
11
|
-
|
13
|
+
instances = PoolParty::Remote::Ec2.describe_instances(schema.options)
|
14
|
+
inst_array = instances.map {|inst| inst.send list_type.to_sym }
|
15
|
+
|
16
|
+
print_array =
|
17
|
+
case list_type
|
18
|
+
when "ip"
|
19
|
+
inst_array.select {|a| a =~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/}
|
20
|
+
when "internal_ip"
|
21
|
+
inst_array.compact.map {|ip| ip.gsub(/ip-/, '').gsub(/\.ec2\.internal/, '').gsub(/-/, '.') }
|
22
|
+
else
|
23
|
+
inst_array
|
24
|
+
end
|
12
25
|
|
13
|
-
|
14
|
-
with_cloud(cloud, {:ctype => @ctype}) do
|
15
|
-
print "#{list_of_running_instances.collect{|a| "#{a.send ctype}" }.join("\t")}"
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
26
|
+
print print_array.compact.join("\t")
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
|
+
require "poolparty/lite"
|
4
|
+
|
5
|
+
status = ARGV.shift || "running" # or pending or terminated
|
6
|
+
schema = ::PoolParty.load_cloud_from_json(ARGV.shift) #TODO: smarter option parser
|
7
|
+
|
8
|
+
remoter_base = schema.options.remote_base
|
9
|
+
|
10
|
+
instances = Kernel.const_get(remoter_base.camelcase).send :describe_instances, schema.options
|
11
|
+
|
12
|
+
print instances.select {|inst| inst.status == status }.join("\t")
|
13
|
+
|
14
|
+
# usage:
|
15
|
+
# server-list-instances status
|