lib/judo/server.rb in judo-0.5.0 vs lib/judo/server.rb in judo-0.5.1

- old
+ new

@@ -16,11 +16,11 @@ virgin = !(options[:virgin] == false) snapshots = options[:snapshots] metadata = options[:metadata] ip = options[:elastic_ip] clone = options[:clone] - instance_type = options[:instance_type] + instance_type = options[:instance_type] || 'm1.small' version = options[:version] || group.version task("Creating server #{name}") do update("name" => name, "group" => group_name, "virgin" => virgin, "elastic_ip" => ip, @@ -200,11 +200,11 @@ end def clone_snapshots(snapshots) snapshots.each do |device,snap_id| task("Creating EC2 Volume #{device} from #{snap_id}") do - volume_id = @base.ec2.create_volume(snap_id, nil, config["availability_zone"])[:aws_id] + volume_id = @base.ec2.create_volume(snap_id, nil, ec2_availability_zone)[:aws_id] add_volume(volume_id, device) end end end @@ -214,11 +214,11 @@ device = volume_config["device"] if volume_config["media"] == "ebs" size = volume_config["size"] if not volumes[device] task("Creating EC2 Volume #{device} #{size}") do - volume_id = @base.ec2.create_volume(nil, size, config["availability_zone"])[:aws_id] + volume_id = @base.ec2.create_volume(nil, size, ec2_availability_zone)[:aws_id] add_volume(volume_id, device) end else puts "Volume #{device} already exists." end @@ -285,16 +285,20 @@ task("Deleting Elastic Ip") { remove_ip } if has_ip? volumes.each { |dev,v| remove_volume(v,dev) } task("Destroying server #{name}") { delete } end + def ec2_instance + @base.ec2_instances.detect { |e| e[:aws_instance_id] == instance_id } or {} + end + def ec2_state ec2_instance[:aws_state] end - def ec2_instance - @base.ec2_instances.detect { |e| e[:aws_instance_id] == instance_id } or {} + def ec2_availability_zone + ec2_instance[:aws_availability_zone] end def running? ## other options are "terminated" and "nil" ["pending", "running", "shutting_down", "degraded"].include?(ec2_state) @@ -497,10 +501,10 @@ end def ssh_command(cmd) wait_for_ssh @base.keypair_file do |file| - system "ssh -q -i #{file} #{config["user"]}@#{hostname} '#{cmd}'" + Util.system_confirmed "ssh -q -i #{file} #{config["user"]}@#{hostname} '#{cmd}'" end end def connect_ssh wait_for_ssh