From cbd42ca6e90cca2ff4b84f5e4e46224e6455e8b2 Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Fri, 28 Aug 2015 12:16:53 +0000 Subject: Move docker_templates to docker dir Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir --- docker/rabbitmq/Dockerfile.j2 | 27 +++++++++++++++++++++++++++ docker/rabbitmq/config-external.sh | 19 +++++++++++++++++++ docker/rabbitmq/config-rabbit.sh | 7 +++++++ docker/rabbitmq/start.sh | 23 +++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 docker/rabbitmq/Dockerfile.j2 create mode 100644 docker/rabbitmq/config-external.sh create mode 100644 docker/rabbitmq/config-rabbit.sh create mode 100755 docker/rabbitmq/start.sh (limited to 'docker/rabbitmq') diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2 new file mode 100644 index 000000000..1baf2ce80 --- /dev/null +++ b/docker/rabbitmq/Dockerfile.j2 @@ -0,0 +1,27 @@ +FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }} +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +{% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} + +RUN yum -y install \ + hostname \ + rabbitmq-server \ + && yum clean all \ + && rm -rf /var/lib/rabbitmq/* + +{% elif base_distro in ['ubuntu', 'debian'] %} + +RUN apt-get install -y --no-install-recommends rabbitmq-server \ + && apt-get clean \ + && rm -rf /var/lib/rabbitmq/* + +{% endif %} + +RUN /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management + +COPY start.sh / +COPY config-rabbit.sh config-external.sh /opt/kolla/ + +CMD ["/start.sh"] + +{{ include_footer }} diff --git a/docker/rabbitmq/config-external.sh b/docker/rabbitmq/config-external.sh new file mode 100644 index 000000000..33810d621 --- /dev/null +++ b/docker/rabbitmq/config-external.sh @@ -0,0 +1,19 @@ +#!/bin/bash +SOURCE_CONFIG="/opt/kolla/rabbitmq/rabbitmq.config" +TARGET_CONFIG="/etc/rabbitmq/rabbitmq.config" +SOURCE_ENV="/opt/kolla/rabbitmq/rabbitmq-env.conf" +TARGET_ENV="/etc/rabbitmq/rabbitmq-env.conf" +OWNER="rabbitmq" + +# Cluster configuration +if [[ -f "$SOURCE_CONFIG" ]]; then + cp -af $SOURCE_CONFIG $TARGET_CONFIG + chown ${OWNER}: $TARGET_CONFIG + chmod 0600 $TARGET_CONFIG +fi + +if [[ -f "$SOURCE_ENV" ]]; then + cp -af $SOURCE_ENV $TARGET_ENV + chown ${OWNER}: $TARGET_ENV + chmod 0600 $TARGET_ENV +fi diff --git a/docker/rabbitmq/config-rabbit.sh b/docker/rabbitmq/config-rabbit.sh new file mode 100644 index 000000000..c87a2ab48 --- /dev/null +++ b/docker/rabbitmq/config-rabbit.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +function set_rabbitmq_cookie { + echo "${RABBITMQ_CLUSTER_COOKIE}" > /var/lib/rabbitmq/.erlang.cookie + chown -R rabbitmq: /var/lib/rabbitmq + chmod 400 /var/lib/rabbitmq/.erlang.cookie +} diff --git a/docker/rabbitmq/start.sh b/docker/rabbitmq/start.sh new file mode 100755 index 000000000..749bee963 --- /dev/null +++ b/docker/rabbitmq/start.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -o errexit + +CMD="/usr/sbin/rabbitmq-server" +ARGS="" + +# loading common functions +source /opt/kolla/kolla-common.sh + +# Execute config strategy +set_configs + +# loading functions +source /opt/kolla/config-rabbit.sh + +# This catches all cases of the BOOTSTRAP variable being set, including empty +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + set_rabbitmq_cookie + exit 0 +fi + +$CMD $ARGS -- cgit v1.2.3