Ansible ignorando ansible_python_interpreter como parâmetro de linha de comando

0

Pergunta

como você pode ver o trecho de código abaixo, ansible executável parece estar ignorando o ansible_python_interpreter variável. Sem recorrer a um inventário de arquivos (esta é uma gitlab pipeline com base em hashicorp do packer - o que chama ansible), como eu poderia aplicar ansible para usar qualquer versão do python que eu tenho? Neste caso, é um Ubuntu 18.04, então eu quiser mudar a partir do python 2.7 do python-3.6.

Outra causa relacionada com couldto ser o fato de que ansibles pkg (política?) sempre instala python 2.7 em 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:~#

Meu último recurso parece ser de instalar o ansible usando pip3, mas que exigiria uma significativa reconfiguração de ambos os pipeline yaml e packer json.

Qualquer ajuda seria muito apreciada.

Cheers

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

Melhor resposta

0

Você não forneceu qualquer evidência de que o parâmetro está a ser ignorado. ansible_python_intepreter aplica-se à execução de módulos sobre os alvos, e não para a execução do Ansible si.

O Ansible processo de controle sempre usa o interpretador de Python foi instalado embaixo; a melhor maneira de mudar isso é alterar o seu processo de instalação.

2021-11-23 17:27:15

Ah, "O Ansible processo de controle sempre usa o interpretador de Python foi instalado em;", que explica alguns dos comportamentos que eu já vi. Alguma idéia de como verificar em qual versão ele foi instalado?
U880D

Executar ansible --version
flowerysong

Lá eu encontrei a razão para o comportamento: ansible python module location = /usr/lib/python2.7/site-packages/ansible. Podemos precisa seguir Ansible: Como alterar a versão do python?
U880D

Em outros idiomas

Esta página está em outros idiomas

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