Erro Ansible sudo ao construir no Atlas

Erro Ansible sudo ao construir no Atlas

Estou tentando construir minha configuração do Vagrant no Atlas. Também estou usando o ansible para provisionamento e tenho alguns problemas com o sudo.

Depois de configurar a VM ao tentar executar o playbook ansible no Atlas, recebo este erro:

virtualbox-iso: failed: [127.0.0.1] => {"failed": true, "item": ""}
virtualbox-iso: msg: Failed to lock apt for exclusive operation

Então descobri na internet que as permissões do sudo podem ser o problema. No meu manual principal, as permissões de arquivo estão definidas como:

sudo: true
remote_user: vagrant

E tudo quebra depois de executar o playbook, quando preciso da permissão do sudo, neste cmd do playbook:

-name: Update apt
sudo: yes
apt: update_cache=yes

Alguém sabe como resolver esta situação? Como faço para corrigir as permissões do sudo no ansible?

OBSERVAÇÃO. Quando estou tentando construir esta máquina localmente, ela funciona perfeitamente, mas quando a executo no Atlas, recebo o problema.

ATUALIZAÇÃO: Acredito que o acesso ao sudo é um problema real aqui. Removi essa parte da configuração e ela continua falhando em outras partes que exigem o sudo.

virtualbox-iso: failed: [127.0.0.1] => (item=curl,wget,python-software-  properties) => {"failed": true, "item": "curl,wget,python-software-properties"}
 virtualbox-iso: stderr: E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
virtualbox-iso: E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Responder1

Failed to lock apt for exclusive operationsignifica que algum outro aplicativo está segurando o bloqueio do apt. Talvez haja algum outro processo de instalação em execução no sistema?

Verifique ps aux | grep apta saída em busca de processos suspeitos.

A mensagem de erro também pode ser causada por privilégios insuficientes. Você pode querer verificar se o usuário Ansible obtém acesso root completo via sudo. Para verificar isso, abra os sudoers no host com visudo. Você deve ter uma linha como

ansible_user ALL=(ALL) NOPASSWD: ALL

informação relacionada