Paksa Memungkinkan untuk membuang kesalahan saat vars hilang dalam yml?

8

Apakah mungkin untuk memaksa Ansible saat mengganti var dalam file yml, yang tidak terdefinisi, membuang kesalahan alih-alih diam-diam diganti oleh string kosong?

Ryan
sumber

Jawaban:

9

Ya itu mungkin. Periksa dokumentasi online, di bawah mengakses data variabel kompleks .

Sebuah contoh disediakan untuk melakukan hal itu:

tasks:
    - shell: echo "I've got '{{ foo }}' and am not afraid to use it!"
      when: foo is defined

    - fail: msg="Bailing out: this play requires 'bar'"
      when: bar is not defined
dawud
sumber
8

Tambahkan baris ini ke [defaults]bagian ansible.cfg Anda:

error_on_undefined_vars = True

Anda sekarang akan mendapatkan pesan kesalahan jika suatu variabel tidak terdefinisi.

Lorin Hochstein
sumber
Saya percaya bahwa opsi membutuhkan 1.3, yang akan segera hadir tetapi belum dirilis.
mblakele
1

Tentukan variabel Anda di

roles/<role_name>/defaults/main.yml

Suka:

SUPERVAR:
  VAR1:foo
  VAR2:bar

dan kemudian lakukan

roles/<role_name>/tasks/main.yml

Suka:

- fail: msg="{{ item }} is not defined"
  when: not {{ item }}
  with_items:
    - SUPERVAR.VAR1
    - SUPERVAR.VAR2
Ravindranath Akila
sumber