lib/routes/main.rb in gaptool-server-0.4.5 vs lib/routes/main.rb in gaptool-server-0.4.6
- old
+ new
@@ -33,13 +33,14 @@
@ec2 = AWS::EC2.new
# create shared secret to reference in /register
@secret = (0...8).map{65.+(rand(26)).chr}.join
data.merge!("secret" => @secret)
sgid = gt_securitygroup(data['role'], data['environment'], data['zone'])
+ image_id = $redis.hget("amis:#{data['role']}", data['zone'].chop) || $redis.hget("amis", data['zone'].chop)
if data['mirror']
instance = @ec2.instances.create(
- :image_id => $redis.hget("amis", data['zone'].chop),
+ :image_id => image_id,
:availability_zone => data['zone'],
:instance_type => data['itype'],
:key_name => "gaptool",
:security_group_ids => sgid,
:user_data => "#!/bin/bash\ncurl --silent -H 'X-GAPTOOL-USER: #{env['HTTP_X_GAPTOOL_USER']}' -H 'X-GAPTOOL-KEY: #{env['HTTP_X_GAPTOOL_KEY']}' #{$redis.hget('config', 'url')}/register -X PUT --data '#{data.to_json}' | bash",
@@ -54,10 +55,10 @@
}
}
)
else
instance = @ec2.instances.create(
- :image_id => $redis.hget("amis", data['zone'].chop),
+ :image_id => image_id,
:availability_zone => data['zone'],
:instance_type => data['itype'],
:key_name => "gaptool",
:security_group_ids => sgid,
:user_data => "#!/bin/bash\ncurl --silent -H 'X-GAPTOOL-USER: #{env['HTTP_X_GAPTOOL_USER']}' -H 'X-GAPTOOL-KEY: #{env['HTTP_X_GAPTOOL_KEY']}' #{$redis.hget('config', 'url')}/register -X PUT --data '#{data.to_json}' | bash"