Как пропустить репозиторий хостов и указать время выполнения хоста в Ansible

Я не хочу указывать какой-либо файл hosts команде ansible-playbook.

ansible-playbook site.yml  -e "source_host=mymac1 source_file=myfile1"

Мой site.yml выглядит так:

подробнее site.yml

---

- hosts: "{{ source_host | default('my_pc')}}"
  user: weblogic

Однако я получаю следующую ошибку:

[ПРЕДУПРЕЖДЕНИЕ]: не удалось сопоставить предоставленный шаблон хоста, игнорируется: все

[ВНИМАНИЕ]: если список хостов пуст, доступен только localhost

ИГРАТЬ: site.yml ******************************************* ************************************************* ************************************************* ******************************** 2 воспроизведения в site.yml [ВНИМАНИЕ]: не удалось сопоставить предоставленный шаблон хоста, игнорирование: mymac1

Не могли бы вы предложить, как я могу передать какой-либо хост в мою книгу воспроизведения без необходимости поддерживать и размещать репозиторий со всей информацией о хосте

Я использую доступную версию 2.3.1.0


person Know Your Tech    schedule 31.01.2018    source источник


Ответы (1)


Вы можете использовать встроенный инвентарь:

playbook.yml:

- hosts: all
  tasks:
    - debug: msg=hello

команда:

ansible-playbook -i 'mymac1,' -e source_file=myfile1 playbook.yml

обратите внимание на запятую после имени хоста.

См. Также: Ansible ad- команда hoc с указанием прямого хоста - хосты не найдены

person Konstantin Suvorov    schedule 31.01.2018
comment
У меня есть две игры в моей playbook, поэтому у нее есть два -hosts:. Как я могу убедиться, что первый - hosts: получает source_host = mymac1, а второй - hosts: получает dest_host = mymac2, который будет передан с использованием -e: ansible-playbook site.yml -e source_host = mymac1 source_file = myfile1 dest_host = mymac2 - person Know Your Tech; 31.01.2018
comment
Первый хост будет хостом источника файла, а второй хост будет местом назначения, куда он будет скопирован ... следовательно, два хоста - person Know Your Tech; 31.01.2018
comment
Попробуйте all[0], all[1] и -i 'srchost,desthost' (но я не уверен, это довольно необычный сценарий). - person Konstantin Suvorov; 31.01.2018