From 610223fbf4047f9288155406dad3729cb0dcc7de Mon Sep 17 00:00:00 2001 From: Alex Lo Date: Wed, 13 May 2015 23:54:52 -0400 Subject: [PATCH] explain source of EC2 inventory error https://github.com/ansible/ansible/issues/10840 before RDS: `ERROR: Inventory script (ec2.py) had an execution error: Forbidden` EC2: `ERROR: Inventory script (ec2.py) had an execution error: Error connecting to AWS backend. You are not authorized to perform this operation.` after RDS: `ERROR: Inventory script (ec2.py) had an execution error: ERROR: "Forbidden", while: getting RDS instances` EC2: `ERROR: Inventory script (ec2.py) had an execution error: ERROR: "Error connecting to AWS backend. You are not authorized to perform this operation.", while: getting EC2 instances` --- contrib/inventory/ec2.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/contrib/inventory/ec2.py b/contrib/inventory/ec2.py index f2d9b51c90..e17e41cc68 100755 --- a/contrib/inventory/ec2.py +++ b/contrib/inventory/ec2.py @@ -406,7 +406,9 @@ class Ec2Inventory(object): else: backend = 'Eucalyptus' if self.eucalyptus else 'AWS' error = "Error connecting to %s backend.\n%s" % (backend, e.message) - self.fail_with_error(error) + self.fail_with_error( + 'ERROR: "{error}", while: {err_operation}'.format( + error=error, err_operation='getting EC2 instances')) def get_rds_instances_by_region(self, region): ''' Makes an AWS API call to the list of RDS instances in a particular @@ -425,7 +427,9 @@ class Ec2Inventory(object): error = self.get_auth_error_message() if not e.reason == "Forbidden": error = "Looks like AWS RDS is down:\n%s" % e.message - self.fail_with_error(error) + self.fail_with_error( + 'ERROR: "{error}", while: {err_operation}'.format( + error=error, err_operation='getting RDS instances')) def get_elasticache_clusters_by_region(self, region): ''' Makes an AWS API call to the list of ElastiCache clusters (with