Forza Ansible per eliminare l'errore quando manca yars in yml?


8

È possibile forzare Ansible quando si sostituisce var nei file yml, che è indefinito, emettere un errore invece silenziosamente sostituito da una stringa vuota?

Risposte:


9

Sì, è possibile. Controlla la documentazione online, sotto l' accesso a dati variabili complessi .

Viene fornito un esempio per fare esattamente questo:

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

8

Aggiungi questa riga alla [defaults]sezione del tuo ansible.cfg:

error_on_undefined_vars = True

Ora riceverai un messaggio di errore se una variabile non è definita.


Credo che l'opzione richieda la 1.3, che arriverà presto ma non è ancora stata rilasciata.
mblakele,

1

Definisci le tue variabili in

roles/<role_name>/defaults/main.yml

piace:

SUPERVAR:
  VAR1:foo
  VAR2:bar

e poi fallo dentro

roles/<role_name>/tasks/main.yml

piace:

- fail: msg="{{ item }} is not defined"
  when: not {{ item }}
  with_items:
    - SUPERVAR.VAR1
    - SUPERVAR.VAR2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.