Solución al error "hostname module cannot be used on platform Linux (Rocky)" en un playbook de Ansible
Recientemente, al ejecutar uno de mis playbooks de Ansible que había creado hace 2 años, me encontré con el siguiente error:
FAILED! => {"changed": false, "msg": "hostname module cannot be used on platform Linux (Rocky)"}
Aunque era previsible que me encontraría con algún módulo obsoleto, no pensé que uno tan esencial me daría problemas. Anteriormente había utilizado este playbook en distribuciones Red Hat 8 y CentOS 7, pero nunca en Rocky Linux.
Ej.: Antes tenia un playbook llamado set-server.yml y una de las configuraciones en el servidor era ajustar el nombre a ebolges.com con el modulo hostname
set-server.yml
- name: Cambia el nombre del servidor a ebolges.com hostname: name: ebolges.com when: ansible_fqdn != 'ebolges.com'
Solución:
Para resolver este error, simplemente necesitas actualizar la tarea que cambia el nombre del servidor en tu playbook. Aquí tienes un ejemplo de cómo hacerlo:
- name: Cambia el nombre del servidor a ebolges.com
hostname:
name: ebolges.com
use: systemd
when: ansible_fqdn != 'ebolges.com'
Agrega use: systemd
dentro del módulo hostname
para solucionar el problema. No olvides mantener la indentación adecuada para que Ansible pueda interpretar correctamente el playbook. Con este cambio, deberías poder ejecutar tu playbook en Rocky Linux sin problemas. ansible-playbook set-server.yml
Espero que esta solución te haya sido útil. Si tienes más preguntas o problemas, no dudes en preguntar en los comentarios de esta entrada de blog.
¡Buena suerte!