Ansible: no hosts matched

You need to define a host inventory.

The default path for this is /etc/ansible/hosts (as also stated by helloV).

For a minimal example you can also specify an inventory in the command line:

ansible-playbook setup.yml -i 192.168.10.1,

The trailing comma makes it a list, such that ansible parses it directy. Otherwise you can run

ansible-playbook setup.yml -i myinventory

where myinventory is a file listing your hosts.


Ansible doesn't know anything about your host. If it is in dynamic inventory, you can pass the inventory script using -i option or edit /etc/ansible/hosts and add an entry for your host like:

[myhost]
192.168.10.1

and specify the host in the playbook as:

hosts: myhost