Как напечатать текущее имя хоста хоста в ansible


12

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

Какую переменную я использую? или как мне это сделать? шаблон? как? Я использовал copy moduleдля файла MOTD

Так, например, я хочу иметь возможность сказать "welcome to $ 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выяснили это после некоторого серьезного поиска ... который отстой ... Ансибл должен знать, что есть очень важные переменные, которые должно быть легче найти и четко упомянуть на сайте документации
грант портной

1
Если вы ищете «IP-адрес» в ansible документах, вы можете легко найти его по первой ссылке. Там даже целый параграф, который показывает два разных способа получения адреса хоста!
rndmh3ro
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.