Использование фактов Ansible в специальной команде Ansible

Можно ли использовать то, что обычно включается в ansible_facts в специальной команде Ansible?

Например, у меня есть файл по адресу /tmp/myFile на всех моих серверах, и я хотел бы сделать следующее:

ansible all -i [inventory file] -m fetch -a "src=/tmp/myFile dest=myFile-[insert ansible_hostname here]"

Без необходимости делать для этого целую книгу.


person Mitch    schedule 07.04.2016    source источник
comment
Почему бы просто не попробовать и посмотреть?   -  person Tymoteusz Paul    schedule 07.04.2016
comment
@TymoteuszPaul Я попробовал. Обычный механизм доступа к нему не работает   -  person Mitch    schedule 07.04.2016


Ответы (1)


Нет, вы не можете ссылаться на анзибльные факты в анзибл кли. Это связано с тем, что когда вы запускаете ansible ... -m fetch, вы не получаете информацию о хостах, на которых работаете. Факты собираются с помощью модуля setup (вы можете попробовать это, выполнив ansible ... -m setup. В любом случае, это можно решить с помощью простого учебника, такого как

# file: fetchfile.yml
- hosts: all 
  tasks:
    - fetch: src=/tmp/myFile dest=myFile-{{ inventory_hostname }}

$ ansible-playbook -i [inventory_file] fetchfile.yml

ansible-playbook неявно запускает модуль setup, поэтому у вас будет доступ ко всем фактам как к переменным.

person shaps    schedule 08.04.2016