在 Mac OS X 上使用 ansible 创建 AWS vpc
AWS vpc creation using ansible on Mac OS X
我在从 mac os x 创建 aws vpc 时遇到问题,但完全相同的 command/role 正在从 ubuntu.
工作
我已经完成的步骤 Mac OS X:
- 使用 ntp 更新时间
- 将 ansible 升级到版本 2
- 将 ansible 降级到版本 1.9.1、1.9.2、1.9.3 和 1.9.4
- boto 版本为 2.38.0
进行上述所有更改后,出现此错误:
PLAY ***************************************************************************
TASK [vpc : Creating an AWS VPC inside mentioned Region] ***********************
task path: /Users/arbab/ansible2/aws/roles/vpc/tasks/main.yml:2
ESTABLISH LOCAL CONNECTION FOR USER: xxxxxxxxx
127.0.0.1 EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196 )" )
127.0.0.1 PUT /var/folders/rq/yhlwx3c971x6p88qwmvhpg600000gn/T/tmpoyL88U TO /Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc
127.0.0.1 EXEC LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc; rm -rf "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/" > /dev/null 2>&1
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 2867, in <module>
main()
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 700, in main
(vpc_dict, new_vpc_id, subnets_changed, igw_id, changed) = create_vpc(module, vpc_conn)
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 338, in create_vpc
previous_vpc = find_vpc(module, vpc_conn, id, cidr_block)
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 198, in find_vpc
previous_vpcs = vpc_conn.get_all_vpcs(None, {'cidr': cidr, 'state': 'available'})
File "/Library/Python/2.7/site-packages/boto/vpc/__init__.py", line 111, in get_all_vpcs
return self.get_list('DescribeVpcs', params, [('item', VPC)])
File "/Library/Python/2.7/site-packages/boto/connection.py", line 1186, in get_list
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 401 Unauthorized
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>AuthFailure</Code><Message>AWS was not able to validate the provided access credentials</Message></Error></Errors><RequestID>2318e170-a400-499c-8713-4c0b3ec1850d</RequestID></Response>
fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2_vpc"}, "parsed": false}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=0 changed=0 unreachable=0 failed=1
错误存在未经授权的错误
boto.exception.EC2ResponseError: EC2ResponseError: 401 Unauthorized
您能否通过 env
命令检查 AWS 凭据是否设置正确? ansible 期望的名称是:
export AWS_ACCESS_KEY_ID='AK123'
export AWS_SECRET_ACCESS_KEY='abc123'
我在从 mac os x 创建 aws vpc 时遇到问题,但完全相同的 command/role 正在从 ubuntu.
工作我已经完成的步骤 Mac OS X:
- 使用 ntp 更新时间
- 将 ansible 升级到版本 2
- 将 ansible 降级到版本 1.9.1、1.9.2、1.9.3 和 1.9.4
- boto 版本为 2.38.0
进行上述所有更改后,出现此错误:
PLAY ***************************************************************************
TASK [vpc : Creating an AWS VPC inside mentioned Region] ***********************
task path: /Users/arbab/ansible2/aws/roles/vpc/tasks/main.yml:2
ESTABLISH LOCAL CONNECTION FOR USER: xxxxxxxxx
127.0.0.1 EXEC ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196 )" )
127.0.0.1 PUT /var/folders/rq/yhlwx3c971x6p88qwmvhpg600000gn/T/tmpoyL88U TO /Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc
127.0.0.1 EXEC LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc; rm -rf "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/" > /dev/null 2>&1
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 2867, in <module>
main()
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 700, in main
(vpc_dict, new_vpc_id, subnets_changed, igw_id, changed) = create_vpc(module, vpc_conn)
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 338, in create_vpc
previous_vpc = find_vpc(module, vpc_conn, id, cidr_block)
File "/Users/arbab/.ansible/tmp/ansible-tmp-1453191395.76-205801730631196/ec2_vpc", line 198, in find_vpc
previous_vpcs = vpc_conn.get_all_vpcs(None, {'cidr': cidr, 'state': 'available'})
File "/Library/Python/2.7/site-packages/boto/vpc/__init__.py", line 111, in get_all_vpcs
return self.get_list('DescribeVpcs', params, [('item', VPC)])
File "/Library/Python/2.7/site-packages/boto/connection.py", line 1186, in get_list
raise self.ResponseError(response.status, response.reason, body)
boto.exception.EC2ResponseError: EC2ResponseError: 401 Unauthorized
<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>AuthFailure</Code><Message>AWS was not able to validate the provided access credentials</Message></Error></Errors><RequestID>2318e170-a400-499c-8713-4c0b3ec1850d</RequestID></Response>
fatal: [127.0.0.1]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2_vpc"}, "parsed": false}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=0 changed=0 unreachable=0 failed=1
错误存在未经授权的错误
boto.exception.EC2ResponseError: EC2ResponseError: 401 Unauthorized
您能否通过 env
命令检查 AWS 凭据是否设置正确? ansible 期望的名称是:
export AWS_ACCESS_KEY_ID='AK123'
export AWS_SECRET_ACCESS_KEY='abc123'