poolparty 0.2.69 → 0.2.84
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/Capfile +1 -0
- data/History.txt +6 -0
- data/Manifest.txt +140 -143
- data/PostInstall.txt +1 -1
- data/README.txt +2 -0
- data/bin/cloud-configure +5 -2
- data/bin/cloud-handle-load +3 -3
- data/bin/cloud-maintain +3 -3
- data/bin/cloud-provision +6 -5
- data/bin/cloud-rsync +28 -0
- data/bin/cloud-setup-dev +25 -0
- data/bin/cloud-spec +40 -0
- data/bin/cloud-start +5 -3
- data/bin/server-clean-cert-for +15 -0
- data/bin/server-rerun +0 -1
- data/bin/server-start-client +1 -1
- data/bin/server-start-master +1 -1
- data/bin/server-start-node +1 -1
- data/bin/server-update-hosts +4 -3
- data/bin/server-write-new-nodes +26 -0
- data/generators/poolspec/USAGE +2 -2
- data/generators/poolspec/poolspec_generator.rb +1 -1
- data/lib/erlang/messenger/Makefile +15 -0
- data/lib/erlang/messenger/ebin/client_app.beam +0 -0
- data/lib/erlang/messenger/ebin/client_server.beam +0 -0
- data/lib/erlang/messenger/ebin/erl_crash.dump +10326 -0
- 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_client_old.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_client_supervisor.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master_event_handler.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/pm_spawner.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_strings.beam +0 -0
- data/lib/erlang/messenger/ebin/utils.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
- data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.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 +46 -0
- data/lib/erlang/messenger/src/pm_master.erl +5 -0
- data/lib/erlang/messenger/src/pm_node.erl +2 -3
- data/lib/erlang/messenger/src/pm_spawner.erl +213 -0
- data/lib/poolparty/base_packages/heartbeat.rb +57 -43
- data/lib/poolparty/base_packages/poolparty.rb +18 -15
- data/lib/poolparty/capistrano.rb +18 -0
- data/lib/poolparty/core/class.rb +24 -0
- data/lib/poolparty/core/kernel.rb +7 -0
- data/lib/poolparty/core/module.rb +2 -2
- data/lib/poolparty/core/string.rb +1 -1
- data/lib/poolparty/dependency_resolutions/puppet.rb +10 -2
- data/lib/poolparty/exceptions/ProvisionerException.rb +5 -0
- data/lib/poolparty/extra/deployments.rb +31 -0
- data/lib/poolparty/helpers/binary.rb +14 -2
- data/lib/poolparty/helpers/optioner.rb +61 -22
- data/lib/poolparty/helpers/ruberl.rb +33 -0
- data/lib/poolparty/modules/cloud_dsl.rb +2 -1
- data/lib/poolparty/modules/cloud_resourcer.rb +30 -6
- data/lib/poolparty/modules/configurable.rb +2 -0
- data/lib/poolparty/modules/file_writer.rb +4 -4
- data/lib/poolparty/modules/resourcing_dsl.rb +5 -5
- data/lib/poolparty/monitors/base_monitor.rb +1 -1
- data/lib/poolparty/monitors/monitors/cpu_monitor.rb +2 -2
- data/lib/poolparty/net/messenger.rb +1 -1
- data/lib/poolparty/net/remote.rb +2 -2
- data/lib/poolparty/net/remote_bases/ec2.rb +51 -11
- data/lib/poolparty/net/remote_instance.rb +7 -3
- data/lib/poolparty/net/remoter.rb +72 -24
- data/lib/poolparty/net/remoter_base.rb +10 -0
- data/lib/poolparty/plugins/deploydirectory.rb +10 -5
- data/lib/poolparty/plugins/git.rb +51 -0
- data/lib/poolparty/{pool → poolparty}/base.rb +4 -2
- data/lib/poolparty/{pool → poolparty}/cloud.rb +32 -10
- data/lib/poolparty/{pool → poolparty}/plugin_model.rb +4 -4
- data/lib/poolparty/{pool → poolparty}/pool.rb +2 -2
- data/lib/poolparty/{pool → poolparty}/resource.rb +33 -15
- data/lib/poolparty/{pool → poolparty}/resources/class_package.rb +3 -3
- data/lib/poolparty/{pool → poolparty}/resources/directory.rb +6 -3
- data/lib/poolparty/{pool → poolparty}/resources/exec.rb +2 -5
- data/lib/poolparty/{pool → poolparty}/resources/file.rb +3 -3
- data/lib/poolparty/{pool → poolparty}/resources/package.rb +1 -1
- data/lib/poolparty/{pool → poolparty}/resources/remote_file.rb +1 -1
- data/lib/poolparty/poolparty/resources/remote_user.rb +17 -0
- data/lib/poolparty/{pool → poolparty}/resources/sshkey.rb +5 -1
- data/lib/poolparty/{pool → poolparty}/script.rb +1 -1
- data/lib/poolparty/provisioners/capistrano/capistrano.rb +127 -0
- data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +58 -0
- data/lib/poolparty/provisioners/capistrano/recipies/base.rb +104 -0
- data/lib/poolparty/provisioners/capistrano/recipies/master.rb +121 -0
- data/lib/poolparty/provisioners/capistrano/recipies/slave.rb +12 -0
- data/lib/poolparty/provisioners/provisioner_base.rb +204 -0
- data/lib/poolparty/spec/core/string.rb +16 -0
- data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +26 -0
- data/lib/poolparty/spec/matchers/have_cron.rb +28 -0
- data/lib/poolparty/spec/matchers/have_deploydirectory.rb +15 -0
- data/lib/poolparty/spec/matchers/have_directory.rb +31 -0
- data/lib/poolparty/spec/matchers/have_exec.rb +28 -0
- data/lib/poolparty/spec/matchers/have_file.rb +28 -0
- data/lib/poolparty/spec/matchers/have_gempackage.rb +28 -0
- data/lib/poolparty/spec/matchers/have_git.rb +28 -0
- data/lib/poolparty/spec/matchers/have_host.rb +28 -0
- data/lib/poolparty/spec/matchers/have_mount.rb +28 -0
- data/lib/poolparty/spec/matchers/have_package.rb +28 -0
- data/lib/poolparty/spec/matchers/have_remotefile.rb +28 -0
- data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +28 -0
- data/lib/poolparty/spec/matchers/have_service.rb +28 -0
- data/lib/poolparty/spec/matchers/have_sshkey.rb +28 -0
- data/lib/poolparty/spec/matchers/have_symlink.rb +28 -0
- data/lib/poolparty/spec/matchers/have_variable.rb +32 -0
- data/lib/poolparty/spec/spec/dynamic_matchers.rb +63 -0
- data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +7 -0
- data/lib/poolparty/spec/templates/have_base.rb +28 -0
- data/lib/poolparty/templates/authkeys +1 -1
- data/lib/poolparty/templates/gem +12 -10
- data/lib/poolparty/templates/ha.cf +9 -11
- data/lib/poolparty/templates/haresources +1 -1
- data/lib/poolparty/templates/logd.cf +42 -0
- data/lib/poolparty/templates/puppet.conf +18 -8
- data/lib/poolparty/templates/puppetcleaner +9 -3
- data/lib/poolparty/templates/puppetrerun +16 -3
- data/lib/poolparty/templates/puppetrunner +1 -1
- data/lib/poolparty/version.rb +1 -1
- data/lib/poolparty.rb +12 -8
- data/lib/poolpartyspec.rb +34 -0
- data/poolparty.gemspec +151 -149
- data/spec/poolparty/aska/aska_spec.rb +0 -5
- data/spec/poolparty/bin/console_spec.rb +3 -0
- data/spec/poolparty/extra/deployments_spec.rb +64 -0
- data/spec/poolparty/helpers/binary_spec.rb +1 -1
- data/spec/poolparty/helpers/optioner_spec.rb +17 -4
- data/spec/poolparty/modules/cloud_resourcer_spec.rb +19 -2
- data/spec/poolparty/modules/configurable_spec.rb +2 -2
- data/spec/poolparty/net/remote_bases/ec2_spec.rb +5 -2
- data/spec/poolparty/net/remote_instance_spec.rb +5 -0
- data/spec/poolparty/net/remote_spec.rb +24 -31
- data/spec/poolparty/net/remoter_base_spec.rb +11 -6
- data/spec/poolparty/net/remoter_spec.rb +55 -27
- data/spec/poolparty/plugins/deploydirectory_spec.rb +1 -0
- data/spec/poolparty/plugins/git_spec.rb +45 -0
- data/spec/poolparty/{pool → poolparty}/cloud_spec.rb +41 -0
- data/spec/poolparty/{pool → poolparty}/plugin_spec.rb +1 -1
- data/spec/poolparty/{pool → poolparty}/pool_spec.rb +1 -1
- data/spec/poolparty/{pool → poolparty}/resource_spec.rb +15 -2
- data/spec/poolparty/poolparty/resources/user_spec.rb +38 -0
- data/spec/poolparty/poolparty/test_plugins/virtual_host_template.erb +0 -0
- data/spec/poolparty/poolparty_spec.rb +1 -1
- data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +27 -0
- data/spec/poolparty/provisioners/provisioner_base_spec.rb +120 -0
- data/spec/poolparty/spec/core/string_spec.rb +57 -0
- data/spec/poolparty/spec_helper.rb +48 -6
- data/tasks/deployment.rake +3 -5
- data/tasks/spec.rake +2 -3
- data/website/index.html +2 -2
- metadata +150 -148
- data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +0 -53
- data/lib/erlang/messenger/lib/eunit/.svn/entries +0 -140
- data/lib/erlang/messenger/lib/eunit/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +0 -2
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +0 -14
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +0 -504
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +0 -276
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +0 -3
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +0 -9
- data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +0 -59
- data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +0 -142
- data/lib/erlang/messenger/lib/eunit/doc/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +0 -3
- 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 +0 -172
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +0 -17
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +0 -12
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +0 -984
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +0 -980
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +0 -11
- data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +0 -55
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +0 -5
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +0 -8
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +0 -28
- data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +0 -23
- data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +0 -66
- data/lib/erlang/messenger/lib/eunit/examples/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +0 -339
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +0 -19
- data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +0 -11
- data/lib/erlang/messenger/lib/eunit/include/.svn/entries +0 -41
- data/lib/erlang/messenger/lib/eunit/include/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +0 -313
- data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +0 -113
- data/lib/erlang/messenger/lib/eunit/src/.svn/entries +0 -259
- data/lib/erlang/messenger/lib/eunit/src/.svn/format +0 -1
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +0 -5
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +0 -388
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +0 -243
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +0 -21
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +0 -1
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +0 -196
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +0 -102
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +0 -798
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +0 -48
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +0 -682
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +0 -552
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +0 -157
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +0 -340
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +0 -64
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +0 -334
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +0 -45
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +0 -272
- data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +0 -409
- data/lib/erlang/messenger/src/pm_client_old.erl +0 -52
- data/lib/poolparty/helpers/provisioner_base.rb +0 -346
- data/lib/poolparty/helpers/provisioners/master.rb +0 -205
- data/lib/poolparty/helpers/provisioners/slave.rb +0 -64
- data/spec/poolparty/helpers/provisioner_base_spec.rb +0 -134
- data/spec/poolparty/helpers/provisioners/master_spec.rb +0 -54
- data/spec/poolparty/helpers/provisioners/slave_spec.rb +0 -28
- /data/lib/poolparty/{pool → poolparty}/custom_resource.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/loggable.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/plugin.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/conditional.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/cron.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/custom_service.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/gem_package.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/host.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/mount.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/service.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/symlink.rb +0 -0
- /data/lib/poolparty/{pool → poolparty}/resources/variable.rb +0 -0
- /data/log/{pool.logs → pool.log} +0 -0
- /data/spec/poolparty/{pool/test_plugins/virtual_host_template.erb → net/log/pool.log} +0 -0
- /data/spec/poolparty/{pool → poolparty}/base_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/configurers/files/ruby_basic.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/configurers/files/ruby_plugins.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/configurers/ruby_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/custom_resource_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/example_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/plugin_model_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/class_package_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/conditional_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/cron_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/directory_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/exec_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/file_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/gem_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/host_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/package_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/remote_file_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/service_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/sshkey_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/symlink_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/resources/variable_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/script_spec.rb +0 -0
- /data/spec/poolparty/{pool → poolparty}/test_plugins/sshkey_test +0 -0
- /data/spec/poolparty/{pool → poolparty}/test_plugins/webserver.rb +0 -0
|
@@ -10,11 +10,8 @@ module PoolParty
|
|
|
10
10
|
# Execs cannot have the following parameters
|
|
11
11
|
# We use version in the gempackage resource
|
|
12
12
|
# So we have to exclude it here.
|
|
13
|
-
def
|
|
14
|
-
[
|
|
15
|
-
:command, :creates, :cwd, :env, :environment, :group, :logoutput, :user,
|
|
16
|
-
:onlyif, :path, :refresh, :refreshonly, :returns, :timeout, :unless
|
|
17
|
-
]
|
|
13
|
+
def disallowed_options
|
|
14
|
+
[:ensure, :name]
|
|
18
15
|
end
|
|
19
16
|
|
|
20
17
|
def key
|
|
@@ -5,12 +5,12 @@ module PoolParty
|
|
|
5
5
|
|
|
6
6
|
default_options({
|
|
7
7
|
:ensure => "file",
|
|
8
|
-
:mode => 644
|
|
9
|
-
:owner => "#{Base.user}"
|
|
8
|
+
:mode => 644
|
|
9
|
+
# :owner => "#{Base.user}"
|
|
10
10
|
})
|
|
11
11
|
|
|
12
12
|
def disallowed_options
|
|
13
|
-
[:name, :template]
|
|
13
|
+
[:name, :template, :cwd]
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def source(arg=nil)
|
|
@@ -4,13 +4,17 @@ module PoolParty
|
|
|
4
4
|
class Sshkey < Resource
|
|
5
5
|
|
|
6
6
|
default_options({
|
|
7
|
-
:command => nil,
|
|
8
7
|
# :key => "ALONGSTRINGOFDIGITS",
|
|
9
8
|
:target => "~/.ssh/poolparty_id_rsa"
|
|
10
9
|
})
|
|
11
10
|
|
|
12
11
|
def keyfile=(file)
|
|
13
12
|
keyfile open(file).read
|
|
13
|
+
options[:key] = keyfile
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def key
|
|
17
|
+
name
|
|
14
18
|
end
|
|
15
19
|
|
|
16
20
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
require "poolparty/capistrano"
|
|
2
|
+
|
|
3
|
+
module PoolParty
|
|
4
|
+
module Provisioner
|
|
5
|
+
class Capistrano < ProvisionerBase
|
|
6
|
+
|
|
7
|
+
include PoolParty::Capistrano
|
|
8
|
+
include ::Capistrano::Configuration::Actions::Invocation
|
|
9
|
+
|
|
10
|
+
def process_install!(testing=false)
|
|
11
|
+
unless testing
|
|
12
|
+
@cloud.rsync_storage_files_to(@instance)
|
|
13
|
+
roles = provision_master? ? [:master] : [:slaves]
|
|
14
|
+
run_capistrano(roles,:install)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
def process_configure!(testing=false)
|
|
18
|
+
unless testing
|
|
19
|
+
@cloud.rsync_storage_files_to(@instance)
|
|
20
|
+
roles = provision_master? ? [:master] : [:slaves]
|
|
21
|
+
run_capistrano(roles, :configure)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def install_tasks
|
|
26
|
+
provision_master? ? master_install_tasks : slave_install_tasks
|
|
27
|
+
end
|
|
28
|
+
def configure_tasks
|
|
29
|
+
provision_master? ? master_configure_tasks : slave_configure_tasks
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def master_install_tasks
|
|
33
|
+
[
|
|
34
|
+
"master:provision_master"
|
|
35
|
+
].push([custom_install_tasks, master_configure_tasks]).flatten#.map {|a| a.to_sym }
|
|
36
|
+
end
|
|
37
|
+
def master_configure_tasks
|
|
38
|
+
[
|
|
39
|
+
"master:create_local_node_entry_for_puppet", "master:move_template_files", "master:setup_poolparty_base_structure",
|
|
40
|
+
"master:move_provisioner_manifest", "run_provisioner"
|
|
41
|
+
].push(custom_configure_tasks).flatten#.map {|a| a.to_sym }
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def slave_install_tasks
|
|
45
|
+
[
|
|
46
|
+
"slave:add_master_to_hosts_file", "slave:add_provisioner_configs", "setup_provisioner_config",
|
|
47
|
+
"create_puppetrunner_command", "create_puppetrerun_command", "install_rubygems",
|
|
48
|
+
"install_provisioner", "slave:stop_provisioner_daemon"
|
|
49
|
+
].push([custom_install_tasks, slave_configure_tasks]).flatten#.map {|a| a.to_sym }
|
|
50
|
+
end
|
|
51
|
+
def slave_configure_tasks
|
|
52
|
+
[
|
|
53
|
+
"run_provisioner"
|
|
54
|
+
].push(custom_configure_tasks).flatten#.map {|a| a.to_sym }
|
|
55
|
+
end
|
|
56
|
+
# Run tasks after the initialized
|
|
57
|
+
def loaded
|
|
58
|
+
create_config
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Create the config for capistrano
|
|
62
|
+
# This is a dynamic capistrano configuration file
|
|
63
|
+
def create_config
|
|
64
|
+
@config = ::Capistrano::Configuration.new
|
|
65
|
+
if @cloud.debug || @cloud.verbose
|
|
66
|
+
@config.logger.level = @cloud.debug ? ::Capistrano::Logger::MAX_LEVEL : ::Capistrano::Logger::INFO
|
|
67
|
+
else
|
|
68
|
+
@config.logger.level = ::Capistrano::Logger::IMPORTANT
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
capfile = returning Array.new do |arr|
|
|
72
|
+
Dir["#{::File.dirname(__FILE__)}/recipies/*.rb"].each {|a| arr << "require '#{a}'" }
|
|
73
|
+
arr << "ssh_options[:keys] = '#{@cloud.full_keypair_basename_path}'"
|
|
74
|
+
|
|
75
|
+
arr << set_poolparty_roles
|
|
76
|
+
end.join("\n")
|
|
77
|
+
|
|
78
|
+
@config.provisioner = self
|
|
79
|
+
@config.cloud = @cloud
|
|
80
|
+
|
|
81
|
+
@config.load(:string => capfile)
|
|
82
|
+
|
|
83
|
+
@cloud.deploy_file ? @config.load(@cloud.deploy_file) : @config.set(:user, @cloud.user)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# Prerun
|
|
87
|
+
def prerun_setup
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def run_capistrano(roles=[:master], meth=:install)
|
|
91
|
+
prerun_setup
|
|
92
|
+
|
|
93
|
+
commands = meth == :install ? install_tasks : configure_tasks
|
|
94
|
+
name = "provisioner_#{meth}"
|
|
95
|
+
|
|
96
|
+
__define_task(name, roles) do
|
|
97
|
+
commands.map {|command|
|
|
98
|
+
task = find_task(command)
|
|
99
|
+
task.options.merge!(:roles => roles)
|
|
100
|
+
execute_task task
|
|
101
|
+
}
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
begin
|
|
105
|
+
__run(name)
|
|
106
|
+
return true
|
|
107
|
+
rescue ::Capistrano::CommandError => e
|
|
108
|
+
return false unless verbose
|
|
109
|
+
raise ProvisionerException.new("Error: #{e}")
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def __define_task(name, roles, &block)
|
|
114
|
+
@config.task __task_sym(name), :roles => roles, &block
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def __run(task)
|
|
118
|
+
@config.send __task_sym(task)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def __task_sym(name)
|
|
122
|
+
"#{name.to_s.downcase.underscore}".to_sym
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
=begin rdoc
|
|
2
|
+
This overwriting of the Capistrano method missing allows our capistrano
|
|
3
|
+
tasks to have access to the methods on the provisioner and options
|
|
4
|
+
set on the clouds. This saves us the responsibility of setting variables
|
|
5
|
+
in the dynamic cap file.
|
|
6
|
+
=end
|
|
7
|
+
#TODO# Clean up
|
|
8
|
+
module Capistrano
|
|
9
|
+
class Configuration
|
|
10
|
+
attr_accessor :cloud, :provisioner
|
|
11
|
+
|
|
12
|
+
def method_missing_without_variables(sym, *args, &block)
|
|
13
|
+
if parent.respond_to?(sym)
|
|
14
|
+
parent.send(sym, *args, &block)
|
|
15
|
+
elsif provisioner.respond_to?(sym)
|
|
16
|
+
provisioner.send(sym, *args, &block)
|
|
17
|
+
elsif cloud.respond_to?(sym)
|
|
18
|
+
cloud.send(sym, *args, &block)
|
|
19
|
+
elsif PoolParty::Base.options.has_key?(sym)
|
|
20
|
+
PoolParty::Base.options[sym]
|
|
21
|
+
elsif PoolParty::Base.respond_to?(sym)
|
|
22
|
+
PoolParty::Base.send(sym, *args, &block)
|
|
23
|
+
else
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
module Namespaces
|
|
30
|
+
class Namespace
|
|
31
|
+
|
|
32
|
+
def provisioner
|
|
33
|
+
parent.provisioner
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def cloud
|
|
37
|
+
parent.cloud
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def method_missing(sym, *args, &block)
|
|
41
|
+
if parent.respond_to?(sym)
|
|
42
|
+
parent.send(sym, *args, &block)
|
|
43
|
+
elsif provisioner.respond_to?(sym)
|
|
44
|
+
provisioner.send(sym, *args, &block)
|
|
45
|
+
elsif cloud.respond_to?(sym)
|
|
46
|
+
cloud.send(sym, *args, &block)
|
|
47
|
+
elsif PoolParty::Base.options.has_key?(sym)
|
|
48
|
+
PoolParty::Base.options[sym]
|
|
49
|
+
elsif PoolParty::Base.respond_to?(sym)
|
|
50
|
+
PoolParty::Base.send(sym, *args, &block)
|
|
51
|
+
else
|
|
52
|
+
super
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
=begin rdoc
|
|
2
|
+
Base provisioner capistrano tasks
|
|
3
|
+
=end
|
|
4
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
|
5
|
+
# namespace(:base) do
|
|
6
|
+
desc "Install rubygems"
|
|
7
|
+
task :install_rubygems do
|
|
8
|
+
run "#{installer_for} ruby rubygems"
|
|
9
|
+
end
|
|
10
|
+
dec "Setup for poolparty"
|
|
11
|
+
task :setup_for_poolparty do
|
|
12
|
+
run "mkdir -p /etc/poolparty"
|
|
13
|
+
end
|
|
14
|
+
desc "Install provisioner"
|
|
15
|
+
task :install_provisioner do
|
|
16
|
+
run "#{installer_for} #{puppet_packages}"
|
|
17
|
+
end
|
|
18
|
+
desc "Create poolparty commands"
|
|
19
|
+
task :create_poolparty_commands do
|
|
20
|
+
end
|
|
21
|
+
desc "Create poolparty runner command"
|
|
22
|
+
task :create_puppetrunner_command do
|
|
23
|
+
run <<-EOR
|
|
24
|
+
cp #{remote_storage_path}/templates/puppetrunner /usr/bin/puppetrunner &&
|
|
25
|
+
chmod +x /usr/bin/puppetrunner
|
|
26
|
+
EOR
|
|
27
|
+
end
|
|
28
|
+
desc "Create poolparty rerun command"
|
|
29
|
+
task :create_puppetrerun_command do
|
|
30
|
+
run <<-EOR
|
|
31
|
+
cp #{remote_storage_path}/templates/puppetrerun /usr/bin/puppetrerun &&
|
|
32
|
+
chmod +x /usr/bin/puppetrerun
|
|
33
|
+
EOR
|
|
34
|
+
end
|
|
35
|
+
desc "Add the proper configs for provisioner"
|
|
36
|
+
task :add_provisioner_configs do
|
|
37
|
+
run "cp #{remote_storage_path}/namespaceauth.conf /etc/puppet/namespaceauth.conf"
|
|
38
|
+
end
|
|
39
|
+
desc "Setup config file for provisioner"
|
|
40
|
+
task :setup_provisioner_config do
|
|
41
|
+
run "mv #{remote_storage_path}/puppet.conf /etc/puppet/puppet.conf"
|
|
42
|
+
end
|
|
43
|
+
desc "Run the provisioner"
|
|
44
|
+
task :run_provisioner do
|
|
45
|
+
run "/usr/sbin/puppetd --onetime --daemonize --logdest syslog --server master"
|
|
46
|
+
end
|
|
47
|
+
desc "Rerun the provisioner"
|
|
48
|
+
task :rerun_provisioner do
|
|
49
|
+
run "/usr/bin/puppetrerun"
|
|
50
|
+
end
|
|
51
|
+
desc "Remove the certs"
|
|
52
|
+
task :remove_certs do
|
|
53
|
+
run "rm -rf /etc/puppet/ssl"
|
|
54
|
+
end
|
|
55
|
+
desc "Update rubygems"
|
|
56
|
+
task :update_rubygems do
|
|
57
|
+
run "/usr/bin/gem update --system 2>1 > /dev/null && /usr/bin/gem update --system"
|
|
58
|
+
end
|
|
59
|
+
desc "Fix rubygems"
|
|
60
|
+
task :fix_rubygems do
|
|
61
|
+
# echo '#{open(::File.join(template_directory, "gem")).read}' > /usr/bin/gem &&
|
|
62
|
+
run <<-EOR
|
|
63
|
+
/usr/bin/gem update --system 2>&1 > /dev/null;/usr/bin/gem update --system &&
|
|
64
|
+
cp -f #{remote_storage_path}/gem /usr/bin/gem
|
|
65
|
+
EOR
|
|
66
|
+
end
|
|
67
|
+
desc "Upgrade system"
|
|
68
|
+
task :upgrade_system do
|
|
69
|
+
str = case os
|
|
70
|
+
when :ubuntu
|
|
71
|
+
"
|
|
72
|
+
echo 'deb http://mirrors.kernel.org/ubuntu hardy main universe' >> /etc/apt/sources.list &&
|
|
73
|
+
aptitude update -y
|
|
74
|
+
"
|
|
75
|
+
else
|
|
76
|
+
"echo 'No system upgrade needed'"
|
|
77
|
+
end
|
|
78
|
+
run str
|
|
79
|
+
end
|
|
80
|
+
desc "Upgrade rubygems"
|
|
81
|
+
task :upgrade_rubygems do
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
desc "Make log directory"
|
|
85
|
+
task :make_log_directory do
|
|
86
|
+
run "mkdir -p /var/log/poolparty"
|
|
87
|
+
end
|
|
88
|
+
desc "Create ssl storage directories for poolparty"
|
|
89
|
+
task :create_poolparty_ssl_store do
|
|
90
|
+
run <<-EOR
|
|
91
|
+
mkdir -p #{poolparty_config_directory}/ssl/private_keys &&
|
|
92
|
+
mkdir -p #{poolparty_config_directory}/ssl/certs &&
|
|
93
|
+
mkdir -p #{poolparty_config_directory}/ssl/public_keys
|
|
94
|
+
EOR
|
|
95
|
+
end
|
|
96
|
+
desc "Add erlang cookie"
|
|
97
|
+
task :write_erlang_cookie do
|
|
98
|
+
run <<-EOR
|
|
99
|
+
mv #{remote_storage_path}/cookie ~/.erlang.cookie &&
|
|
100
|
+
chmod 400 ~/.erlang.cookie
|
|
101
|
+
EOR
|
|
102
|
+
end
|
|
103
|
+
# end
|
|
104
|
+
end
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Cloud tasks
|
|
2
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
|
3
|
+
namespace(:master) do
|
|
4
|
+
desc "Provision master"
|
|
5
|
+
task :provision_master do
|
|
6
|
+
upgrade_system
|
|
7
|
+
set_hostname_to_master
|
|
8
|
+
create_local_hosts_entry
|
|
9
|
+
setup_for_poolparty
|
|
10
|
+
install_provisioner
|
|
11
|
+
start_provisioner_base
|
|
12
|
+
setup_basic_poolparty_structure
|
|
13
|
+
setup_provisioner_filestore
|
|
14
|
+
setup_provisioner_autosigning
|
|
15
|
+
install_rubygems
|
|
16
|
+
fix_rubygems
|
|
17
|
+
add_provisioner_configs
|
|
18
|
+
setup_provisioner_config
|
|
19
|
+
create_puppetrunner_command
|
|
20
|
+
create_puppetrerun_command
|
|
21
|
+
download_base_gems
|
|
22
|
+
install_base_gems
|
|
23
|
+
write_erlang_cookie
|
|
24
|
+
end
|
|
25
|
+
desc "Configure master"
|
|
26
|
+
task :configure_master do
|
|
27
|
+
master:move_provisioner_manifest
|
|
28
|
+
master:move_template_files
|
|
29
|
+
master:setup_poolparty_base_structure
|
|
30
|
+
run_provisioner
|
|
31
|
+
end
|
|
32
|
+
desc "Set hostname to master"
|
|
33
|
+
task :set_hostname_to_master do
|
|
34
|
+
run "hostname master"
|
|
35
|
+
end
|
|
36
|
+
desc "Add host entry into the master instance"
|
|
37
|
+
task :create_local_hosts_entry do
|
|
38
|
+
run "if [ -z \"$(grep -v '#' /etc/hosts | grep 'puppet')\" ]; then echo '#{cloud.master.ip} master puppet localhost' >> /etc/hosts; fi"
|
|
39
|
+
end
|
|
40
|
+
desc "Setup basic poolparty structure"
|
|
41
|
+
task :setup_basic_poolparty_structure do
|
|
42
|
+
run <<-EOR
|
|
43
|
+
echo "Creating basic structure for poolparty" &&
|
|
44
|
+
mkdir -p /etc/puppet/manifests/nodes &&
|
|
45
|
+
mkdir -p /etc/puppet/manifests/classes &&
|
|
46
|
+
echo "import 'nodes/*.pp'" > /etc/puppet/manifests/site.pp &&
|
|
47
|
+
echo "import 'classes/*.pp'" >> /etc/puppet/manifests/site.pp
|
|
48
|
+
EOR
|
|
49
|
+
end
|
|
50
|
+
desc "Setup shareable file system for provisioner"
|
|
51
|
+
task :setup_provisioner_filestore do
|
|
52
|
+
run <<-EOR
|
|
53
|
+
echo '[files]' > /etc/puppet/fileserver.conf &&
|
|
54
|
+
echo ' path #{remote_storage_path}' >> /etc/puppet/fileserver.conf &&
|
|
55
|
+
echo ' allow *' >> /etc/puppet/fileserver.conf &&
|
|
56
|
+
mkdir -p /var/poolparty/facts &&
|
|
57
|
+
mkdir -p /var/poolparty/files &&
|
|
58
|
+
mkdir -p #{base_config_directory}
|
|
59
|
+
EOR
|
|
60
|
+
end
|
|
61
|
+
desc "Setup autosigning for provisioner"
|
|
62
|
+
task :setup_provisioner_autosigning do
|
|
63
|
+
run "echo \"*\" > /etc/puppet/autosign.conf"
|
|
64
|
+
end
|
|
65
|
+
desc "Setup poolparty structure"
|
|
66
|
+
task :setup_poolparty_base_structure do
|
|
67
|
+
run <<-EOR
|
|
68
|
+
cp #{remote_storage_path}/#{key_file_locations.first} "#{base_config_directory}/.ppkeys" &&
|
|
69
|
+
mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}/
|
|
70
|
+
EOR
|
|
71
|
+
end
|
|
72
|
+
desc "Download base gems"
|
|
73
|
+
task :download_base_gems do
|
|
74
|
+
run download_base_gems_string
|
|
75
|
+
end
|
|
76
|
+
desc "Install base gems"
|
|
77
|
+
task :install_base_gems do
|
|
78
|
+
run(returning(Array.new) do |arr|
|
|
79
|
+
base_gems.each do |name, url|
|
|
80
|
+
arr << "/usr/bin/gem install --ignore-dependencies --no-ri --no-rdoc #{Base.remote_storage_path}/#{name}.gem"
|
|
81
|
+
end
|
|
82
|
+
end.join(" && "))
|
|
83
|
+
end
|
|
84
|
+
desc "Start provisioner base"
|
|
85
|
+
task :start_provisioner_base do
|
|
86
|
+
run "/etc/init.d/puppetmaster start"
|
|
87
|
+
end
|
|
88
|
+
desc "Restart provisioner base"
|
|
89
|
+
task :restart_provisioner_base do
|
|
90
|
+
run "/etc/init.d/puppetmaster stop;rm -rf /etc/poolparty/ssl;puppetmasterd --verbose;/etc/init.d/puppetmaster start"
|
|
91
|
+
end
|
|
92
|
+
desc "Create local node for puppet manifest"
|
|
93
|
+
task :create_local_node_entry_for_puppet do
|
|
94
|
+
# run ". /etc/profile && server-write-new-nodes"
|
|
95
|
+
str = returning Array.new do |arr|
|
|
96
|
+
arr << "node default { include poolparty }"
|
|
97
|
+
list_of_running_instances.each do |ri|
|
|
98
|
+
arr << "node \"#{ri.name}\" inherits default {}\n"
|
|
99
|
+
end
|
|
100
|
+
end.join("\n")
|
|
101
|
+
run "echo #{str} > #{manifest_path}/nodes/nodes.pp"
|
|
102
|
+
end
|
|
103
|
+
desc "Move template files into place"
|
|
104
|
+
task :move_template_files do
|
|
105
|
+
run <<-EOR
|
|
106
|
+
mkdir -p #{template_path} &&
|
|
107
|
+
cp -R #{remote_storage_path}/templates/* #{template_path}
|
|
108
|
+
EOR
|
|
109
|
+
end
|
|
110
|
+
desc "Move manifest into place"
|
|
111
|
+
task :move_provisioner_manifest do
|
|
112
|
+
run <<-EOR
|
|
113
|
+
cp #{remote_storage_path}/poolparty.pp /etc/puppet/manifests/classes/poolparty.pp
|
|
114
|
+
EOR
|
|
115
|
+
end
|
|
116
|
+
desc "Move poolparty keys"
|
|
117
|
+
task :move_poolparty_keys do
|
|
118
|
+
run "cp #{remote_storage_path}/#{@full_keypair_name} #{@remote_keypair_path}"
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
|
2
|
+
namespace(:slave) do
|
|
3
|
+
desc "Add master ip to hosts file"
|
|
4
|
+
task :add_master_to_hosts_file do
|
|
5
|
+
run "if [ -z \"$(grep -v '#' /etc/hosts | grep 'master')\" ]; then echo '#{master_ip} puppet master' >> /etc/hosts; else echo 'host already set'; fi"
|
|
6
|
+
end
|
|
7
|
+
desc "Stop provisioner daemon"
|
|
8
|
+
task :stop_provisioner_daemon do
|
|
9
|
+
run "/etc/init.d/puppetmaster stop"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|