From 38bed674bd522d8e23d5c9ca66d356c4c5884ce7 Mon Sep 17 00:00:00 2001 From: "Michal Jastrzebski (inc0)" Date: Fri, 17 Jul 2015 12:19:02 +0200 Subject: [PATCH] HAProxy container This commit consists HAProxy container. It only supports config-external as this requires orchiestration. Change-Id: I0af28be4f3d4aa40c418f15c40c45630d0fd7c8d Partially-implements: blueprint haproxy-container --- docker/centos/binary/haproxy/Dockerfile | 11 +++++++++++ docker/centos/binary/haproxy/build | 1 + docker/centos/binary/haproxy/config-external.sh | 1 + docker/centos/binary/haproxy/start.sh | 1 + docker/common/haproxy/config-external.sh | 11 +++++++++++ docker/common/haproxy/start.sh | 17 +++++++++++++++++ docs/minimal-environment-vars.md | 4 ++++ 7 files changed, 46 insertions(+) create mode 100755 docker/centos/binary/haproxy/Dockerfile create mode 120000 docker/centos/binary/haproxy/build create mode 120000 docker/centos/binary/haproxy/config-external.sh create mode 120000 docker/centos/binary/haproxy/start.sh create mode 100755 docker/common/haproxy/config-external.sh create mode 100755 docker/common/haproxy/start.sh diff --git a/docker/centos/binary/haproxy/Dockerfile b/docker/centos/binary/haproxy/Dockerfile new file mode 100755 index 0000000000..40f2af6105 --- /dev/null +++ b/docker/centos/binary/haproxy/Dockerfile @@ -0,0 +1,11 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install \ + haproxy \ + && yum clean all + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker/centos/binary/haproxy/build b/docker/centos/binary/haproxy/build new file mode 120000 index 0000000000..8d652f7ee2 --- /dev/null +++ b/docker/centos/binary/haproxy/build @@ -0,0 +1 @@ +../../../../tools/build-docker-image \ No newline at end of file diff --git a/docker/centos/binary/haproxy/config-external.sh b/docker/centos/binary/haproxy/config-external.sh new file mode 120000 index 0000000000..75dc2b4087 --- /dev/null +++ b/docker/centos/binary/haproxy/config-external.sh @@ -0,0 +1 @@ +../../../common/haproxy/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/haproxy/start.sh b/docker/centos/binary/haproxy/start.sh new file mode 120000 index 0000000000..9b9c71e73f --- /dev/null +++ b/docker/centos/binary/haproxy/start.sh @@ -0,0 +1 @@ +../../../common/haproxy/start.sh \ No newline at end of file diff --git a/docker/common/haproxy/config-external.sh b/docker/common/haproxy/config-external.sh new file mode 100755 index 0000000000..d267eb195f --- /dev/null +++ b/docker/common/haproxy/config-external.sh @@ -0,0 +1,11 @@ +#!/bin/bash +SOURCE="/opt/kolla/haproxy/haproxy.cfg" +TARGET="/etc/haproxy/haproxy.cfg" +OWNER="root" + +if [[ -f "$SOURCE" ]]; then + rm $TARGET + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/haproxy/start.sh b/docker/common/haproxy/start.sh new file mode 100755 index 0000000000..68600f44ee --- /dev/null +++ b/docker/common/haproxy/start.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -o errexit + +CMD='/usr/sbin/haproxy' +# Parameters: +# -db for non-daemon execution and logging to stdout +# -p pidfile to specify pidfile and allow hot reconfiguration +# loop which generates -f file.conf for each file in /etc/haproxy and /etc/haproxy/conf.d +ARGS="-db -f /etc/haproxy/haproxy.cfg" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +# Config-internal script exec out of this function, it does not return here. +set_configs + +exec $CMD $ARGS diff --git a/docs/minimal-environment-vars.md b/docs/minimal-environment-vars.md index 53c68af542..0bf21ecc63 100644 --- a/docs/minimal-environment-vars.md +++ b/docs/minimal-environment-vars.md @@ -229,6 +229,10 @@ In order for each service to function, there is a minimum set of required variab GLANCE_DB_USER MARIADB_SERVICE_HOST +# Haproxy + + None + # Hautoproxy None