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"