I am using Ansible’s Dynamic Inventory feature to connect to the ec2 instances in AWS account using below:
AWS_PROFILE=personal ansible-playbook cifarm.yml -C
I have copied the https://raw.github.com/ansible/ansible/devel/contrib/inventory/ec2.py into and https://raw.github.com/ansible/ansible/devel/contrib/inventory/ec2.ini file under inventory directory.
On running AWS_PROFILE=personal ansible-playbook cifarm.yml -C, it throws below error:
Output:
ERROR: Inventory script (inventory/ec2.py) had an execution error: ERROR: “Authentication error retrieving ec2 inventory. - AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment vars found but may not be correct - Boto configs found at ‘~/.boto, ~/.aws/credentials’, but the credentials contained may not be correct”, while: getting EC2 instances
I am running the playbook from a MAC OS. Please note that I am able to run below successfully:
aws ec2 describe-instances --page-size 5 --profile personal
This proves that the credentials are correct and also I have exported the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. I tried to execute the inventory/ec2.py file as below:
./ec2.py --list
And it comes back with the same error. I saw a post where it was suggested to update the time on the machine, I am running the playbook. So I ran ntpdate -u
But the issue still persists. I have no idea what is the reason. Any help/suggestions is much appreciated.