Я успешно настроил Ansible Проект Tower для извлечения из удаленных репозиториев git, а также извлечения из локального репозитория с использованием s sh и сохраненных учетных данных (ключей). На этом сервере вход в систему с sh для доступа к git недопустим, поэтому я пытаюсь настроить Ansible Tower для использования локального git репозитория; не используется git: или s sh: протокол для доступа, просто доступ к нему через файл: ///path/to/AnsibleTower.git
Попытка функции обновления проекта Ansible Tower пытается в 'git клон', но выдает ошибку:
"fatal: Could not read from remote repository.",
"Please make sure you have the correct access rights",
"and the repository exists."
И это показывает, что это команда, которая использовалась для попытки клонирования:
"cmd": "/usr/bin/git clone --origin origin file:///path/to/AnsibleTower.git/ /var/lib/awx/projects/_114__00_test"
Когда я выполняю Выше команды непосредственно на сервере, как пользователь awx
, я не получаю ошибки, и клон работает. Я вижу, что команды git выполняются с пользователем awx
, когда Tower пытается обновить (наблюдая за процессом ps). Пользователь awx
владеет каталогом AnsibleTower. git и всем, что в нем есть.
Причина, по которой это важно, и причина, по которой я пометил этот 'ansible -inventory', заключается в том, что используется SCM-резервная копия Проект, кажется, единственный способ импортировать / синхронизировать текстовый инвентарь в Tower. Я действительно хотел бы избежать повторного создания / обновления моего инвентаря с помощью веб-интерфейса Tower; Я хочу, чтобы это также отслеживалось в SCM.
Я даже зашел так далеко, что предоставил всем пользователям доступ к каталогу. git (временно); это тоже не сработало, похоже, это не проблема с правами пользователя.