Das folgende ist ein einfaches Textbuch, die dynamisch Variablen geladen werden versucht:Dynamische Dateinamen in vars_files
site.yml
---
- hosts: localhost
vars_files:
- "{{ name }}.yml"
tasks:
- debug: var={{ foo }}
Variable foo werden in dieser Datei definiert:
vars/myvars.yml
---
foo: "Hello"
Dann Textbuch wie folgt ausgeführt wird:
ansible-playbook test.yml -e "name=myvars"
jedoch führt dies zu diesem Fehler:
ERROR! vars file {{ name }}.yml was not found
Von dem, was ich aus mehrere Code-Schnipsel verstand dies sollte möglich sein, und die Variablen aus myvars.yml importieren. Beim Versuch mit ansible 1.7.x schien es tatsächlich zu funktionieren (obwohl ich einen anderen Fehler gefunden habe, wurde der Dateiname korrekt aufgelöst).
Wurde dieses Verhalten geändert (möglicherweise wurde die Unterstützung für dynamische Variablendateien entfernt?). Gibt es einen anderen Weg, um dieses Verhalten zu erreichen (Ich kann include_vars Aufgaben verwenden, aber es ist nicht ganz geeignet)?
EDIT: Zu meinem Textbuch Struktur korrekt ist sicher, hier ist ein Github-Repository: https://github.com/jcechace/ansible_sinppets/tree/master/dynamic_vars
es funktioniert für mich auf ansible 2.0.1.0, welche Version verwenden Sie? –
2.0.1 also ist vielleicht die Tatsache, dass ich von OSX läuft, das Problem? Ich werde versuchen mit Linux – pseudo
@arbabnazar hier ist ein Git Repo mit dem Beispiel - nur um sicherzustellen, dass die Struktur in Ordnung ist. https://github.com/jcechace/ansible_sinppets/tree/master/dynamic_vars – pseudo