Vagrant で Ansible を動かす
Packer を使って box ファイルの作成が完了したので、ローカルの Mac に Vagrant を使って CentOS6.5 を起動させた。
Ansible はローカルの Mac に 1.4.3 をインストール。
Vagrant のネットワークは NAT でホストの Mac からは IP アドレスを直接うっても ssh で入れないので、20 を 2002 にポートフォワードしている。
この状態で Ansible にどうやって動かすのか分からなかったので調べた。
まずカレントディレクトリに hosts を作った。
vagrant ansible_ssh_host=127.0.0.1 vagrant ansible_ssh_port=2002 vagrant ansible_ssh_user=vagrant vagrant ansible_ssh_pass=vagrant
$ ansible vagrant -m ping -i hosts vagrant | FAILED => to use the 'ssh' connection type with passwords, you must install the sshpass program
パスワードを設定ファイルに書くのはダメみたい…。
vagrant ansible_ssh_host=127.0.0.1 vagrant ansible_ssh_port=2002 vagrant ansible_ssh_user=vagrant
$ ansible vagrant -m ping -i hosts -k -c paramiko SSH password: vagrant | success >> { "changed": false, "ping": "pong" }
ansible に -k と -c paramiko オプションをつけると動作する。