2017-05-30 3 views
0

Ich habe diesesErste Fehler, wenn die Bedingung in ansible

dry_run: "{{ lookup('env','DRY_RUN') | default(yes,true) }}" 

und ich erhalte diese Störung

Ich verwende wie

when: dry_run 

fatal: [localhost]: failed! => {"failed": true, "msg": "Die Bedingungsprüfung 'dry_run' ist fehlgeschlagen. Der Fehler war: Fehler während Bewertung bedingte (dry_run): 'ja' ist undefiniert \ n \ nDer Fehler scheint zu haben war in

ich habe sogar versucht

when: dry_run | bool sowie

Fehler: Fehler beim bedingten Bewertung (dry_run | bool): {{ Lookup ('env', 'DRY_RUN') | default (yes, true)}}: 'yes' ist undefined \ n \ nDie Fehler erscheint in

+0

Was ist 'dry_run'? Eine Tatsache oder Variable? – techraf

+0

@techraf seine Variable – user3214546

Antwort

1

Verwenden default(true) statt default(yes) (es ist eine Jinja2 Vorlage, nicht YAML, so yes mit true nicht gleichbedeutend ist) gewesen zu sein, und eine Tatsache gesetzt, so was Sie don‘ t verwenden Vorlage in einem bedingten:

- set_fact: 
    dry_run: "{{ lookup('env','DRY_RUN') | default(true, true) }}" 

- debug: 
    when: dry_run 
+0

Warum muss ich als Tatsache setzen, warum kann ich Variablen verwenden. – user3214546

+0

Ich schrieb es in der Antwort. Ansible wird sich beschweren, da Ihre Variable eine Vorlage enthält. – techraf

+0

aber ich habe 15 weitere Variablen, die ich so benutze. Ich habe sie überall benutzt – user3214546

Verwandte Themen