¿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?

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.


¿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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.