Sha256: 8543ccbd52e2bbba127a5e220dff2637d8f4c4adf73f447b201470289821c8b2
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
#!/usr/bin/env ruby $:.unshift(File.join(File.dirname(__FILE__), "..", "lib")) require "poolparty" require "poolparty/lite" o = PoolParty::Optioner.new(ARGV) do |opts, optioner| opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c } opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i } end vote_for = o.unflagged_args.shift || "none" schema = ::PoolParty.load_cloud_from_json(o.unflagged_args.shift) #TODO: smarter option parser remote_base = PoolParty::Remote.module_eval( schema.options.remoter_base.camelcase ) o.loaded_clouds.each do |cld| cld.update_from_schema(schema) case vote_for when "expand" puts "Launching new instance" `rm /etc/poolparty/neighborhood.json` cld.send :launch_instance!, schema.options.merge(:cloud_name => cld.name) do |node| dputs "Started node at #{node[:ip]}" ::PoolParty::Provision::BootStrapper.new( node[:ip], :cloud => cld ) ::PoolParty::Provision::DrConfigure.new( node[:ip], :cloud => cld ) end when "contract" `rm /etc/poolparty/neighborhood.json` last_instance_id = %x[server-list-active instance_id].split("\t").last remote_base.terminate_instance! schema.options.merge(:instance_id => last_instance_id) else puts "Unknown action: #{vote_for}" remote_base.describe_instances end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
auser-poolparty-1.2.7 | bin/server-cloud-elections |