0
@@ -241,28 +241,20 @@ module Capsize
0
response = amazon.run_instances(options)
0
instance_id = response.instancesSet.item[0].instanceId
0
- puts "Instance #{instance_id} startup in progress..."
0
- # loop checking for instance pending notification
0
- instance = amazon.describe_instances(:instance_id => instance_id)
0
- raise "Waiting." unless response.instancesSet.item[0].instanceState.name == "pending"
0
- puts "Instance #{instance_id} entered state 'pending'"
0
- retry unless tries == 35
0
- raise "Instance #{instance_id} never moved to state 'pending'!"
0
+ puts "Instance #{instance_id} startup in progress"
0
+ #set scope outside of block
0
#loop checking for confirmation that instance is running
0
instance = amazon.describe_instances(:instance_id => instance_id)
0
raise "Server Not Running" unless instance.reservationSet.item[0].instancesSet.item[0].instanceState.name == "running"
0
puts "Instance #{instance_id} entered state 'running'"
0
retry unless tries == 35
0
@@ -280,21 +272,44 @@ module Capsize
0
raise "SSH timed out..."
0
puts "SSH is up! Grabbing the public key..."
0
- if system "scp -
i #{get_key_file} root@#{hostname_from_instance_id(instance_id)}:/mnt/openssh_id.pub #{get_key_file}.pub"
0
+ if system "scp -
o StrictHostKeyChecking=no -i #{get_key_file} root@#{hostname_from_instance_id(instance_id)}:/mnt/openssh_id.pub #{get_key_file}.pub"
0
puts "Public key saved at #{get_key_file}.pub"
0
puts "Error grabbing public key"
0
retry unless tries == 35
0
puts "We couldn't ever SSH in!"
0
+ if File.exists?(fetch(:capsize_config_dir)+"/scripts")
0
+ instance = amazon.describe_instances(:instance_id => instance_id)
0
+ instance.reservationSet.item.first.groupSet.item.map { |g| g.groupId }.sort.each do |group|
0
+ script_path = fetch(:capsize_config_dir)+"/scripts/#{group}"
0
+ if File.exists?(script_path)
0
+ puts "Found script for security group #{group}, running"
0
+ system("scp -o StrictHostKeyChecking=no -i #{get_key_file} #{script_path} root@#{hostname_from_instance_id(instance_id)}:/tmp/") or raise "SCP ERROR"
0
+ system("ssh -o StrictHostKeyChecking=no -i #{get_key_file} root@#{hostname_from_instance_id(instance_id)} chmod o+x /tmp/#{group}") or raise "Error changing script permissions"
0
+ system("ssh -o StrictHostKeyChecking=no -i #{get_key_file} root@#{hostname_from_instance_id(instance_id)} /tmp/#{group}") or raise "Error running script"
0
@@ -389,6 +404,14 @@ module Capsize
0
set :to_port, options[:from_port] if options[:to_port].nil? || options[:to_port].empty?
0
options[:to_port] = to_port if options[:to_port].nil? || options[:to_port].empty?
0
+ #if source_security_group_name and source_security_group_owner_id are specified, unset the incompatible options
0
+ if !options[:source_security_group_name].nil? && !options[:source_security_group_owner_id].nil?
0
+ options.delete(:ip_protocol)
0
+ options.delete(:from_port)
0
+ options.delete(:to_port)
0
+ options.delete(:cidr_ip)
0
amazon.authorize_security_group_ingress(options)
0
@@ -422,6 +445,14 @@ module Capsize
0
set :to_port, options[:from_port] if options[:to_port].nil? || options[:to_port].empty?
0
options[:to_port] = to_port if options[:to_port].nil? || options[:to_port].empty?
0
+ #if source_security_group_name and source_security_group_owner_id are specified, unset the incompatible options
0
+ if !options[:source_security_group_name].nil? && !options[:source_security_group_owner_id].nil?
0
+ options.delete(:ip_protocol)
0
+ options.delete(:from_port)
0
+ options.delete(:to_port)
0
+ options.delete(:cidr_ip)
0
amazon.revoke_security_group_ingress(options)
Comments
No one has commented yet.