Ansible ignorando ansible_python_interpreter come parametro della riga di comando

0

Domanda

come si può vedere dal frammento di codice qui di seguito, ansible eseguibile sembra ignorare la ansible_python_interpreter variabile. Senza ricorrere a un file di inventario (questo è per un gitlab pipeline basata sulla hashicorp del packer - che chiama ansible), come potrei applicare ansible di utilizzare qualsiasi versione di python che ho? In questo caso si tratta di una Ubuntu 18.04, quindi voglio passare da python-a python 2.7-3.6.

Un'altra causa couldto essere il fatto che ansibles pkg (politica?) sempre installa python-2.7 su bionic.

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:~#

La mia ultima spiaggia sembra essere l'installazione di ansible utilizzando pip3, ma che richiederebbe una significativa riscrittura di entrambe le pipeline yaml e packer json.

Qualsiasi aiuto sarebbe molto apprezzato.

Cheers

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

Migliore risposta

0

Non hanno fornito alcuna prova che il parametro viene ignorato. ansible_python_intepreter si applica all'esecuzione di moduli obiettivi, non per l'esecuzione di Ansible stesso.

L'Ansible processo di controllo usa sempre l'interprete Python è stato installato sotto; il modo migliore per cambiare questo è quello di modificare il processo di installazione.

2021-11-23 17:27:15

Ah, "L'Ansible processo di controllo usa sempre l'interprete Python è stato installato sotto;", che spiega alcuni comportamenti che ho visto. Qualsiasi idea di come controllare quale versione è stato installato?
U880D

Eseguire ansible --version
flowerysong

Lì ho trovato il motivo per il comportamento: ansible python module location = /usr/lib/python2.7/site-packages/ansible. Abbiamo bisogno di seguire Ansible: Come cambiare la versione di python?
U880D

In altre lingue

Questa pagina è in altre lingue

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