I see there are two versions of fog installed. Probably the knife-ec2 plugin uses the old plugin. One thing to try is to remove the 1.6.0 fog library and try again.
Alternately you would need to use this patch: http://lists.opscode.com/sympa/arc/chef/2012-02/msg00129.htmlRegards,Chirag JogChief Technology Officer,Clogeny Technologies | http://clogeny.com(M) 0091-9766619440 | Skype: chirag.jog
On Fri, Jan 11, 2013 at 5:46 AM, < " target="_blank"> > wrote:
hiya,
when i try to use knife ec2 to create a node in ec2 us-west-2, i get an
error saying i "have not provided a valid image (AMI) value." but, i in
fact did supply a valid ID with the correct syntax. however, i run the
same kind of command for us-east-1, and it works.
for us-west-2:
[zahadum ~]$ knife ec2 server create -N host01.gruentea.com -E prod_foo -S prod-foo-keypair -Z us-west-2b -f m1.large -I ami-50046666 -g sg-xyz --user-data /path/chef-repo/nodes/node-host01.gruentea.com.json --distro ubuntu-launch
ERROR: You have not provided a valid image (AMI) value. Please note the short option for this value recently changed from '-i' to '-I'.
for us-east-1:
[zahadum ~]$ knife ec2 server create -N host02.gruentea.com -E dev_foo -S dev-foo-keypair -Z us-east-1c -f m1.large -I ami-13027777 -g sg-d7a87777 --user-data /path/chef-repo/nodes/node-host02.gruentea.com.json --distro ubuntu-launch
Instance ID: i-41049e30
Flavor: m1.large
Image: ami-13027777
Region: us-east-1
Availability Zone: us-east-1c
[snip]
i recall a while ago there use to be an issue where fog lacked any
knowledge of us-west-2, but that has since been fixed afaik:
[zahadum fog-1.8.0]$ grep us-west-2 changelog.txt
us-west-2 default ami. thanks Edward Muller
add us-west-2 region. thanks geemus
can anyone help me figure out what's going on? how to debug this further?
thanks so much in advance,
kallen
my deets:
$ which ruby
/home/kallen/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
$ gem list | egrep 'chef|knife|fog'
chef (10.16.2)
fog (1.8.0, 1.6.0)
knife-ec2 (0.6.2)
$ grep AWS ~/.chef/knife.rb
knife[:aws_access_key_id] = "#{ENV['AWS_ACCESS_KEY_ID']}"
knife[:aws_secret_access_key] = "#{ENV['AWS_SECRET_ACCESS_KEY']}"
$ env | egrep 'AWS_(SECRET|ACCESS)'
AWS_SECRET_ACCESS_KEY=kjkSUPER
AWS_ACCESS_KEY_ID=AKIthanksforasking
Archive powered by MHonArc 2.6.16.