ab’s blog

インフラの呟きです。

Ansible インベントリファイルを指定せずに実行したい

hahahahahaha

はじめに

Ansibleを実行するとき、-iオプションでインベントリファイルを指定するような感じですが、ファイルがデフォルト(/etc/ansible/hosts)の場所にあれば指定しなくても実行できます*1。例えばansibleを動かすときの実行例でよくあるansible -i hosts all -m pingというものも、-i host無しで実行できます。またプレイブックも同様に実行できます。

変更前:ansible -i hosts all -m ping
変更後:ansible all -m ping

実行例

/etc/ansible/hostsにホストを追加したあとansible実行した結果例です。

vi /etc/ansible/hosts
↓
以下を追加
[linux]
192.168.0.1
#実行
$ ansible all -m ping
↓
192.168.0.1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}

以上

*1:インベントリファイルのデフォルトパスはansible.cfgで変更できます