Ansible sudo error while building on Atlas

1

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

Depois de configurar a VM ao tentar executar um playbook ansioso 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 eu encontrei na internet que as permissões do sudo podem ser o problema. No meu arquivo principal, as permissões do arquivo estão definidas para:

sudo: true
remote_user: vagrant

E a coisa toda começa bem depois de executar a cartilha, quando eu preciso da permissão do sudo, sobre este cmd no manual:

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

Alguém sabe como resolver essa situação? Como eu corrijo as permissões sudo em ansible?

NOTA. Quando estou tentando construir esta máquina localmente, funciona como um encanto, mas quando eu a executo no Atlas, eu entendo o problema.

ATUALIZAÇÃO: Acredito que o acesso do sudo é um problema real aqui. Eu 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?
    
por toplomj3r 24.08.2015 / 10:56

1 resposta

1

Failed to lock apt for exclusive operation significa que algum outro aplicativo está mantendo o apt lock. Talvez haja algum outro processo de instalação em execução no sistema?

Verifique a ps aux | grep apt output para processos suspeitos.

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

ansible_user ALL=(ALL) NOPASSWD: ALL

    
por 24.08.2015 / 13:54