bewerten Ich versuche, nur eine Aufgabe ausführen, wenn einige Host var einen Wert größer als 0ansible 'wenn' nicht Host var
Host-Datei
---
os:
version_nr: 8
version_name: jessie
dotdeb:
priority: 100
task.yml
- name: setup dotdeb preferences
lineinfile: dest=/etc/apt/preferences
create=yes
line="{{ item }}"
with_items:
- "Package: *"
- "Pin: release o=packages.dotdeb.org"
- "Pin-Priority: {{ dotdeb.priority }}"
when: dotted.priority > 0
Aber es scheint, dass Ansible nicht auf die Host-Variable für die 'Präferenz' Aufgabe zugreifen kann. ansible sagt:
Fehler während bedingte Auswertung: dotdeb.priority> 0
Ich habe versucht, andere zu zitieren, aber nichts scheint zu funktionieren. Die Host-Variablen funktionieren jedoch, weil 'os.version_name' in einer früheren Task ordnungsgemäß ersetzt wurde. Irgendwelche Vorschläge?
Prost Sebastian
transkribiert Ihre Aufgabe bedingten falsch? Sie haben das als 'when: dotted.priority', aber Ihr Fehler besagt, dass es' dotdeb.priority' ist, das Sie überprüfen. Was sehen Sie, wenn Sie ein Debug für die Variable vor der Aufgabe ausführen? – ydaetskcoR
Dies war nur ein Tippfehler bei stackoverflow, aber ich habe eine Lösung gefunden. – sfeldmann
Was war Ihre Lösung? Wenn Sie denken, dass es für andere nützlich sein könnte, dann überlegen Sie, Ihre eigene Frage zu beantworten. – ydaetskcoR