From e2c7e2512a3e2373d4f92ec5bdd8152ce152ff0b Mon Sep 17 00:00:00 2001 From: Martin André Date: Tue, 4 Apr 2017 10:30:24 +0200 Subject: Add missing cleanup step for new apache images A few new images got apache as part of blueprint apache-packages-for-apis without a cleaning up. Without this step the containers may fail to restart due to runtime files already present. This commit fixes it for all images with the exception of heat-base so that it can be cleanly backported to stable/ocata. It also removes the unused APACHE_DIR variable from freezer-api and keystone extend_start.sh script. Change-Id: I47d75221b3d1aae91f11d3e0da83e221a00315b7 Closes-Bug: #1679565 --- docker/cinder/cinder-api/extend_start.sh | 7 ++++--- docker/freezer/freezer-api/extend_start.sh | 2 -- docker/ironic/ironic-pxe/extend_start.sh | 10 ++++++++++ docker/keystone/keystone/extend_start.sh | 2 -- docker/nova/nova-api/extend_start.sh | 13 +++++++++++++ 5 files changed, 27 insertions(+), 7 deletions(-) (limited to 'docker') diff --git a/docker/cinder/cinder-api/extend_start.sh b/docker/cinder/cinder-api/extend_start.sh index d6709fd59..a92cd0134 100644 --- a/docker/cinder/cinder-api/extend_start.sh +++ b/docker/cinder/cinder-api/extend_start.sh @@ -8,14 +8,15 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then exit 0 fi -if [[ "${KOLLA_INSTALL_TYPE}" == "binary" ]]; then +# Assume the service runs on top of Apache when user is root +if [[ $USER == 'root' ]]; then + # NOTE(pbourke): httpd will not clean up after itself in some cases which + # results in the container not being able to restart. (bug #1489676, 1557036) if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then # Loading Apache2 ENV variables . /etc/apache2/envvars rm -rf /var/run/apache2/* - APACHE_DIR="apache2" else rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* - APACHE_DIR="httpd" fi fi diff --git a/docker/freezer/freezer-api/extend_start.sh b/docker/freezer/freezer-api/extend_start.sh index d12b6b7d4..9ce14e504 100755 --- a/docker/freezer/freezer-api/extend_start.sh +++ b/docker/freezer/freezer-api/extend_start.sh @@ -11,8 +11,6 @@ if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then # Loading Apache2 ENV variables . /etc/apache2/envvars rm -rf /var/run/apache2/* - APACHE_DIR="apache2" else rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* - APACHE_DIR="httpd" fi diff --git a/docker/ironic/ironic-pxe/extend_start.sh b/docker/ironic/ironic-pxe/extend_start.sh index 2496c61f7..6957ec777 100644 --- a/docker/ironic/ironic-pxe/extend_start.sh +++ b/docker/ironic/ironic-pxe/extend_start.sh @@ -13,3 +13,13 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then done exit 0 fi + +# NOTE(pbourke): httpd will not clean up after itself in some cases which +# results in the container not being able to restart. (bug #1489676, 1557036) +if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then + # Loading Apache2 ENV variables + . /etc/apache2/envvars + rm -rf /var/run/apache2/* +else + rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* +fi diff --git a/docker/keystone/keystone/extend_start.sh b/docker/keystone/keystone/extend_start.sh index b29bf02a3..cd8a75635 100644 --- a/docker/keystone/keystone/extend_start.sh +++ b/docker/keystone/keystone/extend_start.sh @@ -17,10 +17,8 @@ if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then # Loading Apache2 ENV variables . /etc/apache2/envvars rm -rf /var/run/apache2/* - APACHE_DIR="apache2" else rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* - APACHE_DIR="httpd" fi # Create log dir for Keystone logs diff --git a/docker/nova/nova-api/extend_start.sh b/docker/nova/nova-api/extend_start.sh index 6878a7672..f820dfa97 100644 --- a/docker/nova/nova-api/extend_start.sh +++ b/docker/nova/nova-api/extend_start.sh @@ -8,3 +8,16 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then nova-manage db online_data_migrations exit 0 fi + +# Assume the service runs on top of Apache when user is root +if [[ $USER == 'root' ]]; then + # NOTE(pbourke): httpd will not clean up after itself in some cases which + # results in the container not being able to restart. (bug #1489676, 1557036) + if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then + # Loading Apache2 ENV variables + . /etc/apache2/envvars + rm -rf /var/run/apache2/* + else + rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd* + fi +fi -- cgit v1.2.3