System-spezifische Variablen in ansible
Ansible erwartet, dass python 2. Auf meinem system (Arch Linux), "python" Python 3, also ich pass -e "ansible_python_interpreter=/usr/bin/python2"
mit jedem Befehl.
ansible-playbook my-playbook.yml -e "ansible_python_interpreter=/usr/bin/python2"
Ist es ein Weg, um set ansible_python_interpreter
Global auf meinem system, so dass ich nicht haben, um es zu übergeben, um jeden Befehl? Ich will nicht, um es in meine playbooks, da nicht alle Systeme, läuft das playbook hat eine Konfiguration ähnlich der meinen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut Sie können auf drei Arten
ansible_python_interpreter=/usr/bin/python2
so wird es pro hostansible_python_interpreter: "/usr/bin/python2"
so wird es pro hostgroup_vars/all
(eventuell müssen Sie das Verzeichnis erstellengroup_vars
und die Dateiall
) alsansible_python_interpreter: "/usr/bin/python2"
Hoffe, das hilft
Ich entschied sich für die Verwendung Ansible s-Fähigkeit, die Quelle Bestand aus einem Verzeichnis. Auf diese Weise konnte ich definieren, die
ansible_python_interpreter
für nur der localhost für den lokalen Computerinventory_dir/local
Dann nutzen Sie einfach das Verzeichnis als würden Sie ein inventory-Datei.
ansible-playbook -i inventory_dir playbook.yml
inventory
(die Sie nicht nennenlocal
local_file
) 😀Für die, die wollen, verwenden Sie die lokale aktiviert virtualenv python-interpreter
in
inventory
- Datei eingestellt