Jak wydrukować bieżącą nazwę hosta w programie ansible


12

Napisałem rolę do edycji motd, gdy użytkownik loguje się do komputera, ale chcę spersonalizować motd, aby wydrukować nazwę hosta maszyny

Jakiej zmiennej używam? lub jak to zrobić? szablon? w jaki sposób? Użyłem copy modulepliku motd

Więc na przykład chcę móc powiedzieć „witaj w $ nazwa hosta”, więc jak mogę parsować tę nazwę hosta za pomocą ansible?

Odpowiedzi:


20

W tym celu musisz użyć szablonu -moduła.

Oto przykładowe zadanie:

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

Plik motd.j2 (umieszczony w podkatalogu szablonów twojej roli) mógłby wyglądać następująco:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} zostanie wówczas zastąpione nazwą hosta.

Pamiętaj, aby „ zebrać fakty ” w swojej roli, w przeciwnym razie zmienna będzie pusta.


Jak mogę „zebrać fakty”? .. dzięki
udziel krawca

działa dzięki .. ale co rozumiesz przez „zbieranie faktów”?
udzielić krawca

Dodałem dwa łącza do dokumentacji w celu zebrania faktów.
rndmh3ro

1
ansible_eth0.ipv4.addresswymyśliłem to po kilku poważnych poszukiwaniach ... które są do bani ... ansible powinien wiedzieć, że są bardzo ważne zmienne, które powinny być łatwiejsze do znalezienia i wyraźnie wymienione na stronie doc
udziel krawca

1
Jeśli wyszukujesz „adres ip” w odpowiadających dokumentach, możesz go łatwo znaleźć w pierwszym łączu. Jest nawet cały akapit, który pokazuje dwa różne sposoby uzyskania adresu hosta!
rndmh3ro
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.