Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"skipping: no hosts matched" issue with Vagrant and Ansible

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:

--- - hosts: webservers   user: vagrant   sudo: yes 

and my /etc/ansible/hosts file looks like this:

[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
like image 840
Dubby Avatar asked Dec 27 '13 13:12

Dubby


2 Answers

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?

  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
 [webserver1] 127.0.0.1              ansible_connection=local 
  • Are you using the ansibleLocal provider / vagrant plugin?
like image 197
mestachs Avatar answered Sep 21 '22 16:09

mestachs


Make sure you're running ansible-playbook command instead of pure ansible command.

like image 33
Ricardo Mayerhofer Avatar answered Sep 21 '22 16:09

Ricardo Mayerhofer