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:
parent
2eb322ab2e
commit
f6a2d2cd4e
@ -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
|
||||
}
|
||||
|
||||
|
7
lib/tls
7
lib/tls
@ -526,12 +526,7 @@ EOF
|
||||
enable_apache_mod $mod
|
||||
done
|
||||
enable_apache_site $b_service
|
||||
# Only a reload is required to pull in new vhosts
|
||||
# Note that a restart reliably fails on centos7 and trusty
|
||||
# because apache can't open port 80 because the old apache
|
||||
# still has it open. Using reload fixes trusty but centos7
|
||||
# still doesn't work.
|
||||
reload_apache_server
|
||||
restart_apache_server
|
||||
}
|
||||
|
||||
# Follow TLS proxy
|
||||
|
Loading…
Reference in New Issue
Block a user