uwsgi keystone under master process

Normally a standalone uwsgi server would run in "master" mode -- it
handles signals to reload the processes. I tried this originally
with keystone but found that the server didn't shut down when
unstacking. The reason it didn't shut down is because (by default)
uwsgi does a reload on SIGTERM & SIGHUP rather than shutting down by
default, see [1].

Setting "die-on-term = true" & "exit-on-reload = true" changes the
uwsgi server to shut down when unstacking.

[1] http://uwsgi-docs.readthedocs.org/en/latest/Management.html#reloading-the-server

Change-Id: I145fef185d4a31078295941779e175b7452a5760
This commit is contained in:
Brant Knudson 2016-03-11 08:30:05 -06:00
parent 0d38e2d5d8
commit 4abcfaa86e

View File

@ -310,6 +310,11 @@ function configure_keystone {
# Common settings
for file in "$KEYSTONE_PUBLIC_UWSGI_FILE" "$KEYSTONE_ADMIN_UWSGI_FILE"; do
# This is running standalone
iniset "$file" uwsgi master true
# Set die-on-term & exit-on-reload so that uwsgi shuts down
iniset "$file" uwsgi die-on-term true
iniset "$file" uwsgi exit-on-reload true
iniset "$file" uwsgi enable-threads true
iniset "$file" uwsgi plugins python
# uwsgi recommends this to prevent thundering herd on accept.