peterknife / boto

Automatically exported from code.google.com/p/boto
0 stars 0 forks source link

"launch_instance" script often dies with "InvalidInstanceID.NotFound" #584

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run the command:

launch_instance -c 1 --cloud-init -g default -a ami-e9d34580 -k mykey \
    -z us-east-1e -s cloud-init empty.cfg

What is the expected output? What do you see instead?

I expected an EC2 instance to launch and be set up. Instead, I often get an 
exception and traceback:

Traceback (most recent call last):
  File ".../bin/launch_instance", line 236, in <module>
    instance.add_tag(name, value)
  File ".../local/lib/python2.7/site-packages/boto/ec2/ec2object.py", line 79, in add_tag
    status = self.connection.create_tags([self.id], {key : value})
  File ".../local/lib/python2.7/site-packages/boto/ec2/connection.py", line 3261, in create_tags
    return self.get_status('CreateTags', params, verb='POST')
  File ".../local/lib/python2.7/site-packages/boto/connection.py", line 1081, in get_status
    raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>InvalidInstanceID.NotFound</Code><Message>The 
instance ID 'i-7a069209' does not 
exist</Message></Error></Errors><RequestID>defc2b61-ec8a-4fbf-834e-88605cc6f443<
/RequestID></Response>

What version of the product are you using? On what operating system?

boto 2.8.0 on Ubuntu 12.10

Please provide any additional information below.

It appears that "launch_instance" runs the instance-creation command, and then 
a moment later — before EC2 has a chance to register that the instance is up 
— hits EC2 with a request for information about the instance, and fails to 
account for the fact that its request might arrive too early and need to be 
re-tried until the instance finishes being registered so that API calls against 
it can succeed.

Original issue reported on code.google.com by brandon....@gmail.com on 26 Feb 2013 at 5:58