Globale Variable group_vars/all.yml
Referenzierung Wörterbuch Werte
---
dir:
website_A: /var/www/html/a
website_B: /var/www/html/b
Ich habe health-check
ansible Rolle geschaffen, die Eingangsgröße site
akzeptiert, kann sie haben Werte website_A
oder website_B
. Diese Rolle führt einige Aktionen basierend auf der Eingabevariablen site
aus. Ich habe es mit den folgenden Einstellungen versucht, aber es hat nicht funktioniert.
chdir: "{{ "dir." + site }}"
Gemäß der FAQ, können wir diese Arbeit mit hostvars machen oder Vars Wörterbuch, aber ich habe das nicht gelingt.
beiden Fällen mit dem gleichen Fehler fehlgeschlagen: 'File \ "/ tmp/ansible_qRiFL5/ansible_module_command.py \", Leitung 163, in den Haupt \ r \ n os.chdir (Chdir) \ r \ nOSError: [Errno 2] Keine Datei oder kein Verzeichnis: '/root/dir.website_A'\r\n ",' Es wird versucht, auf den ungültigen Pfad' /root/dir.website_A 'zuzugreifen statt . '/ var/www/html/a' –
Dank @Konstantin Suvorov für Ihre prompte Antwort Dies hat den Trick: 'chdir: "{{dir [site]}}"' –
Oh, Mann. .. _variable Verkettung_ ist in diesem Fall ziemlich irreführender Begriff. –