Отказ от ответственности: я только проверял это на OSX. Основываясь на различных документах, я ожидаю, что он будет работать на других платформах.
«каталог проекта» относится к базовому каталогу проекта Vagrant - каталогу, который содержит Vagrantfile
.
Файл Ansible Inventory, автоматически сгенерированный Vagrant:
Vagrant создает файл инвентаря с переменными соединения по умолчанию Ansible. Ищите это в <project directory>/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
.
Этот файл будет восстановлен Vagrant по мере необходимости, поэтому ручные изменения будут перезаписаны. Однако, согласно документам Vagrant, вы можете указать несколько машин, групповых переменных и т. Д., Vagrantfile
И они будут добавлены в этот файл инвентаризации.
Настройте Ansible по умолчанию для этого файла инвентаризации:
Чтобы сделать этот файл используемым по умолчанию для 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