2016-01-22 2 views
1

Это игра, которую я пытаюсь запустить.Сфера применения add_host

--- 
# ansible/site.yml 

- hosts: localhost 
    gather_facts: yes 
    connection: local 
    sudo: no 
    roles: 
    - ec2 

- hosts: ec2hosts 
    gather_facts: yes 
    user: ubuntu 
    roles: 
    - supervisor 

Вот часть роли ec2.

--- 
# ansible/roles/ec2/main.yml 

# Provision EC2 instances 
# ... 
    register: ec2 

- name: Add EC2 instances to host groups 
    add_host: hostname={{ item.public_ip }} groups=ec2hosts 
    with_items: ec2.instances 

Первая часть работает отлично, и хозяева, кажется, быть добавлены правильно, но как только он попадает в следующей игре (установка супервизора на вновь созданном ec2hosts), это дает мне skipping: no hosts matched.

Итак, почему моя основная playbook не распознает группу хостов, которая была создана во время первой игры?

Edit:

Хосты файл. Нужно ли объявлять здесь группу хостов, чтобы она была доступна на глобальном уровне? Я попытался удалить строку [ec2hosts], а также запустить, не указав это как файл инвентаря.

# inventory/hosts 
[local] 
localhost 

[ec2hosts] 

Забегая:

ansible-playbook -i ansible/inventory/hosts ansible/site.yml -vvv  

Соответствующий выход:

... 

TASK [ec2 : Add EC2 instances to host groups] *************************** 

PLAY ******************************************************************* 
skipping: no hosts matched 

PLAY RECAP ************************************************************** 
localhost     : ok=3 changed=0 unreachable=0 failed=0 
+0

Какую версию вы используете? – Petro026

+0

Отдел развития, поэтому> 2 –

+0

То, что вы делаете, должно работать. Можете ли вы опубликовать, как вы работаете из командной строки? Имеется ли в вашем инвентаре существующая группа ec2hosts? Можете ли вы опубликовать вывод с помощью -vvvv? – Petro026

ответ

1

Похоже, ваш петли для add_host модулей не работает. Проверьте и убедитесь, что ваша переменная ec2.instances правильно заполнена.

Смежные вопросы