Embora eu espere que a causa raiz deste problema seja corrigida em uma versão Ansible futura, eu concluí minha própria solução. Basicamente eu modifiquei / hackeei um plugin de conexão despojado para o Ansible que simplesmente executa um comando no host. O processo foi o seguinte:
-
No diretório do livro de exercícios, crie um subdiretório denominado
connection_plugins. -
Copie o plug-in de conexão
local.pyda instalação do Ansible (por exemplo,/usr/lib/python2.7/site-packages/ansible/runner/connection_plugins/local.py) para o subdiretório recém-criado com um nome diferente, comoexecute.py. -
Edite
connection_plugins/execute.pye remova as seções de código relacionadas aos métodos de escalonamento de privilégios. -
Adicione uma entrada para
localhostno arquivo de inventário com o parâmetroansible_connection=execute.
A última etapa precisa ser modificada se local_action realmente usar um método de escalonamento de privilégios para algumas tarefas. Nesse caso, é possível deixar a entrada para localhost (se houver) inalterada, definir outro alias com o tipo de conexão execute e, em seguida, usar delegate_to: em vez de local_action: nas definições da tarefa.