Openshift 2.1 не может установить OPENSHIFT_PYTHON_WSGI_APPLICATION с помощью хуков действий

Я пытаюсь развернуть приложение Django на openshift (python3.3, django1.7, Openshift 2.1).

Мне нужно настроить OPENSHIFT_PYTHON_WSGI_APPLICATION так, чтобы он указывал на альтернативное местоположение wsgi.py.

Я попытался использовать скрипт pre_build для установки переменной, используя следующие команды:

export OPENSHIFT_PYTHON_WSGI_APPLICATION="$OPENSHIFT_REPO_DIR"geartest4/wsgi.py
echo "-------> $OPENSHIFT_PYTHON_WSGI_APPLICATION"

Я вижу во время git push, что скрипт pre_build правильно устанавливает переменную. echo показывает правильный путь, как и ожидалось. Однако wsgi.py не запускается, и я получаю:

CLIENT_ERROR: приложение WSGI не найдено

Когда я сразу ssh включаю передачу и проверяю переменную окружения, я вижу, что OPENSHIFT_PYTHON_WSGI_APPLICATION="" не установлено.

Если я установлю переменную вручную с моей рабочей станции с помощью rhc set-env OPENSHIFT_PYTHON_WSGI_APPLICATION=/var/lib/openshift/gear_name/bla/bla, тогда переменная закрепится, сервер wsgi запустится, и приложение будет работать нормально.

Проблема в том, что я не хочу использовать rhc set-env, потому что это означает, что я должен жестко указать имя шестерни в пути. Это становится проблемой, когда я хочу выполнить масштабирование с несколькими передачами.

У кого-нибудь есть идеи о том, как установить переменную и сделать палку?


person TedF    schedule 16.02.2015    source источник
comment
Существует связанный с этим вопрос, возможно, он натолкнет вас на другую идею...   -  person timo.rieber    schedule 16.02.2015


Ответы (1)


Переменная окружения OPENSHIFT_PYTHON_WSGI_APPLICATION может быть установлена ​​на относительный путь следующим образом:

rhc env set OPENSHIFT_PYTHON_WSGI_APPLICATION=wsgi/wsgi.py

Картридж openshift openshift-django17 от jfmatth также использует этот подход.

person timo.rieber    schedule 16.02.2015