Як надрукувати поточне ім'я хоста в ansible


12

Я написав роль для редагування motd при вході користувача в машину, але я хочу персоналізувати motd для друку імені хоста машини

Яку змінну я використовую? або як це зробити? шаблон? як? Я використав copy moduleдля файлу motd

Так, наприклад, я хочу мати можливість сказати "Ласкаво просимо до $ hostname", тож як я можу розібрати це ім'я хоста за допомогою ansible?

Відповіді:


20

Для цього потрібно використовувати шаблон -модуль.

Ось приклад завдання:

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

Файл motd.j2 (розміщений у шаблонах - підкаталог вашої ролі) може виглядати так:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} буде замінено на ім'я хоста.

Не забудьте " зібрати факти " у своїй ролі, інакше змінна буде порожньою.


Як я "збираю факти"? .. спасибі
надайте кравця

працює спасибі .. але що ви маєте на увазі під "збиранням фактів"?
надайте кравця

Я додав два посилання в документацію для збору фактів.
rndmh3ro

1
ansible_eth0.ipv4.addressз'ясував це після серйозних пошуків ... що висмоктує ... ansible повинен знати, що є дуже важливі змінні, які слід простіше знайти та чітко згадати на сайті doc
надайте кравця

1
Якщо ви шукаєте "ip-адресу" в довідкових документах, ви можете легко знайти її за першим посиланням. Навіть є цілий абзац, який показує два різні способи отримання адреси хоста!
rndmh3ro
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.