Commit 60c69e98 by Peter Sankauskas

Allowing the EC2 inventory script to gracefully handle AWS API issues

parent 109632e3
...@@ -236,6 +236,7 @@ class Ec2Inventory(object): ...@@ -236,6 +236,7 @@ class Ec2Inventory(object):
''' Makes an AWS EC2 API call to the list of instances in a particular ''' Makes an AWS EC2 API call to the list of instances in a particular
region ''' region '''
try:
if self.eucalyptus: if self.eucalyptus:
conn = boto.connect_euca(host=self.eucalyptus_host) conn = boto.connect_euca(host=self.eucalyptus_host)
conn.APIVersion = '2010-08-31' conn.APIVersion = '2010-08-31'
...@@ -247,6 +248,12 @@ class Ec2Inventory(object): ...@@ -247,6 +248,12 @@ class Ec2Inventory(object):
for instance in reservation.instances: for instance in reservation.instances:
self.add_instance(instance, region) self.add_instance(instance, region)
except boto.exception.BotoServerError as e:
if not self.eucalyptus:
print "Looks like AWS is down again:"
print e
sys.exit(1)
def get_instance(self, region, instance_id): def get_instance(self, region, instance_id):
''' Gets details about a specific instance ''' ''' Gets details about a specific instance '''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment