Question:
I have installed Vagrant, VirtualBox and Ansible and trying to run provision over one host but it always returns “skipping: no hosts matched”
The head of my playbook file looks like this:
1 2 3 4 5 |
--- - hosts: webservers user: vagrant sudo: yes |
and my /etc/ansible/hosts
file looks like this:
1 2 3 |
[webservers] webserver1 |
I tried putting the IP address there but had the same result. I have added my ssh key to the server and added webserver1 host to both .ssh/config
and /etc/hosts
.
I can ssh vagrant@webserver1
fine without being prompted for a password, thanks to using the ssh key.
What am I missing here?
- Host: Debian 7.2
- Client machine: Debian 7
- Virtualbox: 4.1.18
- Vangrantup: 1.4.1
- Ansible: 1.5
Answer:
It could help to post your Vagrantfile and your ansible inventory file.
- Are you using the default ansible provider of vagrant?did you specify the
inventory_path
?
1 2 3 4 |
config.vm.provision :ansible do |ansible| ansible.playbook = "provisioning/playbook.yml" ansible.inventory_path = "provisioning/ansible_hosts" end |
- Are you launching it the through the a vagrant ssh with
--connection=local
try a /etc/ansible/hosts
1 2 |
[webserver1] 127.0.0.1 ansible_connection=local |
- Are you using the ansibleLocal provider / vagrant plugin?