Как напечатать текущее имя хоста хоста в 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
источник
Как мне «собрать факты»? .. спасибо
грант портной
работает спасибо .. но что вы подразумеваете под "собирать факты"?
Грант портной
Я добавил две ссылки на документацию для сбора фактов.
rndmh3ro
1
ansible_eth0.ipv4.addressвыяснили это после некоторого серьезного поиска ... который отстой ... Ансибл должен знать, что есть очень важные переменные, которые должно быть легче найти и четко упомянуть на сайте документации
грант портной
1
Если вы ищете «IP-адрес» в ansible документах, вы можете легко найти его по первой ссылке. Там даже целый параграф, который показывает два разных способа получения адреса хоста!
rndmh3ro