免責事項:OSXでのみこれをテストしました。さまざまなドキュメントに基づいて、他のプラットフォームで動作することを期待しています。
「プロジェクトディレクトリ」とは、Vagrantプロジェクトのベースディレクトリ、つまりを含むディレクトリを指しますVagrantfile
。
Vagrantによって自動生成されたAnsible Inventoryファイル:
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