Enquanto isso, encontrei o motivo.
So Ansible irá normalmente gerar um script em Python (2.x) para ser executado na máquina remota através de qualquer método de conexão configurado para qualquer host em particular.
Infelizmente, o Python é um pré-requisito do módulo apt
. O módulo raw
não parece ter essa limitação e, portanto, pode ser usado para instalar os pré-requisitos necessários para executar tarefas Ansible nos hosts (remotos), usando os comandos dpkg
e apt-get
diretamente no sistema remoto. By the way, o módulo shell
tem a mesma limitação, mas o módulo raw
não. Eu gostaria que isso fosse mencionado um pouco mais explicitamente na documentação.
Nesse caso, o dicionário de resultados contém uma chave chamada module_stderr
com o seguinte valor: module_stderr": "/bin/sh: 1: /usr/bin/python: not found\n
. Torne visível, aumentando a verbosidade ao invocar ansible-playbook
.
Agora que eu sei o que está acontecendo, essa frase da documentação do módulo raw
faz muito mais sentido:
This module does not require python on the remote system, much like the script module.
Eu não encontrei isso antes, porque estava executando meu manual de forma incremental, então o pacote python
já estava instalado quando pensei comigo mesmo "por que não usar o módulo apt
?"