У меня есть следующий Ansible playbook для обновления пакетов в кластере:
- hosts: cluster
become: true
become_user: root
tasks:
- name: updates a server
apt: update_cache=yes
- name: upgrade a server
apt: upgrade=full
Когда я запускаю его, узел, который является контроллером NFS, работает нормально, но два узла, у которых есть монтирование NFS в домашнем каталоге, завершаются со следующей ошибкой:
$ansible-playbook upgrade-servers.yml -K
SUDO password:
PLAY ***************************************************************************
TASK [setup] *******************************************************************
fatal: [nej-worker2]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "\r\n/usr/bin/python: can't open file '/home/gms/.ansible/tmp/ansible-tmp-1461269057.4-144211747884693/setup': [Errno 13] Permission denied\r\n", "msg": "MODULE FAILURE", "parsed": false}
ok: [iznej]
fatal: [nej-worker1]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "\r\n/usr/bin/python: can't open file '/home/gms/.ansible/tmp/ansible-tmp-1461269057.4-16590584976890/setup': [Errno 13] Permission denied\r\n", "msg": "MODULE FAILURE", "parsed": false}
TASK [updates a server] ********************************************************
ok: [iznej]
TASK [upgrade a server] ********************************************************
changed: [iznej]
NO MORE HOSTS LEFT *************************************************************
PLAY RECAP *********************************************************************
iznej : ok=3 changed=1 unreachable=0 failed=0
nej-worker1 : ok=0 changed=0 unreachable=0 failed=1
nej-worker2 : ok=0 changed=0 unreachable=0 failed=1
У меня были похожие проблемы с запуском pip
на общих ресурсах, причем исправление заключалось в перенаправлении каталога сборки с помощью --set-build
... Я предполагаю, что это проблема с Ansible, так как он работает на контроллере NFS, а не на контроллерах с сервера с общим/подключенным диском.