У меня проблема с Ansible 2.9, когда я получаю следующую ошибку после создания экземпляра ec2 и до того, как он попытается запустить apt update для этого экземпляра в первый раз, используя созданную мной пьесу:
[WARNING]: Could not match supplied host pattern, ignoring: tag_type_master
Тем не менее, когда я запускаю его во второй раз, он находит хост, соответствующий этому тегу, и продолжает выполнение обновления apt и остальных задач playbook.
Вот команда I Я бегу:
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 file:
[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: