ElastiCache error in Ec2.py while running playbooks

Hi,

For the past few days I am getting the following error when running ansible playbooks using the AWS cloud modules or when directly running the ec2.py file with the --refresh-cache command from my local machine:

ap:~ ap$ /ansible/inventory/ec2.py --refresh-cache
Traceback (most recent call last):
File “/ansible/inventory/ec2.py”, line 1510, in
Ec2Inventory()
File “/ansible/inventory/ec2.py”, line 186, in init
self.do_api_calls_update_cache()
File “/ansible/inventory/ec2.py”, line 492, in do_api_calls_update_cache
self.get_elasticache_replication_groups_by_region(region)
File “/ansible/inventory/ec2.py”, line 722, in get_elasticache_replication_groups_by_region
self.add_elasticache_replication_group(replication_group, region)
File “/ansible/inventory/ec2.py”, line 1198, in add_elasticache_replication_group
dest = replication_group[‘NodeGroups’][0][‘PrimaryEndpoint’][‘Address’]
TypeError: ‘NoneType’ object has no attribute ‘getitem

This issue seems to be go away when running from an Ec2 instance in the AWS account.

I have the latest EC2.py and EC2.ini files, ansible version is 2.2.0.0 and boto3 is installed and I do set the valid AWS credentials before running the playbook,

Any ideas on what’s going on?

Just to close the thread, i got a response to this question on StackOverflow:

http://stackoverflow.com/questions/41107045/error-refreshing-elasticache-in-ec2-py-when-running-ansible-playbooks