When one runs bundle update this new version of aws-sdk will be installed. There's a new namespace, Aws instead of AWS, which breaks cap-ec2. I tried changing just the namespace, but there are deeper changes required to use the v2 of aws-sdk, it's not a simple replace ;)
This is what happens when I run my deploy with the aws-sdk v2:
$ bundle exec cap next deploy --trace
** Invoke next (first_time)
** Execute next
** Invoke load:defaults (first_time)
** Execute load:defaults
cap aborted!
NameError: uninitialized constant CapEC2::EC2Handler::AWS
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/ec2-handler.rb:15:in `ec2_connect'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/ec2-handler.rb:10:in `block in initialize'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/ec2-handler.rb:9:in `each'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/ec2-handler.rb:9:in `initialize'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/capistrano.rb:19:in `new'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/capistrano.rb:19:in `ec2_handler'
/usr/local/rvm/gems/ruby-2.1.2@moi/gems/cap-ec2-0.0.17/lib/cap-ec2/capistrano.rb:23:in `ec2_role'
Amazon updated their SDK Gem: http://ruby.awsblog.com/post/TxFKSK2QJE6RPZ/Upcoming-Stable-Release-of-AWS-SDK-for-Ruby-Version-2.
When one runs
bundle update
this new version ofaws-sdk
will be installed. There's a new namespace,Aws
instead ofAWS
, which breakscap-ec2
. I tried changing just the namespace, but there are deeper changes required to use the v2 ofaws-sdk
, it's not a simple replace ;)This is what happens when I run my deploy with the aws-sdk v2: