Bagaimana cara mencetak nama host saat ini dari suatu host yang mungkin

12

Saya menulis peran untuk mengedit motd ketika pengguna masuk ke mesin, tapi saya ingin mempersonalisasi motd untuk mencetak nama host mesin

Variabel apa yang saya gunakan? atau bagaimana saya melakukan ini? templat? bagaimana? Saya menggunakan copy moduleuntuk file motd

Jadi misalnya saya ingin bisa mengucapkan "selamat datang ke $ hostname" jadi bagaimana cara mengurai nama host ini menggunakan ansible?

berikan penjahit
sumber

Jawaban:

20

Anda harus menggunakan -module template untuk ini.

Berikut ini contoh tugas:

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

File motd.j2 (ditempatkan di templates -subdirectory dari peran Anda) dapat terlihat seperti ini:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} kemudian akan diganti dengan nama host.

Pastikan untuk " mengumpulkan fakta " dalam peran Anda, atau variabelnya akan kosong.

rndmh3ro
sumber
Bagaimana cara saya "mengumpulkan fakta"? .. terima kasih
berikan penjahit
bekerja terima kasih..tapi apa yang Anda maksud dengan "mengumpulkan fakta"?
berikan penjahit
Saya menambahkan dua tautan ke dokumentasi untuk mengumpulkan fakta.
rndmh3ro
1
ansible_eth0.ipv4.addressmengetahuinya setelah beberapa pencarian serius .. yang menyebalkan ... mungkin harus tahu ada variabel yang sangat penting yang harus lebih mudah ditemukan dan disebutkan dengan jelas di situs dokumen
penjahit hibah
1
Jika Anda mencari "alamat ip" di dokumen yang memungkinkan, Anda dapat dengan mudah menemukannya di tautan pertama. Bahkan ada seluruh paragraf yang menunjukkan dua cara berbeda tentang cara mendapatkan alamat host!
rndmh3ro