Я не устанавливаю ARA в папку по умолчанию, и у меня нет "root" на этом сервере. Так что я делаю установку с помощью "учетной записи службы" под названием service_acct. Это привело меня к необходимости проделать некоторые уловки, чтобы продвинуться в этом направлении, когда мне пришлось установить PYTHONUSERBASE в каталог (ARA - единственное, что использует Python на этом сервере, так что все должно быть в порядке).

export PYTHONUSERBASE=/dsk01/software/ara

Я установил эти предварительные условия:

gcc python-devel libffi-devel openssl-devel redhat-rpm-config


python get-pip.py --user
pip install --user ara

Я добавил следующие Переменные среды в системную учетную запись, которая запускает ARA, и учетную запись пользователя, которая будет запускать игры Ansible. Я могу видеть эти значения, когда я grep "printenv".

ARA_DATABASE=sqlite:////dsk01/software/ara/.ara/ansible.sqlite
ARA_DIR=/dsk01/software/ara/.ara
ARA_LOG_FILE=/dsk01/software/ara/.ara/ara.log
ARA_HOST=42.34.25.77
ARA_PORT=9191
PYTHONUSERBASE=/dsk01/software/ara

Вот ansible.cfg

[defaults]
callback_plugins=/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/callbacks
action_plugins=/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/actions


[ara]
dir = /dsk01/software/ara/.ara
host = 42.34.25.77
port = 9191
logfile = /dsk01/software/ara/.ara/ara.log
database = sqlite:////dsk01/software/ara/.ara/ansible.sqlite
local_tmp = /dsk01/software/ara/.ansible/tmp

Когда я получаю доступ к веб-интерфейсу ARA, но он говорит:

База данных ARA пуста или веб-приложение не настроено должным образом для поиска данных вашей книги воспроизведения.

Я просто полагаюсь на стандартный веб-сервер и базу данных. Поэтому я не настроил параметры веб-сервера или что-либо еще в БД sqlite.

когда я запускаю Ansible-playbook, он выдает мне сообщение об ошибке:

[ПРЕДУПРЕЖДЕНИЕ]: Пропуск плагина (/dsk01/software/ara/lib/python2.7/site-packages/ara/plugins/callbacks/log_ara.py), поскольку он кажется недействительным: невозможно настроить обработчик 'ara_file': [ Errno 13] В доступе отказано: '/home/service_acct/.ara/ara.log'

ARA продолжает записывать свои файлы журнала в /home/service_acct/.ara/ara.log. Я вижу записи, когда запускаю веб-сервер с помощью: ara-manage runserver. Он никогда ничего не пишет в /dsk01/software/ara/.ara/ara.log.

Это странно, так как ARA использует пользовательские настройки (например, IP), которые я установил в качестве IP-адреса сервера и порта. start Таким образом, он продолжает пытаться записывать файлы журнала в учетную запись службы (service_acct), а не в папку, в которой я установил ARA.

1 ответ1

0

Я был в состоянии решить проблему.

Существует несоответствие между документацией и тем, что на самом деле делает код. Таким образом, похоже, что "ARA_LOG_FILE" используется для именования файла журнала, а не для указания пути к файлу журнала.

https://github.com/openstack/ara/blob/ce18a5543bf0550be8e727dc18a6453b9c2d111a/ara/config/logger.py#L82-L84

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .