lib/rubber/cloud/aws.rb in axtro-rubber-1.2.3 vs lib/rubber/cloud/aws.rb in axtro-rubber-1.5.7
- old
+ new
@@ -13,14 +13,12 @@
@ec2 = AWS::EC2::Base.new(:access_key_id => @aws_env.access_key, :secret_access_key => @aws_env.secret_access_key)
@ec2elb = AWS::ELB::Base.new(:access_key_id => @aws_env.access_key, :secret_access_key => @aws_env.secret_access_key)
AWS::S3::Base.establish_connection!(:access_key_id => @aws_env.access_key, :secret_access_key => @aws_env.secret_access_key)
end
- def create_instance(ami, ami_type, security_groups, availability_zone, user_data = nil)
- instance_options = {:image_id => ami, :key_name => @aws_env.key_name, :instance_type => ami_type, :security_group => security_groups, :availability_zone => availability_zone}
- instance_options[:user_data] = Base64.encode64(user_data) if user_data
- response = @ec2.run_instances(instance_options)
+ def create_instance(ami, ami_type, security_groups, availability_zone)
+ response = @ec2.run_instances(:image_id => ami, :key_name => @aws_env.key_name, :instance_type => ami_type, :security_group => security_groups, :availability_zone => availability_zone)
instance_id = response.instancesSet.item[0].instanceId
return instance_id
end
def create_spot_instance_request(spot_price, ami, ami_type, security_groups, availability_zone)
@@ -225,25 +223,29 @@
capistrano.put(File.read(ec2_key), ec2_key_dest)
capistrano.put(File.read(ec2_pk), ec2_pk_dest)
capistrano.put(File.read(ec2_cert), ec2_cert_dest)
- arch = capistrano.capture "uname -m"
+ arch = capistrano.capture("uname -m").strip
arch = case arch when /i\d86/ then "i386" else arch end
capistrano.sudo_script "create_bundle", <<-CMD
+ rvm use system
export RUBYLIB=/usr/lib/site_ruby/
- nohup ec2-bundle-vol --batch -d /mnt -k #{ec2_pk_dest} -c #{ec2_cert_dest} -u #{@aws_env.account} -p #{image_name} -r #{arch} &> /tmp/ec2-bundle-vol.log &
+ unset RUBYOPT
+ nohup ec2-bundle-vol --batch -d /mnt -k #{ec2_pk_dest} -c #{ec2_cert_dest} -u #{@aws_env.account} -p #{image_name} -r #{arch} &> /tmp/ec2-bundle-vol.log &
echo "Creating image from instance volume..."
while true; do
if ! ps ax | grep -q "[e]c2-bundle-vol"; then exit; fi
echo -n .
sleep 1
done
CMD
capistrano.sudo_script "register_bundle", <<-CMD
+ rvm use system
export RUBYLIB=/usr/lib/site_ruby/
+ unset RUBYOPT
echo "Uploading image to S3..."
ec2-upload-bundle --batch -b #{@aws_env.image_bucket} -m /mnt/#{image_name}.manifest.xml -a #{@aws_env.access_key} -s #{@aws_env.secret_access_key}
CMD
image_location = "#{@aws_env.image_bucket}/#{image_name}.manifest.xml"