summaryrefslogtreecommitdiff
path: root/devstack/lib/wsgi
diff options
context:
space:
mode:
Diffstat (limited to 'devstack/lib/wsgi')
-rw-r--r--devstack/lib/wsgi36
1 files changed, 36 insertions, 0 deletions
diff --git a/devstack/lib/wsgi b/devstack/lib/wsgi
new file mode 100644
index 00000000..37633c3e
--- /dev/null
+++ b/devstack/lib/wsgi
@@ -0,0 +1,36 @@
+function designate_configure_uwsgi {
+ write_uwsgi_config "$DESIGNATE_UWSGI_CONF" "$DESIGNATE_UWSGI" "/dns"
+
+ # We are using the http transport to work around an issue with
+ # broken connections when using the uwsgi protocol of a local socket
+ # See bug: https://github.com/unbit/uwsgi/issues/2368
+ wsgi_conf=$(apache_site_config_for designate-api-wsgi)
+ echo 'ProxyPass "/dns" "http://127.0.0.1:60053" retry=0' | sudo tee $wsgi_conf
+
+ iniset $DESIGNATE_UWSGI_CONF uwsgi http-socket 127.0.0.1:60053
+}
+
+function designate_configure_mod_wsgi {
+ local designate_api_apache_conf
+ local venv_path=""
+ local designate_bin_dir=""
+ designate_bin_dir=$(get_python_exec_prefix)
+ designate_api_apache_conf=$(apache_site_config_for designate-api)
+
+ if [[ ${USE_VENV} = True ]]; then
+ venv_path="python-path=${PROJECT_VENV["designate"]}/lib/$(python_version)/site-packages"
+ designate_bin_dir=${PROJECT_VENV["designate"]}/bin
+ fi
+
+ sudo cp $DESIGNATE_DIR/devstack/files/apache-designate-api.template $designate_api_apache_conf
+ sudo sed -e "
+ s|%APACHE_NAME%|$APACHE_NAME|g;
+ s|%DESIGNATE_BIN_DIR%|$designate_bin_dir|g;
+ s|%SSLENGINE%|$designate_ssl|g;
+ s|%SSLCERTFILE%|$designate_certfile|g;
+ s|%SSLKEYFILE%|$designate_keyfile|g;
+ s|%USER%|$STACK_USER|g;
+ s|%VIRTUALENV%|$venv_path|g;
+ s|%APIWORKERS%|$API_WORKERS|g;
+ " -i $designate_api_apache_conf
+}