aboutsummaryrefslogtreecommitdiff
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>2019-12-11 11:38:46 +0000
commit8484190e77e4237247dac7fba128e5a111fc9918 (patch)
tree8c34211aa6fc258e4011f2f09890632cf2df3187 /docker/base
parent53683598354b2f5ba7bdba47a02b382404ad3de3 (diff)
downloadkolla-8484190e77e4237247dac7fba128e5a111fc9918.tar.gz
kolla-8484190e77e4237247dac7fba128e5a111fc9918.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
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 c1b4e1c06..5dc422e15 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -441,9 +441,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
@@ -461,7 +461,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