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