Como resolver '[Errno 13] Permissão negada:' /root/.ansible '' durante a execução do ansible usando o Gitlab?

1

Objetivo

O objetivo é implantar o software assim que o build passar usando o Ansible e o Gitlab.

Problema

ansible-playbook playbook.yml -u root --private-key=key.pem

implanta o software, mas

sudo -u gitlab-runner ansible-playbook playbook.yml -u root --private-key=key.pem

resulta em:

PLAY ***************************************************************************

TASK [setup] *******************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 13] Permission denied: '/root/.ansible'
fatal: [system.example.com]: FAILED! => {"failed": true, "stdout": ""}

NO MORE HOSTS LEFT *************************************************************

PLAY RECAP *********************************************************************
system.example.com        : ok=0    changed=0    unreachable=0    failed=1

Discussão

  1. A execução de ansible-playbook --help mostra que -u é o remote_user. Como isso está definido como root , o problema não deve ocorrer.

  2. efetuando login como gitlab-runner e, posteriormente, executando ansible-playbook playbook.yml -u root --private-key=key.pem sucede

por 030 01.09.2016 / 13:41

1 resposta

1

Causa

O problema foi causado porque o host foi omitido do arquivo host conhecido que reside no diretório inicial do gitlab-runner user

Solução

  1. faça login como gitlab-runner , por exemplo, sudo su - gitlab-runner
  2. executar o manual, por exemplo, ansible-playbook playbook.yml -u root --private-key=key.pem
  3. insira yes se Are you sure you want to continue connecting (yes/no)? aparecer
  4. clique no botão retry no gitlab para reiniciar a compilação
por 01.09.2016 / 13:53