質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.54%
Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

2回答

7644閲覧

AnsibleからVagrantを通してゲストPCにSSHできない

marimo.

総合スコア48

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2016/05/14 14:21

編集2016/07/03 03:17

vagrant provisionした時に

shell

1PLAY [vagrants] **************************************************************** 2 3TASK [setup] ******************************************************************* 4fatal: [192.168.33.10]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true} 5 to retry, use: --limit @./ansible/provisioning/playbook.retry 6 7PLAY RECAP ********************************************************************* 8192.168.33.10 : ok=0 changed=0 unreachable=1 failed=0 9 10Ansible failed to complete successfully. Any error output should be 11visible above. Please fix these errors and try again.

と言われるので,個人的にはansibleがvagrantによって作成されたVB Guest PCにSSH接続できていないのが原因だと思っているのですが,どのように直したらよいかわかりません.
ansible.cfgには

config

1[defaults] 2hostfile = ./ansible/provisioning/hosts 3ansible_ssh_user = vagrant 4ansible_ssh_private_key_file = ./.vagrant/machines/default/virtualbox/private_key 5deprecation_warnings = False 6ssh_args = -F ssh.config

としており,vagrantのansible_ssh_private_key_fileでprivate keyを指定しております.
Vagrantfileは

Vagrantfile

1VAGRANTFILE_API_VERSION = "2" 2 3Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 4 config.vm.box = "ubuntu/trusty64" 5 6 config.vm.network "private_network", ip: "192.168.33.10" 7 config.vm.network "forwarded_port", host: 6060, guest: 6006 8 9 config.vm.synced_folder "./", "/home/vagrant" 10 11 config.vm.provision "ansible" do |ansible| 12 ansible.playbook = "./ansible/provisioning/site.yml" 13 ansible.inventory_path = "./ansible/provisioning/hosts" 14 ansible.limit = 'all' 15 end 16end

となっており,directry treeは

├── Vagrantfile ├── ansible.cfg └── ansible/ └── provisioning/ ├── hosts └── site.yml

としています.

ansible 192.168.33.10 -m pingと打つと

[WARNING]: Host file not found: /usr/local/etc/ansible/hosts [WARNING]: provided hosts list is empty, only localhost is available

となります.

環境:
OSX 10.11.4
vagrant 1.8.1
ansible 2.0.2.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

投稿2016/07/07 14:41

marimo.

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

同じファイル構成で試してみたところ、vagrant provisioningはできました。

. ├── Vagrantfile ├── ansible │   └── provisioning │   ├── hosts │   └── site.yml └── ansible.cfg
$ vagrant provision ==> default: Running provisioner: ansible... PLAY [vagrants] *************************************************************** GATHERING FACTS *************************************************************** ok: [192.168.33.10] TASK: [debug msg="test"] ****************************************************** ok: [192.168.33.10] => { "msg": "test" } PLAY RECAP ******************************************************************** 192.168.33.10 : ok=2 changed=0 unreachable=0 failed=0

環境が異なるため参考になるかはわかりませんが、共有しますね。
環境:
OSX 10.11.5
vagrant 1.7.4
ansible 1.9.4

また、pingが通らないのは、ansible.cfgが読めていないためではないでしょうか。
ansible.cfgのカレントでansibleコマンドを実行すればinventoryファイルが見えるはです。

また、pingモジュールはリモートユーザの指定も必要となります。
ansible 192.168.33.10 -m ping -u vagrantで実行、もしくは
ansible.cfgにremote_user = vagrantを指定することで通るのではないでしょうか。

投稿2016/06/22 15:38

turubee

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marimo.

2016/07/03 03:20 編集

回答が遅れてしまい申し訳ありません. sshは解決致しました.-> https://teratail.com/questions/37063 しかし,やはりprovisionが動作しません. ansibleコマンドを打つと最後に『ERROR! Missing target hosts』と出てきてしまいます. 今回の場合ですとホストがMac,ゲストがVagrantのLinuxとなっていますが,ゲスト側にもAnsibleをインストールしなくてはいけないのでしょうか?ホストにはAnsibleは入っています.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.54%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。