From 4f903087e64adebe962615dadfa1f96cb6241528 Mon Sep 17 00:00:00 2001 From: Mathias Ewald Date: Fri, 21 Jul 2017 11:04:43 +0000 Subject: [PATCH] Add Redis Sentinel Introduce base container for redis Rebase the existing redis container on the new base container Provide a container for redis-sentinel to create a highly available cluster Change-Id: I683f02930a870c01dbc71c84060a65c72a8e568e --- docker/redis/redis-base/Dockerfile.j2 | 13 +++++++++++++ docker/redis/redis-base/extend_start.sh | 9 +++++++++ docker/redis/redis-sentinel/Dockerfile.j2 | 18 ++++++++++++++++++ docker/redis/{ => redis}/Dockerfile.j2 | 4 +--- ...is-sentinel-container-defa09d0ac420f64.yaml | 3 +++ 5 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 docker/redis/redis-base/Dockerfile.j2 create mode 100644 docker/redis/redis-base/extend_start.sh create mode 100644 docker/redis/redis-sentinel/Dockerfile.j2 rename docker/redis/{ => redis}/Dockerfile.j2 (82%) create mode 100644 releasenotes/notes/redis-sentinel-container-defa09d0ac420f64.yaml diff --git a/docker/redis/redis-base/Dockerfile.j2 b/docker/redis/redis-base/Dockerfile.j2 new file mode 100644 index 0000000000..f0fc17db8e --- /dev/null +++ b/docker/redis/redis-base/Dockerfile.j2 @@ -0,0 +1,13 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block redis_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='redis', homedir='/run/redis') }} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{% block redis_base_footer %}{% endblock %} diff --git a/docker/redis/redis-base/extend_start.sh b/docker/redis/redis-base/extend_start.sh new file mode 100644 index 0000000000..f5f12ac70f --- /dev/null +++ b/docker/redis/redis-base/extend_start.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +if [[ ! -d "/var/log/kolla/redis" ]]; then + mkdir -p /var/log/kolla/redis +fi + +if [[ $(stat -c %a /var/log/kolla/redis) != "755" ]]; then + chmod 755 /var/log/kolla/redis +fi diff --git a/docker/redis/redis-sentinel/Dockerfile.j2 b/docker/redis/redis-sentinel/Dockerfile.j2 new file mode 100644 index 0000000000..e6ce0b6005 --- /dev/null +++ b/docker/redis/redis-sentinel/Dockerfile.j2 @@ -0,0 +1,18 @@ +FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block redis_sentinel_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set redis_sentinel_packages = ['redis'] %} +{% elif base_distro in ['debian', 'ubuntu'] %} + {% set redis_sentinel_packages = ['redis-sentinel'] %} +{% endif %} +{{ macros.install_packages(redis_sentinel_packages | customizable("packages")) }} + +{% block redis_sentinel_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER redis diff --git a/docker/redis/Dockerfile.j2 b/docker/redis/redis/Dockerfile.j2 similarity index 82% rename from docker/redis/Dockerfile.j2 rename to docker/redis/redis/Dockerfile.j2 index bfedb67c3a..0f81725f2c 100644 --- a/docker/redis/Dockerfile.j2 +++ b/docker/redis/redis/Dockerfile.j2 @@ -1,12 +1,10 @@ -FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +FROM {{ namespace }}/{{ image_prefix }}redis-base:{{ tag }} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% block redis_header %}{% endblock %} {% import "macros.j2" as macros with context %} -{{ macros.configure_user(name='redis', homedir='/run/redis') }} - {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} {% set redis_packages = ['redis'] %} {% elif base_distro in ['debian', 'ubuntu'] %} diff --git a/releasenotes/notes/redis-sentinel-container-defa09d0ac420f64.yaml b/releasenotes/notes/redis-sentinel-container-defa09d0ac420f64.yaml new file mode 100644 index 0000000000..961db511a8 --- /dev/null +++ b/releasenotes/notes/redis-sentinel-container-defa09d0ac420f64.yaml @@ -0,0 +1,3 @@ +--- +features: + - Add a redis-sentinel image to deploy highly available redis clusters