2016-04-28 5 views
3

Mit ansible 1.9.2 Ich habe eine Rolle mit ::ansible: wenn die Bedingung mit var aus umfassen

- include: snippet.yml repo=rep1 
- include: snippet.yml repo=rep2 
- include: snippet.yml repo=rep2 

in snippet.yml Ich habe ::

- name: debug 
    debug: msg='hello' 
    when: rep1 == {{ repo }} 

Aber ich bekomme diese Fehlermeldung: :

fatal: [vagrant] => error while evaluating conditional: rep1 == rep1 

FATAL: all hosts have already failed -- aborting 

Wenn ich die Faust Syntax von @arbabnazar vorgeschlagen verwenden ::

- name: debug 
    debug: msg='hello' 
    when: "rep1 == {{ repo }}" 

ich diesen Fehler ::

TASK: [stack | debug] ******************************************* 
fatal: [vagrant] => error while evaluating conditional: rep1 == rep1 

FATAL: all hosts have already failed -- aborting 

Bei der zweiten Syntax von @arbabnazar vorgeschlagen ::

- name: debug 
    debug: msg='hello' 
    when: "rep1 in {{ repo }}" 

ich diesen Fehler ::

TASK: [stack | debug] ******************************************* 
fatal: [vagrant] => error while evaluating conditional: rep1 in rep1 

FATAL: all hosts have already failed -- aborting 
+0

Ich habe die Antwort aktualisiert, können Sie es jetzt überprüfen. es funktioniert für mich –

Antwort

1

Can Sie versuchen dies:

- name: debug 
    debug: msg='hello' 
    when: repo == "repo1" 
+0

Ich versuche Ihren Vorschlag ohne Erfolg (und aktualisieren Sie die Frage) – user3313834

+0

Bitte überprüfen Sie es jetzt, es funktioniert –

Verwandte Themen