summaryrefslogtreecommitdiff
path: root/docker/base
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2019-12-10 11:51:51 +0000
committerMark Goddard <mark@stackhpc.com>2020-01-14 13:16:38 +0000
commit6ef631d229eb545246776c0618573daefc8f85bc (patch)
tree73a55d728517ec7069fb26de632b719668afeec1 /docker/base
parent902f16cb1a8efc44da8669a6707d93d47160ae9d (diff)
downloadkolla-6ef631d229eb545246776c0618573daefc8f85bc.tar.gz
kolla-6ef631d229eb545246776c0618573daefc8f85bc.zip
Refactor Apache httpd setup
All Apache httpd setup has been moved to a new helper script, kolla_httpd_setup. This includes the existing clean of /run/httpd, /var/run/httpd, /tmp/httpd etc. Horizon has an additional bit of Apache config for Debian/binary, which has been kept in extend_start.sh for horizon. Change-Id: Ia2af74b69c151db0bd7e452460b0babcee50b282 Related: blueprint centos-rhel-8 (cherry picked from commit 8484190e77e4237247dac7fba128e5a111fc9918)
Diffstat (limited to 'docker/base')
-rw-r--r--docker/base/Dockerfile.j24
-rw-r--r--docker/base/httpd_setup.sh18
2 files changed, 20 insertions, 2 deletions
diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index edd7b1d6e..119b043b1 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -435,9 +435,9 @@ COPY set_configs.py /usr/local/bin/kolla_set_configs
{% if distro_python_version.startswith('3') %}
RUN sed -i -e "s+#\!/usr/bin/env python+#\!/usr/bin/env python3+g" /usr/local/bin/kolla_set_configs
{% endif %}
-
COPY start.sh /usr/local/bin/kolla_start
COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts
+COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup
COPY sudoers /etc/sudoers
COPY curlrc /root/.curlrc
@@ -470,7 +470,7 @@ ENTRYPOINT ["dumb-init", "--single-child", "--"]
{% endif %}
RUN touch /usr/local/bin/kolla_extend_start \
- && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_set_configs /usr/local/bin/kolla_copy_cacerts \
+ && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_set_configs /usr/local/bin/kolla_copy_cacerts /usr/local/bin/kolla_httpd_setup \
&& chmod 440 /etc/sudoers \
&& mkdir -p /var/log/kolla \
&& chown :kolla /var/log/kolla \
diff --git a/docker/base/httpd_setup.sh b/docker/base/httpd_setup.sh
new file mode 100644
index 000000000..990062e6d
--- /dev/null
+++ b/docker/base/httpd_setup.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# This script performs setup necessary to run the Apache httpd web server.
+# It should be sourced rather than executed as environment variables are set.
+
+# Assume the service runs on top of Apache httpd when user is root.
+if [[ "$(whoami)" == '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
+ install -d /var/run/apache2/
+ rm -rf /var/run/apache2/*
+ else
+ rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*
+ fi
+fi