Відмова: Я протестував це лише на OSX. Грунтуючись на різних документах, я очікую, що він буде працювати на інших платформах.
"каталог проектів" посилається на базовий каталог проекту Vagrant - каталог, який містить Vagrantfile.
Файл відповідної інвентаризації, автоматично створений Vagrant:
Vagrant створює файл інвентаря з типовими варіантами з'єднання Ansible. Шукайте це в <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory.
Цей файл буде регенеровано програмою Vagrant за потребою, тому вручну редагування будуть перезаписані. Однак, згідно з документами Vagrant, ви можете вказати кілька машин, груп vars тощо тощо, Vagrantfileі вони будуть додані до цього інвентарного файлу.
Налаштувати відповідь за замовчуванням для цього файлу інвентаря:
Щоб цей файл використовувався ansibleкомандою за замовчуванням, коли ви перебуваєте в каталозі проектів (на хості), додайте ansible.cfgфайл у каталог вашого проекту з цим вмістом, змінивши шлях за необхідності:
[defaults]
inventory = ./path/to/inventory
Щоб підтвердити, що цей файл інвентаря використовується, шукайте його як за замовчуванням, про який повідомляє ansible:
(з каталога проекту)
$ ansible | grep inventory
ERROR! Missing target hosts
-i INVENTORY, --inventory-file=INVENTORY
specify inventory host path (default=./.vagrant/provis
ioners/ansible/inventory/vagrant_ansible_inventory) or
Щоб підтвердити своїх господарів:
$ ansible all --list-hosts
hosts (2):
master
slave
Використання Ansible з цими хостами:
Зсередини в каталозі проектів ви зможете користуватися ansibleяк звичайно з хостами, визначеними в Vagrantfile.
Наприклад:
ansible slave -a 'hostname'
~/.ssh/config