0

Я пытаюсь развернуть приложение Django в режиме спуска (python3.3, django1.7, Openshift 2.1).Openshift 2.1 не может установить OPENSHIFT_PYTHON_WSGI_APPLICATION с помощью крючков действия

Мне нужно установить 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 application was not found

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

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

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

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

+0

Существует [связанный вопрос] (http://stackoverflow.com/q/26335225/3246440), может быть, это дает вам еще одну идею ... –

ответ

1

Среда переменная OPENSHIFT_PYTHON_WSGI_APPLICATION может быть установлен относительный путь, как это:

rhc env set OPENSHIFT_PYTHON_WSGI_APPLICATION=wsgi/wsgi.py 

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