fairchild-poolparty 1.1.5 → 1.2.12
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +3 -0
- data/README.txt +13 -9
- data/Rakefile +0 -1
- data/VERSION.yml +2 -2
- data/bin/cloud +43 -46
- data/bin/cloud-bootstrap +33 -23
- data/bin/cloud-configure +33 -34
- data/bin/cloud-console +31 -9
- data/bin/cloud-contract +27 -11
- data/bin/cloud-expand +32 -19
- data/bin/cloud-list +43 -15
- data/bin/cloud-osxcopy +22 -12
- data/bin/cloud-provision +39 -24
- data/bin/cloud-run +37 -0
- data/bin/cloud-setup-dev +31 -20
- data/bin/cloud-show +40 -21
- data/bin/cloud-ssh +24 -15
- data/bin/cloud-start +33 -19
- data/bin/cloud-terminate +34 -15
- data/bin/cloud-verify +41 -0
- data/bin/install-poolparty +22 -0
- data/bin/server-cloud-elections +17 -23
- data/bin/server-list-active +23 -22
- data/bin/server-manage-election +14 -23
- data/bin/server-show-stats +1 -1
- data/config/jeweler.rb +6 -6
- data/examples/basic.rb +13 -14
- data/examples/fairchild.rb +25 -20
- data/examples/maize.rb +37 -0
- data/examples/metavirt_cloud.rb +33 -0
- data/examples/simple.rb +13 -0
- data/examples/vmrun_cloud.rb +17 -0
- data/lib/poolparty/{aska/aska.rb → aska.rb} +3 -0
- data/lib/poolparty/core/array.rb +13 -1
- data/lib/poolparty/core/exception.rb +1 -1
- data/lib/poolparty/core/hash.rb +63 -2
- data/lib/poolparty/core/integer.rb +11 -0
- data/lib/poolparty/core/object.rb +41 -19
- data/lib/poolparty/core/proc.rb +0 -7
- data/lib/poolparty/core/string.rb +35 -2
- data/lib/poolparty/core/symbol.rb +10 -0
- data/lib/poolparty/core/time.rb +6 -0
- data/lib/poolparty/dependency_resolver/chef_resolver.rb +40 -41
- data/lib/poolparty/dependency_resolver/dependency_resolver.rb +1 -1
- data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +6 -6
- data/lib/poolparty/dependency_resolver/puppet.rb +0 -1
- data/lib/poolparty/dependency_resolver/puppet_resolver.rb +14 -48
- data/lib/poolparty/exceptions/MasterException.rb +2 -2
- data/lib/poolparty/extra/duration.rb +96 -0
- data/lib/poolparty/helpers/binary.rb +1 -1
- data/lib/poolparty/helpers/console.rb +0 -5
- data/lib/poolparty/helpers/optioner.rb +18 -13
- data/lib/poolparty/installers/base_installer.rb +113 -0
- data/lib/poolparty/installers/ec2.rb +141 -0
- data/lib/poolparty/installers/vmrun.rb +144 -0
- data/lib/poolparty/lite.rb +5 -2
- data/lib/poolparty/modules/callbacks.rb +15 -2
- data/lib/poolparty/modules/cloud_dsl.rb +10 -8
- data/lib/poolparty/modules/cloud_resourcer.rb +39 -59
- data/lib/poolparty/modules/daemonizable.rb +4 -5
- data/lib/poolparty/modules/definable_resource.rb +6 -7
- data/lib/poolparty/modules/file_writer.rb +2 -2
- data/lib/poolparty/modules/output.rb +2 -2
- data/lib/poolparty/modules/pinger.rb +9 -2
- data/lib/poolparty/modules/pretty_printer.rb +1 -1
- data/lib/poolparty/modules/resourcing_dsl.rb +1 -29
- data/lib/poolparty/modules/searchable_paths.rb +100 -0
- data/lib/poolparty/modules/user_helpers.rb +1 -1
- data/lib/poolparty/monitors/base_monitor.rb +65 -0
- data/lib/poolparty/monitors/monitor_daemon.rb +168 -0
- data/lib/poolparty/monitors/monitor_rack.rb +29 -15
- data/lib/poolparty/monitors/monitors/{time_monitor.rb → clock_monitor.rb} +7 -2
- data/lib/poolparty/monitors/monitors/cloud_monitor.rb +36 -0
- data/lib/poolparty/monitors/monitors/elections_monitor.rb +76 -0
- data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +15 -12
- data/lib/poolparty/monitors/monitors/stats_monitor.rb +68 -49
- data/lib/poolparty/net/init.rb +12 -7
- data/lib/poolparty/net/remote_instance.rb +48 -64
- data/lib/poolparty/net/remoter/cloud_control.rb +0 -177
- data/lib/poolparty/net/remoter/connections.rb +19 -14
- data/lib/poolparty/net/remoter/interactive.rb +30 -24
- data/lib/poolparty/net/remoter_base.rb +140 -48
- data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +119 -71
- data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +42 -31
- data/lib/poolparty/net/remoter_bases/ec2/ec2_response_object.rb +75 -10
- data/lib/poolparty/net/remoter_bases/libvirt/libvirt.rb +73 -0
- data/lib/poolparty/net/remoter_bases/libvirt/libvirt_instance.rb +64 -0
- data/lib/poolparty/net/remoter_bases/metavirt/metavirt.rb +110 -0
- data/lib/poolparty/net/remoter_bases/metavirt/metavirt_instance.rb +37 -0
- data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +1 -1
- data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +1 -1
- data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +117 -117
- data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +59 -43
- data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +37 -21
- data/lib/poolparty/plugins/apache2/apache.rb +266 -0
- data/lib/poolparty/plugins/apache2/passenger_site.rb +86 -0
- data/lib/poolparty/plugins/apache2/php5.rb +40 -0
- data/lib/poolparty/plugins/apache2/virtual_host.rb +53 -0
- data/lib/poolparty/plugins/authorized_key.rb +29 -0
- data/lib/poolparty/plugins/bind.rb +5 -6
- data/lib/poolparty/plugins/{chef.rb → chef/chef.rb} +32 -44
- data/lib/poolparty/plugins/chef/chef_deploy.rb +55 -0
- data/lib/poolparty/plugins/chef/chef_deploy_definition.rb +32 -0
- data/lib/poolparty/plugins/chef/chef_library.rb +7 -0
- data/lib/poolparty/plugins/chef/chef_recipe.rb +7 -0
- data/lib/poolparty/plugins/chef/include_chef_recipe.rb +14 -0
- data/lib/poolparty/plugins/deploy_directory.rb +41 -26
- data/lib/poolparty/plugins/gem_package.rb +42 -14
- data/lib/poolparty/plugins/git.rb +62 -33
- data/lib/poolparty/{base_packages → plugins}/haproxy.rb +21 -20
- data/lib/poolparty/plugins/heartbeat.rb +16 -0
- data/lib/poolparty/plugins/host.rb +39 -0
- data/lib/poolparty/plugins/line_in_file.rb +24 -2
- data/lib/poolparty/plugins/plugin_template.rb +13 -0
- data/lib/poolparty/{base_packages/poolparty.rb → plugins/poolparty_base_packages.rb} +4 -6
- data/lib/poolparty/plugins/rails_deploy.rb +128 -0
- data/lib/poolparty/{base_packages → plugins}/ruby.rb +3 -3
- data/lib/poolparty/plugins/runit.rb +17 -92
- data/lib/poolparty/plugins/sshkey.rb +50 -0
- data/lib/poolparty/plugins/svn.rb +10 -8
- data/lib/poolparty/poolparty/cloud.rb +224 -61
- data/lib/poolparty/poolparty/default.rb +22 -15
- data/lib/poolparty/poolparty/key.rb +19 -28
- data/lib/poolparty/poolparty/neighborhoods.rb +16 -5
- data/lib/poolparty/poolparty/plugin.rb +49 -13
- data/lib/poolparty/poolparty/pool.rb +32 -9
- data/lib/poolparty/poolparty/poolparty_base_class.rb +65 -45
- data/lib/poolparty/poolparty/resource.rb +24 -49
- data/lib/poolparty/poolparty/service.rb +11 -9
- data/lib/poolparty/provision/boot_strapper.rb +48 -37
- data/lib/poolparty/provision/configurations/chef.rb +6 -5
- data/lib/poolparty/provision/dr_configure.rb +25 -19
- data/lib/poolparty/resources/cron.rb +37 -4
- data/lib/poolparty/resources/directory.rb +30 -0
- data/lib/poolparty/resources/exec.rb +31 -1
- data/lib/poolparty/resources/file.rb +54 -12
- data/lib/poolparty/resources/group.rb +21 -0
- data/lib/poolparty/resources/mount.rb +24 -4
- data/lib/poolparty/resources/package.rb +30 -6
- data/lib/poolparty/resources/remote_file.rb +33 -1
- data/lib/poolparty/resources/service.rb +22 -1
- data/lib/poolparty/resources/symlink.rb +37 -2
- data/lib/poolparty/resources/user.rb +25 -0
- data/lib/poolparty/resources/variable.rb +26 -1
- data/lib/poolparty/resources.rb +42 -0
- data/lib/poolparty/schema.rb +6 -8
- data/lib/poolparty/templates/apache2/apache2.conf +14 -0
- data/lib/poolparty/templates/apache2/base.conf.erb +168 -0
- data/lib/poolparty/templates/apache2/browser_fixes.conf.erb +26 -0
- data/lib/poolparty/templates/apache2/debian.conf.erb +675 -0
- data/lib/poolparty/templates/apache2/default-site.conf.erb +41 -0
- data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +101 -0
- data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +42 -0
- data/lib/poolparty/templates/apache2/mime-extras.conf.erb +211 -0
- data/lib/poolparty/templates/apache2/mime-minimal.conf.erb +15 -0
- data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +20 -0
- data/lib/poolparty/templates/apache2/mpm-worker.erb +20 -0
- data/lib/poolparty/templates/apache2/passenger.conf.erb +20 -0
- data/lib/poolparty/templates/apache2/php.ini.erb +1253 -0
- data/lib/poolparty/templates/apache2/server-status.erb +19 -0
- data/lib/poolparty/templates/{gemrc → gemrc_template} +0 -0
- data/lib/poolparty/templates/haproxy.conf +2 -2
- data/lib/poolparty/templates/monitor.ru +13 -0
- data/lib/poolparty/templates/php.ini.erb +1253 -0
- data/lib/poolparty/verification/verifier_base.rb +10 -0
- data/lib/poolparty/verification/verifiers/http_match.rb +43 -0
- data/lib/poolparty/verification/verifiers/http_status.rb +59 -0
- data/lib/poolparty/verification/verifiers/ping.rb +18 -1
- data/lib/poolparty/verification/verify.rb +6 -0
- data/lib/poolparty.rb +14 -15
- data/lib/poolpartycl.rb +1 -1
- data/spec/bin/bin_spec_helper.rb +1 -0
- data/spec/bin/fixtures/bin_cloud_for_test.rb +0 -6
- data/spec/bin/server-list-active_spec.rb +4 -6
- data/spec/poolparty/core/object_spec.rb +1 -62
- data/spec/poolparty/core/ordered_hash_spec.rb +7 -7
- data/spec/poolparty/core/string_spec.rb +1 -1
- data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +0 -8
- data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +35 -32
- data/spec/poolparty/extra/deployments_spec.rb +68 -68
- data/spec/poolparty/fixtures/clouds.json +1 -1
- data/spec/poolparty/fixtures/fake_key.pub +1 -0
- data/spec/poolparty/helpers/optioner_spec.rb +4 -11
- data/spec/poolparty/modules/cloud_resourcer_spec.rb +1 -1
- data/spec/poolparty/modules/searchable_paths_spec.rb +83 -0
- data/spec/poolparty/net/remote_instance_spec.rb +1 -2
- data/spec/poolparty/net/remoter_base_spec.rb +7 -11
- data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +9 -11
- data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +6 -56
- data/spec/poolparty/net/remoter_bases/ec2_spec.rb +10 -7
- data/spec/poolparty/net/remoter_spec.rb +2 -3
- data/spec/poolparty/plugins/authorized_key_spec.rb +23 -0
- data/spec/poolparty/plugins/deploydirectory_spec.rb +64 -51
- data/spec/poolparty/plugins/git_spec.rb +8 -10
- data/spec/poolparty/poolparty/cloud_spec.rb +61 -64
- data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +2 -4
- data/spec/poolparty/poolparty/configurers/files/ruby_plugins.rb +1 -1
- data/spec/poolparty/poolparty/configurers/ruby_spec.rb +1 -6
- data/spec/poolparty/poolparty/default_spec.rb +23 -22
- data/spec/poolparty/poolparty/example_spec.rb +47 -26
- data/spec/poolparty/{base_packages → poolparty}/haproxy_spec.rb +1 -1
- data/spec/poolparty/{base_packages → poolparty}/heartbeat_spec.rb +1 -1
- data/spec/poolparty/poolparty/key_spec.rb +2 -2
- data/spec/poolparty/poolparty/neighborhoods_spec.rb +1 -1
- data/spec/poolparty/poolparty/plugin_model_spec.rb +13 -17
- data/spec/poolparty/poolparty/plugin_spec.rb +7 -7
- data/spec/poolparty/poolparty/pool_spec.rb +4 -10
- data/spec/poolparty/poolparty/resource_spec.rb +25 -29
- data/spec/poolparty/poolparty/script_spec.rb +1 -4
- data/spec/poolparty/poolparty/test_plugins/webserver.rb +27 -25
- data/spec/poolparty/resources/file_spec.rb +5 -4
- data/spec/poolparty/resources/sshkey_spec.rb +39 -40
- data/spec/poolparty/spec_helper.rb +9 -39
- data/tasks/poolparty.rake +29 -1
- data/tasks/spec.rake +39 -1
- data/test/fixtures/fake_clouds.rb +11 -0
- data/test/fixtures/metavirt_cloud.json +1 -0
- data/test/fixtures/test_key +1 -0
- data/test/poolparty/core/array_test.rb +11 -0
- data/test/poolparty/core/hash_test.rb +5 -7
- data/test/poolparty/core/object_test.rb +29 -0
- data/test/poolparty/dependency_resolver/chef_resolver_test.rb +82 -0
- data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +5 -26
- data/test/poolparty/modules/callbacks_test.rb +1 -1
- data/test/poolparty/modules/cloud_dsl_test.rb +10 -8
- data/test/poolparty/monitors/test_base_monitor.rb +17 -0
- data/test/poolparty/monitors/test_monitor_rack.rb +26 -0
- data/test/poolparty/net/remoter_base_test.rb +17 -0
- data/test/poolparty/net/remoter_bases/libvirt/libvirt_test.rb +70 -0
- data/test/poolparty/net/remoter_bases/metavirt/metavirt_test.rb +81 -0
- data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +58 -27
- data/test/poolparty/plugins/chef_deploy_test.rb +37 -0
- data/test/poolparty/plugins/chef_plugin_test.rb +23 -0
- data/test/poolparty/plugins/rails_deploy_test.rb +50 -0
- data/test/poolparty/poolparty/cloud_test.rb +65 -0
- data/test/poolparty/poolparty/isolated_cloud_test.rb +25 -0
- data/test/poolparty/poolparty/neighborhood_test.rb +1 -1
- data/test/poolparty/poolparty/plugin_test.rb +19 -0
- data/test/poolparty/poolparty/pool_test.rb +22 -0
- data/test/poolparty/poolparty/poolparty_base_class_test.rb +53 -15
- data/test/poolparty/poolparty/schema_test.rb +13 -0
- data/test/poolparty/poolparty/template_test.rb +6 -6
- data/test/poolparty/verification/verify_test.rb +7 -3
- data/test/test_helper.rb +15 -4
- data/test/test_methods.rb +11 -0
- data/vendor/chef/apache2/attributes/apache.rb +1 -1
- data/vendor/gems/dslify/LICENSE +20 -0
- data/vendor/gems/dslify/README.rdoc +33 -0
- data/vendor/gems/dslify/Rakefile +56 -0
- data/vendor/gems/dslify/VERSION.yml +4 -0
- data/vendor/gems/dslify/dslify.gemspec +29 -0
- data/vendor/gems/dslify/lib/dslify.rb +81 -0
- data/vendor/gems/dslify/test/dslify_test.rb +283 -0
- data/vendor/gems/dslify/test/test_helper.rb +7 -0
- data/vendor/gems/git-style-binaries/README.markdown +280 -0
- data/vendor/gems/git-style-binaries/Rakefile +64 -0
- data/vendor/gems/git-style-binaries/VERSION.yml +4 -0
- data/vendor/gems/git-style-binaries/doc/EXAMPLES +1 -0
- data/vendor/gems/git-style-binaries/doc/gsb-screencast.png +0 -0
- data/vendor/gems/git-style-binaries/doc/poolparty-binaries.screenplay +412 -0
- data/vendor/gems/git-style-binaries/git-style-binaries.gemspec +78 -0
- data/vendor/gems/git-style-binaries/lib/ext/colorize.rb +198 -0
- data/vendor/gems/git-style-binaries/lib/ext/core.rb +16 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/autorunner.rb +21 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/command.rb +204 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/commands/help.rb +32 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/helpers/name_resolver.rb +78 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/helpers/pager.rb +37 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary/parser.rb +223 -0
- data/vendor/gems/git-style-binaries/lib/git-style-binary.rb +88 -0
- data/vendor/gems/git-style-binaries/test/fixtures/flickr +4 -0
- data/vendor/gems/git-style-binaries/test/fixtures/flickr-download +17 -0
- data/vendor/gems/git-style-binaries/test/fixtures/wordpress +42 -0
- data/vendor/gems/git-style-binaries/test/fixtures/wordpress-categories +18 -0
- data/vendor/gems/git-style-binaries/test/fixtures/wordpress-list +18 -0
- data/vendor/gems/git-style-binaries/test/fixtures/wordpress-post +26 -0
- data/vendor/gems/git-style-binaries/test/git-style-binary/command_test.rb +17 -0
- data/vendor/gems/git-style-binaries/test/git_style_binary_test.rb +21 -0
- data/vendor/gems/git-style-binaries/test/running_binaries_test.rb +224 -0
- data/vendor/gems/git-style-binaries/test/shoulda_macros/matching_stdio.rb +13 -0
- data/vendor/gems/git-style-binaries/test/test_helper.rb +28 -0
- data/vendor/gems/parenting/History.txt +4 -0
- data/vendor/gems/parenting/Manifest.txt +14 -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/parenting.rb +70 -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 +117 -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 +167 -0
- data/vendor/gems/suitcase/lib/suitcase.rb +5 -0
- data/vendor/gems/suitcase/suitcase.gemspec +32 -0
- data/vendor/gems/suitcase/test/suitcase_test.rb +108 -0
- data/vendor/gems/suitcase/test/test_dir/box.rb +1 -0
- data/vendor/gems/suitcase/test/test_dir/gems/famoseagle-carrot-0.6.0.gem +0 -0
- data/vendor/gems/suitcase/test/test_dir/test.txt +1 -0
- data/vendor/gems/suitcase/test/test_helper.rb +12 -0
- data/vendor/gems/trollop/FAQ.txt +35 -0
- data/vendor/gems/trollop/History.txt +97 -0
- data/vendor/gems/trollop/Manifest.txt +7 -0
- data/vendor/gems/trollop/README.txt +40 -0
- data/vendor/gems/trollop/Rakefile +36 -0
- data/vendor/gems/trollop/lib/trollop.rb +735 -0
- data/vendor/gems/trollop/release-script.txt +13 -0
- data/vendor/gems/trollop/test/test_trollop.rb +1042 -0
- data/vendor/gems/trollop/www/index.html +167 -0
- metadata +205 -150
- data/bin/cloud-describe +0 -28
- data/bin/cloud-handle-load +0 -27
- data/bin/cloud-rsync +0 -28
- data/bin/cloud-spec +0 -41
- data/bin/messenger-get-current-nodes +0 -14
- data/bin/server-become-master +0 -24
- data/bin/server-build-messenger +0 -28
- data/bin/server-clean-cert-for +0 -15
- data/bin/server-provision +0 -32
- data/bin/server-start-agent +0 -15
- data/bin/server-start-client +0 -29
- data/bin/server-start-master +0 -26
- data/bin/server-start-node +0 -32
- data/bin/server-stop-client +0 -3
- data/bin/server-stop-master +0 -3
- data/bin/server-stop-node +0 -3
- data/bin/server-update-hosts +0 -49
- data/examples/poolparty.rb +0 -12
- data/lib/poolparty/base_packages/heartbeat.rb +0 -58
- data/lib/poolparty/base_packages/runit.rb +0 -21
- data/lib/poolparty/capistrano/cloud_tasks.rb +0 -10
- data/lib/poolparty/capistrano.rb +0 -54
- data/lib/poolparty/config/postlaunchmessage.txt +0 -5
- data/lib/poolparty/core/metaid.rb +0 -15
- data/lib/poolparty/core/module.rb +0 -40
- data/lib/poolparty/extra/deployments.rb +0 -31
- data/lib/poolparty/helpers/display.rb +0 -30
- data/lib/poolparty/net/messenger.rb +0 -57
- data/lib/poolparty/net/remote_bases.rb +0 -21
- data/lib/poolparty/plugins/chef_deploy.rb +0 -58
- data/lib/poolparty/plugins/dynomite.rb +0 -14
- data/lib/poolparty/plugins/nanite.rb +0 -41
- data/lib/poolparty/plugins/rsyncmirror.rb +0 -28
- data/lib/poolparty/plugins/tokyo_tyrant.rb +0 -23
- data/lib/poolparty/poolparty/plugin_model.rb +0 -45
- data/lib/poolparty/resources/host.rb +0 -16
- data/lib/poolparty/resources/sshkey.rb +0 -27
- data/lib/poolparty/services/conditional.rb +0 -46
- data/lib/poolparty/spec/core/string.rb +0 -18
- data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +0 -26
- data/lib/poolparty/spec/matchers/have_cron.rb +0 -28
- data/lib/poolparty/spec/matchers/have_deploydirectory.rb +0 -15
- data/lib/poolparty/spec/matchers/have_directory.rb +0 -31
- data/lib/poolparty/spec/matchers/have_exec.rb +0 -28
- data/lib/poolparty/spec/matchers/have_file.rb +0 -28
- data/lib/poolparty/spec/matchers/have_gempackage.rb +0 -28
- data/lib/poolparty/spec/matchers/have_git.rb +0 -28
- data/lib/poolparty/spec/matchers/have_host.rb +0 -28
- data/lib/poolparty/spec/matchers/have_mount.rb +0 -28
- data/lib/poolparty/spec/matchers/have_package.rb +0 -28
- data/lib/poolparty/spec/matchers/have_remotefile.rb +0 -28
- data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +0 -28
- data/lib/poolparty/spec/matchers/have_service.rb +0 -28
- data/lib/poolparty/spec/matchers/have_sshkey.rb +0 -28
- data/lib/poolparty/spec/matchers/have_symlink.rb +0 -28
- data/lib/poolparty/spec/matchers/have_variable.rb +0 -32
- data/lib/poolparty/spec/spec/dynamic_matchers.rb +0 -63
- data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +0 -7
- data/lib/poolparty/spec/templates/have_base.rb +0 -28
- data/lib/poolparty/spec.rb +0 -31
- data/spec/poolparty/core/module_spec.rb +0 -15
- data/spec/poolparty/helpers/display_spec.rb +0 -13
- data/spec/poolparty/id_rsa +0 -27
- data/spec/poolparty/net/messenger_spec.rb +0 -16
- data/spec/poolparty/resources/host_spec.rb +0 -35
- data/spec/poolparty/services/conditional_spec.rb +0 -52
- data/spec/poolparty/spec/core/string_spec.rb +0 -57
@@ -1,68 +1,68 @@
|
|
1
|
-
#TODO: Reimplement
|
2
|
-
require File.dirname(__FILE__) + '/../spec_helper'
|
3
|
-
|
4
|
-
describe "deployments" do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
end
|
1
|
+
# #TODO: Reimplement
|
2
|
+
# require File.dirname(__FILE__) + '/../spec_helper'
|
3
|
+
#
|
4
|
+
# describe "deployments" do
|
5
|
+
# describe "class" do
|
6
|
+
# before(:each) do
|
7
|
+
# @klass = PoolParty::Extra::Deployments
|
8
|
+
# @file = "hanky_danky_ranky.pool"
|
9
|
+
# ::File.stub!(:file?).with(@file).and_return false
|
10
|
+
# end
|
11
|
+
# it "should have the singleton method include_deployment" do
|
12
|
+
# @klass.respond_to?(:include_deployment).should == true
|
13
|
+
# end
|
14
|
+
# it "should return nil if the file doesn't exist" do
|
15
|
+
# @klass.include_deployment(@file).should == nil
|
16
|
+
# end
|
17
|
+
# describe "existing file" do
|
18
|
+
# before(:each) do
|
19
|
+
# ::File.stub!(:file?).and_return true
|
20
|
+
# @contents = "'hello goober'"
|
21
|
+
# @klass.stub!(:open).with(@file).and_return @file
|
22
|
+
# @file.stub!(:read).and_return @contents
|
23
|
+
# @klass.include_deployment(@file).should_not == nil
|
24
|
+
# end
|
25
|
+
# it "should not be nil if the file does exist" do
|
26
|
+
# @klass.include_deployment(@file).should_not == nil
|
27
|
+
# end
|
28
|
+
# it "should create a class called PoolPartyHankyDankyRankyClass" do
|
29
|
+
# @klass.include_deployment(@file).nil?.should == false
|
30
|
+
# Object.const_defined?(Plugin::HankyDankyRanky).should == true
|
31
|
+
# end
|
32
|
+
# it "should create a method on the class called enable" do
|
33
|
+
# HankyDankyRanky.new.respond_to?(:enable).should == true
|
34
|
+
# end
|
35
|
+
# it "should add the contents of the file to be eval'd on the method" do
|
36
|
+
# # puts HankyDankyRankyClass.new.enable
|
37
|
+
# # HankyDankyRankyClass.new.enable.should == "hello goober"
|
38
|
+
# pending
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
# describe "include_deployments" do
|
42
|
+
# before(:each) do
|
43
|
+
# ::File.stub!(:directory?).and_return false
|
44
|
+
# @dir = "/deployments"
|
45
|
+
# end
|
46
|
+
# it "should have the method include_deployments" do
|
47
|
+
# @klass.respond_to?(:include_deployments).should == true
|
48
|
+
# end
|
49
|
+
# it "should return nil if the directory does not exist" do
|
50
|
+
# @klass.include_deployments(@dir).should == nil
|
51
|
+
# end
|
52
|
+
# describe "existing directory" do
|
53
|
+
# before(:each) do
|
54
|
+
# ::File.stub!(:directory?).and_return true
|
55
|
+
# @contents = []
|
56
|
+
# Dir.stub!(:[]).and_return @contents
|
57
|
+
# end
|
58
|
+
# it "should not be nil if the directory exists" do
|
59
|
+
# @klass.include_deployments(@dir).nil?.should == false
|
60
|
+
# end
|
61
|
+
# it "should call Dir.[] on the directory" do
|
62
|
+
# Dir.should_receive(:[]).with("#{@dir}/*").and_return []
|
63
|
+
# @klass.include_deployments(@dir)
|
64
|
+
# end
|
65
|
+
# end
|
66
|
+
# end
|
67
|
+
# end
|
68
|
+
# end
|
@@ -34,7 +34,7 @@
|
|
34
34
|
"default_properties_hash_filename": "cloud.json",
|
35
35
|
"poolparty_home_path": "/Users/mfairchild/.poolparty",
|
36
36
|
"keypairs": ["/Users/mfairchild/.ec2oncourse/r_and_d.pem", "/Users/mfairchild/.ssh/id_rsa"],
|
37
|
-
"
|
37
|
+
"availability_zone": "us-east-1a",
|
38
38
|
"fileserver_base": "puppet://master/files",
|
39
39
|
"debugging": false,
|
40
40
|
"minimum_instances": 1,
|
@@ -0,0 +1 @@
|
|
1
|
+
ssh-rsa totally_aPublicKey auser@my.laptop.local
|
@@ -7,11 +7,11 @@ describe "Option Parser" do
|
|
7
7
|
@op = PoolParty::Optioner.new([], {:abstract => true})
|
8
8
|
@op.parse_options
|
9
9
|
end
|
10
|
-
it "should set the
|
11
|
-
@op.
|
10
|
+
it "should set the dsl_options as an Hash" do
|
11
|
+
@op.dsl_options.class.should == Hash
|
12
12
|
end
|
13
13
|
it "should have the verbose option set to false by default" do
|
14
|
-
@op.verbose
|
14
|
+
@op.verbose?.should == false
|
15
15
|
end
|
16
16
|
it "should call a method called on it that is not defined on the options if they exist" do
|
17
17
|
@op.dsl_options.should_receive(:[]).with(:verbose).at_least(1).and_return true
|
@@ -40,11 +40,4 @@ describe "Option Parser" do
|
|
40
40
|
@op.flagged_args.should == ["-v", "-i", "1", "-x"]
|
41
41
|
end
|
42
42
|
end
|
43
|
-
|
44
|
-
it "should be able to take a block and set some options on the block" do
|
45
|
-
PoolParty::Optioner.new(["-w"], {:abstract => false, :load_pools => false}) do |opts, optioner|
|
46
|
-
opts.on('-w', '--wee') { optioner.wee "wee" }
|
47
|
-
opts.on('-t t', '--teatime tea') { optioner.tea "time" }
|
48
|
-
end.wee.should == "wee"
|
49
|
-
end
|
50
|
-
end
|
43
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
PATH_TEST_ROOT = Default.storage_directory / "path_test"
|
4
|
+
PATH_ONE = PATH_TEST_ROOT / "one"
|
5
|
+
PATH_TWO = PATH_TEST_ROOT / "two"
|
6
|
+
|
7
|
+
class TestFile
|
8
|
+
include SearchablePaths
|
9
|
+
has_searchable_paths(:dir => "templates", :paths => [PATH_ONE, PATH_TWO])
|
10
|
+
end
|
11
|
+
|
12
|
+
class TestFile2
|
13
|
+
include SearchablePaths
|
14
|
+
has_searchable_paths(:dirs => ["clouds", "/"], :prepend_paths => [PATH_ONE, PATH_TWO])
|
15
|
+
end
|
16
|
+
|
17
|
+
def File.write_to_file(name, content="")
|
18
|
+
open(name, "w") {|f| f.print content}
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "FileWriter" do
|
22
|
+
before(:each) do
|
23
|
+
# create path one
|
24
|
+
[PATH_ONE/:clouds, PATH_ONE/:templates, PATH_ONE/:foo].each {|dir| FileUtils.mkdir_p(dir) }
|
25
|
+
[PATH_ONE/'clouds.rb', PATH_ONE/:clouds/'special.rb', PATH_ONE/:templates/'apache.conf'].each do |f|
|
26
|
+
File.write_to_file(f)
|
27
|
+
end
|
28
|
+
|
29
|
+
# create path two
|
30
|
+
[PATH_TWO/:clouds, PATH_TWO/:templates, PATH_TWO/:foo].each {|dir| FileUtils.mkdir_p(dir) }
|
31
|
+
[PATH_TWO/'swing.rb', PATH_TWO/'clouds.rb', PATH_TWO/:clouds/'common.rb', PATH_TWO/:templates/'mysql.conf'].each do |f|
|
32
|
+
File.write_to_file(f)
|
33
|
+
end
|
34
|
+
|
35
|
+
@template = TestFile.new
|
36
|
+
@cloud = TestFile2.new
|
37
|
+
end
|
38
|
+
|
39
|
+
describe "class methods" do
|
40
|
+
it "should have class options set" do
|
41
|
+
TestFile.searchable_paths_dir.should == "templates"
|
42
|
+
TestFile.searchable_paths_dirs.should == ["templates"]
|
43
|
+
TestFile2.searchable_paths_dirs.should == ["clouds", "/"]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "#find_file" do
|
48
|
+
it "should be able to find a template" do
|
49
|
+
@template.find_file("apache.conf").should_not be_nil
|
50
|
+
@template.find_file("apache.conf").should == PATH_ONE/:templates/'apache.conf'
|
51
|
+
@template.find_file("mysql.conf").should == PATH_TWO/:templates/'mysql.conf'
|
52
|
+
end
|
53
|
+
|
54
|
+
it "shouldn't find a template that doesn't exist" do
|
55
|
+
@template.find_file("post-office.conf").should be_nil
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should find something with prepended paths" do
|
59
|
+
@cloud.find_file("clouds.rb").should == PATH_ONE/'clouds.rb'
|
60
|
+
@cloud.find_file("swing.rb").should == PATH_TWO/'swing.rb'
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should find things in the right order" do
|
64
|
+
@cloud.find_file("clouds.rb").should == PATH_ONE/'clouds.rb'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe "#search_in_known_locations" do
|
69
|
+
before(:each) do
|
70
|
+
# create path one
|
71
|
+
FileUtils.mkdir_p(PATH_ONE/'extra')
|
72
|
+
File.write_to_file(PATH_ONE/'extra'/'clouds.rb')
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should look in the additional search paths first" do
|
76
|
+
@cloud.find_file("clouds.rb", [PATH_ONE/'extra']).should == PATH_ONE/'extra'/'clouds.rb'
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
after(:each) do
|
81
|
+
FileUtils.rm_rf(PATH_TEST_ROOT)
|
82
|
+
end
|
83
|
+
end
|
@@ -5,8 +5,7 @@ include PoolParty::Remote
|
|
5
5
|
|
6
6
|
describe "Remote Instance" do
|
7
7
|
before(:each) do
|
8
|
-
|
9
|
-
@valid_hash = {:ip => "127.0.0.1", :name => "master", :responding => "true"}
|
8
|
+
@valid_hash = {:public_ip=>'33.44.55.66', :ip => "127.0.0.1", :name => "master", :responding => "true"}
|
10
9
|
end
|
11
10
|
|
12
11
|
it "should have tests for the abstaract RemoteInstance class" do
|
@@ -7,14 +7,10 @@ end
|
|
7
7
|
|
8
8
|
describe "RemoterBase" do
|
9
9
|
before(:each) do
|
10
|
-
|
10
|
+
@tr = TestRemoteClass.new
|
11
11
|
end
|
12
|
-
|
13
|
-
|
14
|
-
@tr = TestRemoteClass.new
|
15
|
-
end
|
16
|
-
%w(launch_new_instance! terminate_instance describe_instance instances_list).each do |method|
|
17
|
-
eval <<-EOE
|
12
|
+
%w(launch_new_instance! terminate_instance describe_instance instances_list).each do |method|
|
13
|
+
eval <<-EOE
|
18
14
|
it "should raise an exception if #{method} is not defined as a method" do
|
19
15
|
# pending # Weird .should raise_error
|
20
16
|
lambda { @tr.class.#{method} }.should raise_error
|
@@ -28,8 +24,8 @@ describe "RemoterBase" do
|
|
28
24
|
@tr.#{method}
|
29
25
|
}.should_not raise_error
|
30
26
|
end
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
EOE
|
28
|
+
|
34
29
|
end
|
35
|
-
end
|
30
|
+
end
|
31
|
+
|
@@ -3,22 +3,20 @@ class TestEC2Class < Ec2
|
|
3
3
|
include CloudDsl
|
4
4
|
include Dslify
|
5
5
|
|
6
|
-
default_options
|
7
|
-
|
6
|
+
default_options :access_key => "Not an access key",
|
7
|
+
:secret_access_key => "not a secret access key",
|
8
|
+
:keypair => 'id_rsa'
|
8
9
|
|
9
|
-
def ami;"ami-abc123";end
|
10
|
-
def size; "small";end
|
11
|
-
def security_group; "default";end
|
12
|
-
def ebs_volume_id; "ebs_volume_id";end
|
13
|
-
def
|
14
|
-
def verbose; false; end
|
10
|
+
# def ami;"ami-abc123";end
|
11
|
+
# def size; "small";end
|
12
|
+
# def security_group; "default";end
|
13
|
+
# def ebs_volume_id; "ebs_volume_id";end
|
14
|
+
# def availability_zone; "us-east-1a";end
|
15
|
+
# def verbose; false; end
|
15
16
|
def describe_instances(o={})
|
16
17
|
response_list_of_instances
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
21
|
class TestEc2RemoteInstance < PoolParty::Remote::Ec2RemoteInstance
|
21
|
-
def initialize(opts, p=nil)
|
22
|
-
super
|
23
|
-
end
|
24
22
|
end
|
@@ -2,30 +2,21 @@ require File.join(File.dirname(__FILE__), '../../spec_helper')
|
|
2
2
|
require File.dirname(__FILE__) + '/ec2_mocks_and_stubs.rb'
|
3
3
|
|
4
4
|
include PoolParty::Remote
|
5
|
-
# include Aska
|
6
|
-
|
7
|
-
# require File.dirname(__FILE__) + '/ec2_mocks_and_stubs.rb'
|
8
5
|
|
9
6
|
|
10
7
|
describe "Ec2RemoteInstance" do
|
11
8
|
before(:each) do
|
12
9
|
@cloud = TestCloud.new :test_remoter_base_cloud
|
13
|
-
@
|
14
|
-
|
15
|
-
@ec2.my_cloud.stub!(:describe_instances).and_return response_list_of_instances
|
16
|
-
end
|
17
|
-
it "should require options" do
|
18
|
-
lambda {TestEc2RemoteInstance.new()}.should raise_error
|
10
|
+
@tec2 = TestEC2Class.new(@cloud.dsl_options)
|
11
|
+
@ec2 = TestEc2RemoteInstance.new( @tec2.dsl_options.merge(:name => "node3", :status => "pending", :ip => "192.168.0.3"))
|
19
12
|
end
|
20
13
|
it "should have the name set in the options" do
|
21
|
-
@ec2.respond_to?(:name).should ==
|
22
|
-
@ec2.
|
14
|
+
@ec2.respond_to?(:name).should == true
|
15
|
+
@ec2.dsl_options.keys.include?(:name).should == true
|
23
16
|
@ec2.name.should == 'node3'
|
24
17
|
end
|
25
18
|
it "should have access to parent cloud options" do
|
26
|
-
@ec2.
|
27
|
-
@ec2.my_cloud.should respond_to(:describe_instances)
|
28
|
-
@ec2.my_cloud.size.should == 'small'
|
19
|
+
@ec2.instance_type.should == 'm1.small'
|
29
20
|
end
|
30
21
|
it "should have instance description hash mapped to methods" do
|
31
22
|
# puts "<ol>"
|
@@ -34,43 +25,14 @@ describe "Ec2RemoteInstance" do
|
|
34
25
|
@ec2.status.should == 'pending'
|
35
26
|
@ec2.name.should == 'node3'
|
36
27
|
@ec2.ip.should == '192.168.0.3'
|
37
|
-
@ec2.launching_time.should_not be_nil
|
38
|
-
@ec2.valid?.should be_true
|
39
|
-
end
|
40
|
-
it "should not be the master" do
|
41
|
-
@ec2.master?.should_not be_true
|
42
28
|
end
|
43
29
|
end
|
44
30
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
31
|
describe "Remote Instance" do
|
51
32
|
before(:each) do
|
52
|
-
setup
|
53
33
|
@valid_hash = {:ip => "127.0.0.1", :name => "master"}
|
54
34
|
end
|
55
35
|
|
56
|
-
describe "configurable" do
|
57
|
-
it "should set the options sent in the options, overiding passed option with found instance values" do
|
58
|
-
@ec2 = TestEc2RemoteInstance.new(@valid_hash)
|
59
|
-
@ec2.ip.should == "127.0.0.1"
|
60
|
-
end
|
61
|
-
it "should set the options sent by the parent" do
|
62
|
-
@obj = Object.new
|
63
|
-
@obj.stub!(:options).and_return({:dude => "tte"})
|
64
|
-
@ec2 = @ec2 = TestEc2RemoteInstance.new(@valid_hash, @obj)
|
65
|
-
@ec2.dude.should == "tte"
|
66
|
-
end
|
67
|
-
it "should not overwrite the options that are already set" do
|
68
|
-
@obj = Object.new
|
69
|
-
@obj.stub!(:options).and_return({:ip => "172.176.0.1"})
|
70
|
-
@ec2 = TestEc2RemoteInstance.new(@valid_hash, @obj)
|
71
|
-
@ec2.ip.should == "127.0.0.1"
|
72
|
-
end
|
73
|
-
end
|
74
36
|
it "should create a remote instance with a Hash" do
|
75
37
|
@ec2 = TestEc2RemoteInstance.new(@valid_hash)
|
76
38
|
@ec2.valid?.should == true
|
@@ -105,20 +67,8 @@ describe "Remote Instance" do
|
|
105
67
|
@ec2.stub!(:launching_time).and_return(30.minutes.ago)
|
106
68
|
@ec2.elapsed_runtime.should be >= 1800
|
107
69
|
end
|
108
|
-
it "should be say that it is the master if the name is master" do
|
109
|
-
@ec2.name.should == "master"
|
110
|
-
@ec2.master?.should == true
|
111
|
-
end
|
112
70
|
it "should say that it is responding? if responding is not nil" do
|
113
71
|
@ec2.running?.should == true
|
114
|
-
@ec2.responding?.should == true
|
115
|
-
# @ec2.responding.should_not be_nil
|
116
|
-
end
|
117
|
-
it "should have the puppet_runner_command" do
|
118
|
-
@ec2.respond_to?(:puppet_runner_command).should == true
|
119
|
-
end
|
120
|
-
it "should return the puppet_runner_command with puppetd" do
|
121
|
-
@ec2.puppet_runner_command.should =~ /puppetrun/
|
122
72
|
end
|
123
73
|
end
|
124
|
-
end
|
74
|
+
end
|
@@ -5,7 +5,7 @@ require File.dirname(__FILE__) + '/ec2_mocks_and_stubs.rb'
|
|
5
5
|
describe "ec2 remote base" do
|
6
6
|
before(:each) do
|
7
7
|
@cloud = TestCloud.new :test_remoter_base_cloud
|
8
|
-
@tr = TestEC2Class.new(
|
8
|
+
@tr = TestEC2Class.new( TestCloud.default_options )
|
9
9
|
stub_remoter_for(@tr)
|
10
10
|
# @tr.stub!(:get_instances_description).and_return response_list_of_instances
|
11
11
|
end
|
@@ -17,9 +17,12 @@ describe "ec2 remote base" do
|
|
17
17
|
EOE
|
18
18
|
end
|
19
19
|
describe "helpers" do
|
20
|
-
it "should be able to convert an ec2 ip to a real ip" do
|
20
|
+
it "should be able to convert an american ec2 ip to a real ip" do
|
21
21
|
"ec2-72-44-36-12.compute-1.amazonaws.com".convert_from_ec2_to_ip.should == "72.44.36.12"
|
22
22
|
end
|
23
|
+
it "should be able to convert an european ec2 ip to a real ip" do
|
24
|
+
"ec2-72-44-36-12.eu-west-1.compute.amazonaws.com".convert_from_ec2_to_ip.should == "72.44.36.12"
|
25
|
+
end
|
23
26
|
it "should not throw an error if another string is returned" do
|
24
27
|
"72.44.36.12".convert_from_ec2_to_ip.should == "72.44.36.12"
|
25
28
|
end
|
@@ -49,7 +52,7 @@ describe "ec2 remote base" do
|
|
49
52
|
# @tr.launch_new_instance!
|
50
53
|
# end
|
51
54
|
it "should get the hash response from EC2ResponseObject" do
|
52
|
-
EC2ResponseObject.should_receive(:
|
55
|
+
EC2ResponseObject.should_receive(:describe_instance).and_return @ret_hash
|
53
56
|
@tr.launch_new_instance! :keypair => "keys"
|
54
57
|
end
|
55
58
|
end
|
@@ -87,12 +90,11 @@ describe "ec2 remote base" do
|
|
87
90
|
@resp = {"requestId"=>"be9bd2e9-4f8c-448f-993d-c21fe537e322", "addressesSet"=>{"item"=>[{"instanceId"=>nil, "publicIp"=>"174.129.212.93"}, {"instanceId"=>nil, "publicIp"=>"182.199.200.201"}]}, "xmlns"=>"http://ec2.amazonaws.com/doc/2008-12-01/"}
|
88
91
|
@tr.ec2.stub!(:describe_addresses).and_return @resp
|
89
92
|
end
|
90
|
-
it "should have the next available elastic_ip" do
|
91
|
-
@tr.next_unused_elastic_ip.should ==
|
93
|
+
it "should have the next available elastic_ip as nil if there are no ips set" do
|
94
|
+
@tr.next_unused_elastic_ip.should == nil
|
92
95
|
end
|
93
96
|
it "should use only the elastic ips set on the cloud" do
|
94
|
-
@
|
95
|
-
@cloud.stub!(:elastic_ips).and_return ["182.199.200.201"]
|
97
|
+
@tr.stub!(:elastic_ips).and_return ["182.199.200.201"]
|
96
98
|
@tr.stub!(:cloud).and_return @cloud
|
97
99
|
@tr.next_unused_elastic_ip.should == "182.199.200.201"
|
98
100
|
end
|
@@ -131,4 +133,5 @@ describe "ec2 remote base" do
|
|
131
133
|
@tr.create_snapshot.should == nil
|
132
134
|
end
|
133
135
|
end
|
136
|
+
|
134
137
|
end
|
@@ -2,10 +2,9 @@ require File.dirname(__FILE__) + '/../spec_helper'
|
|
2
2
|
|
3
3
|
describe "Remoter" do
|
4
4
|
before(:each) do
|
5
|
-
setup
|
6
5
|
@cloud = cloud :app do;end
|
7
6
|
@tc = TestClass.new
|
8
|
-
@tc.parent = @cloud
|
7
|
+
# @tc.parent = @cloud
|
9
8
|
@sample_instances_list = [{:ip => "192.168.0.1", :name => "master"}, {:ip => "192.168.0.2", :name => "node1"}]
|
10
9
|
end
|
11
10
|
describe "ssh_string" do
|
@@ -130,4 +129,4 @@ describe "Remoter" do
|
|
130
129
|
# end
|
131
130
|
# end
|
132
131
|
|
133
|
-
end
|
132
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
describe "Remote Instance" do
|
4
|
+
before(:each) do
|
5
|
+
@tc = TestBaseClass.new do
|
6
|
+
end
|
7
|
+
end
|
8
|
+
it "should have the method has_line_in_file available on the class" do
|
9
|
+
@tc.respond_to?(:has_line_in_file).should == true
|
10
|
+
end
|
11
|
+
describe "call" do
|
12
|
+
before(:each) do
|
13
|
+
@tc.run_in_context do
|
14
|
+
has_authorized_key({:for_user => 'alerner',
|
15
|
+
:public_key_file => "#{::File.dirname(__FILE__)}/../fixtures/fake_key.pub"})
|
16
|
+
end
|
17
|
+
@compiled = ChefResolver.new(@tc.to_properties_hash).compile
|
18
|
+
end
|
19
|
+
it "should have the line in the file from ChefResolver" do
|
20
|
+
@compiled.should match(/~alerner\/\.ssh/)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|