Ansible ignorant ansible_python_interpreter comme paramètre de ligne de commande

0

La question

comme vous pouvez le voir dans l'extrait de code ci-dessous, ansible exécutable semble ignorer les ansible_python_interpreter variable. Sans avoir recours à un fichier de stock (c'est pour un gitlab pipeline basé sur hashicorp de l'emballeur - qui appelle ansible), comment pourrais-je appliquer ansible à utiliser quelle que soit la version de python que j'ai? Dans ce cas, c'est une Ubuntu 18.04, donc je veux changer de python 2.7 de python-3.6.

Une autre cause liée à couldto être le fait que les ansibles pkg (politique?) toujours installé python 2.7 sur la bionique.

root@ubuntu18:~# ansible --version
ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Feb 27 2021, 15:10:58) [GCC 7.5.0]
root@ubuntu18:~# /usr/bin/python3.6 --version
Python 3.6.9
root@ubuntu18:~# ansible --version -e 'ansible_python_interpreter=/usr/bin/python3.6'
ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Feb 27 2021, 15:10:58) [GCC 7.5.0]
root@ubuntu18:~#

Mon dernier recours semble être l'installation d'ansible à l'aide de pip3, mais cela nécessiterait une importante réécriture à la fois le pipeline yaml et emballeur de json.

Toute aide serait grandement appréciée.

Cheers

ansible python python-3.x ubuntu
2021-11-23 17:22:13
1

La meilleure réponse

0

Vous n'avez pas fourni la preuve que le paramètre est ignoré. ansible_python_intepreter s'applique à l'exécution des modules sur les cibles, et non pas à l'exécution de l'Ansible lui-même.

L'Ansible processus de contrôle utilise toujours l'interpréteur Python il a été installé sous; le meilleur moyen de changer cela est de changer votre processus d'installation.

2021-11-23 17:27:15

Ah, "L'Ansible processus de contrôle utilise toujours l'interpréteur Python il a été installé sous;", qui explique en partie le comportement que j'ai vu. Une idée de comment vérifier sous quelle version il a été installé?
U880D

Exécuter ansible --version
flowerysong

J'y ai trouvé la raison pour laquelle une partie du comportement: ansible python module location = /usr/lib/python2.7/site-packages/ansible. Nous pouvons avoir besoin de suivre Ansible: Comment changer de version de python?
U880D

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................