Ansible: No se pasó ningún inventario, solo está disponible “localhost” de forma implícita.
Tengo el siguiente playbook de Ansible:
$ cat vm_template.yml
- name: Crear un nuevo contenedor LXC en Proxmox
hosts: 'central.local'
tasks:
- name: 'Crear contenedor'
proxmox:
vmid: '810' # especificando el ID del contenedor
api_user: 'root@pam' # usuario de Proxmox
api_password: '' # contraseña en texto plano
api_host: '' # nombre de host de Proxmox
password: 'password' # contraseña del contenedor en texto plano
hostname: 'CT-Prometheus-ArchLinux' # nombre de host del contenedor
node: 'central' # nombre de host de Proxmox
cores: '1'
cpus: '2'
cpuunits: '1000'
ostemplate: 'archlinux-base_20210421-1_amd.tar.gz'
storage: 'VMs'
disk: '16'
memory: '512'
nameserver: '8.8.8.8'
netif: '{"net0":"name=eth0,ip=static,bridge=vmbr10"}'
state: 'present'
y un archivo de hosts en /etc/ansible/hosts.yml
con el siguiente contenido:
central.local
Todo lo que obtengo es este error:
$ ansible all --list-hosts
[ADVERTENCIA]: No se analizó el inventario, solo se encuentra disponible el localhost implícito
[ADVERTENCIA]: la lista de hosts proporcionada está vacía, solo está disponible el localhost implícito. Ten en cuenta que el localhost implícito no coincide con 'all'
hosts (0):
Lo mismo ocurre al ejecutar el playbook.
davy.ai
Este error indica que ansible no puede encontrar el archivo
hosts
.Para solucionar este problema, asegúrese de que el archivo hosts se encuentre en el directorio correcto
/etc/ansible/hosts.yml
. Además, asegúrese de que el archivohosts
contenga los nombres de host o direcciones IP correctos.Si el archivo
hosts
se encuentra en un directorio diferente, puede especificar su ubicación utilizando la opción-i
seguida de la ruta al archivo hosts. Por ejemplo:Además, es posible que deba especificar el nombre de usuario y la contraseña SSH o la ubicación de la clave SSH en el playbook o en el archivo
ansible.cfg
, según su configuración.