我遇到了Ansible 2.9的一个问题,在创建ec2实例之后,在它第一次尝试使用我创建的剧本在该实例上运行apt更新之前,我得到了以下错误:
[WARNING]: Could not match supplied host pattern, ignoring: tag_type_master然而,当我第二次运行它时,它确实找到了与该标签匹配的主机,并继续运行apt更新和其余的playbook任务。
下面是我正在运行的命令:
ansible-playbook deploy.yaml --private-key ../../../../../Downloads/XXXXXXX.pem --inventory=inventory_aws_ec2.yaml这是我的deploy.yaml文件:
- name: Build out AWS Infrastructure
hosts: localhost
connection: local
gather_facts: False
roles:
- role: aws
- name: Setup Master
hosts: tag_type_master
remote_user: ubuntu
become: yes
roles:
- role: master
- name: Build Master AMI
hosts: localhost
connection: local
roles:
- role: master_ami这是我的inventory_aws_ec2.yaml文件:
plugin: aws_ec2
regions:
- us-east-2
keyed_groups:
- key: tags.type
prefix: tag_type_
separator: ""
hostnames:
- dns-name
compose:
ansible_host: dns-name
cache: yes
cache_plugin: memory
cache_timeout: 7200
cache_prefix: aws_ec2下面是我的ansible.cfg文件:
[defaults]
host_key_checking = False
fact_caching = memory
cache_timeout = 3600
[inventory_aws_ec2]
enable_plugins = aws_ec2
cache = yes我是不是漏掉了什么?提前感谢!
更新:
我还可以毫无问题地运行ansible-inventory命令,它给出了预期的结果:
ansible-inventory -i inventory_aws_ec2.yaml --graph
@all:
|--@aws_ec2:
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
|--@tag_type_master:
| |--ec2-XX-XX-XX-XX.us-east-2.compute.amazonaws.com
|--@ungrouped:发布于 2020-01-09 01:01:54
我想通了。我需要添加一个refresh_inventory步骤:
- name: Refresh inventory to ensure new instances exist in inventory
meta: refresh_inventory发布于 2020-01-07 04:53:25
我在您提供的标签主目录文件中没有看到任何主机
应该是这样的
[master]
127.0.0.1 ansible_connection=local发布于 2020-01-07 15:49:18
怀疑是时间同步问题。
master角色之前,您可以尝试添加睡眠/等待任务,并确保实例已启动并正在运行。 - name: Status
debug:
msg: "{{ item }} : Waiting for instances online..."
with_items: "{{ new_ec2_list }}"无论如何,请分享结果
谢谢
https://stackoverflow.com/questions/59618429
复制相似问题