Always restart apache

As described in [1], it seems that mod_wsgi is not "graceful" reload
safe.  Upon re-init, it can end up in a segfault loop.

The "reload" (not *restart*) after setting up uwsgi was added with
I1d89be1f1b36f26eaf543b99bde6fdc5701474fe but not causing an issue
until uwsgi was enabled.

We do not notice in the gate, because the TLS setup ends up doing a
restart after this setup.  In the period between the
write_uwsgi_config and that restart, Apache is sitting in a segfault
loop, but we never noticed because we don't try talking to it.  Other
jobs that don't do any further apache configuration have started
failing, however.

Looking at the original comments around "reload_apache_server" I'm not
sure if it is still necessary.  [2] shows it is not used outside these
two calls.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1445540
[2] http://codesearch.openstack.org/?q=reload_apache_server&i=nope&files=&repos=

Closes-Bug: #1686210
Change-Id: I5234bae0595efdcd30305a32bf9c121072a3625e
This commit is contained in:
Ian Wienand
2017-04-26 10:50:29 +10:00
parent 2eb322ab2e
commit f6a2d2cd4e
2 changed files with 2 additions and 12 deletions
+1 -6
View File
@@ -218,11 +218,6 @@ function restart_apache_server {
restart_service $APACHE_NAME
}
# reload_apache_server
function reload_apache_server {
reload_service $APACHE_NAME
}
function write_uwsgi_config {
local file=$1
local wsgi=$2
@@ -267,7 +262,7 @@ function write_uwsgi_config {
apache_conf=$(apache_site_config_for $name)
echo "ProxyPass \"${url}\" \"unix:${socket}|uwsgi://uwsgi-uds-${name}/\" retry=0 " | sudo tee $apache_conf
enable_apache_site $name
reload_apache_server
restart_apache_server
fi
}