¿Cómo imprimo el nombre de host actual de un host en ansible

12

Escribí un rol para editar el motd cuando el usuario inicia sesión en la máquina, pero quiero personalizar el motd para imprimir el nombre de host de la máquina

¿Qué variable utilizo? o como hago esto? ¿modelo? ¿cómo? copy moduleUsé el para el archivo motd

Entonces, por ejemplo, quiero poder decir "bienvenido a $ hostname", entonces, ¿cómo analizo este nombre de host usando ansible?

conceder a medida
fuente

Respuestas:

20

Tienes que usar la plantilla -module para esto.

Aquí hay una tarea de ejemplo:

- name: Create motd
  template: src="motd.j2" dest="/etc/motd"

El archivo motd.j2 (ubicado en el subdirectorio de plantillas de su rol) podría verse así:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} se reemplazará con el nombre de host.

Asegúrese de " recopilar datos " en su rol, de lo contrario, la variable estará vacía.

rndmh3ro
fuente
¿Cómo "recopilo datos"? .. gracias
conceder sastre
funciona gracias ... pero ¿qué quieres decir con "reunir datos"?
conceder sastre
Agregué dos enlaces a la documentación para recopilar datos.
rndmh3ro
1
ansible_eth0.ipv4.addresslo descubrió después de algún searching..which grave chupa ... ansible debe saber que hay variables muy importantes que deberían ser más fáciles de encontrar y ser mencionado claramente en el sitio doc
sastre subvención
1
Si busca "dirección IP" en los documentos de Ansible, puede encontrarla fácilmente en el primer enlace. ¡Incluso hay un párrafo completo que muestra dos formas diferentes de cómo obtener la dirección de un host!
rndmh3ro