Назад | Перейти на главную страницу

Ansible-galaxy не работает с sudo

У меня проблемы с установкой плагинов с ansible-galaxy.

Я пробовал 3 вещи:

Установка без sudo:

ansible-galaxy install sfromm.epel
[WARNING]: - sfromm.epel was NOT installed successfully: Could not update files in /etc/ansible/roles/sfromm.epel: [Errno 13] Permission denied: '/etc/ansible/roles/sfromm.epel'

Здесь нет ничего странного, очевидно, мой пользователь не может писать в этой папке.


Установка с помощью sudo su:

$ sudo su
root@notebook# ansible-galaxy install  sfromm.epel 
- ...
- sfromm.epel was installed successfully

Как видите, я могу установить плагин таким образом.


Установка с помощью sudo:

Вот где я не понимаю, что происходит.

$ sudo ansible-galaxy install  sfromm.epel
[WARNING]: - sfromm.epel was NOT installed successfully: The API server (https://galaxy.ansible.com/api/) is not responding, please try again later

sudo curl https://galaxy.ansible.com/api/ отвечает ОК. Я не за прокси.

Может быть проблема с сертификатами, так как API https? Как я могу узнать, откуда они берутся?

Я вижу то же самое. Я работал над этим, установив ansible_roles = ~ / .ansible / roles в моем файле ~ / .ansible.cfg и установив роли без необходимости использования sudo. Имеет ли смысл их установка в масштабе всей системы в большинстве случаев? Тем не менее, это раздражает и работало в предыдущих версиях ansible (я использую 2.1.0.0).

Начиная с версии 2.1.10, ansible-galaxy маскировал сообщения об ошибках при подключении к серверу api и возвращал общую ошибку «сервер должен быть отключен». Это было исправлено на https://github.com/ansible/ansible/issues/16039 и на данный момент является частью их вехи 2.2 (так что, предположительно, он будет выпущен с ansible 2.2).

У меня были те же проблемы, что и в разделе «Установка с помощью sudo», и это было из-за плохо сформированного файла ~ / .netrc в домашнем каталоге моего пользователя (на который конкретно указывает PR github). Мне удалось исправить файл и повторно запустить ansible-galaxy, и он правильно установил нужные роли.

Что-то вызывает этот функция для вызова необработанного исключения Вот, возможно, будет полезно прочитать код.