aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Kang <kangh@us.ibm.com>2016-08-13 04:08:22 +0000
committerHui Kang <kangh@us.ibm.com>2016-08-24 13:04:47 -0400
commitc096825075baf278f0319f194604f3c2a6ab21ec (patch)
tree416ff479fc1deffe57c53c675ef3c3d4f1fe7ef0
parent29c542186b8bc1b3d54611574aa953a03039d2fe (diff)
downloadkolla-c096825075baf278f0319f194604f3c2a6ab21ec.tar.gz
kolla-c096825075baf278f0319f194604f3c2a6ab21ec.zip
Add etcd container
Change-Id: Ib5a853c0048a45d9085c55804580c7ed2fd0fc07 Partially-implements: bp kuryr-docker-plugin
-rw-r--r--docker/etcd/Dockerfile.j225
-rw-r--r--docker/etcd/etcd_sudoers1
-rw-r--r--docker/etcd/extend_start.sh8
-rw-r--r--kolla/common/config.py2
-rw-r--r--releasenotes/notes/etcd-dockerfile-69b8bfc1df4bb2ab.yaml3
5 files changed, 38 insertions, 1 deletions
diff --git a/docker/etcd/Dockerfile.j2 b/docker/etcd/Dockerfile.j2
new file mode 100644
index 000000000..d03df4131
--- /dev/null
+++ b/docker/etcd/Dockerfile.j2
@@ -0,0 +1,25 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% import "macros.j2" as macros with context %}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+ {% set etcd_packages = ['etcd'] %}
+{% elif base_distro in ['ubuntu', 'debian'] %}
+ {% set etcd_packages = ['etcd'] %}
+{% endif %}
+{{ macros.install_packages(etcd_packages | customizable("packages")) }}
+
+COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN chmod 755 /usr/local/bin/kolla_extend_start \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/etcd_sudoers \
+ && usermod -a -G kolla etcd
+
+{% block etcd_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+{{ include_footer }}
+
+USER etcd
diff --git a/docker/etcd/etcd_sudoers b/docker/etcd/etcd_sudoers
new file mode 100644
index 000000000..d3e244be0
--- /dev/null
+++ b/docker/etcd/etcd_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /usr/bin/chown etcd\: /var/lib/etcd/, /bin/chown etcd\: /var/lib/etcd/
diff --git a/docker/etcd/extend_start.sh b/docker/etcd/extend_start.sh
new file mode 100644
index 000000000..485ee8e2d
--- /dev/null
+++ b/docker/etcd/extend_start.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ sudo chown etcd: /var/lib/etcd/
+ exit 0
+fi
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 4be0bebce..2d455ab1b 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -34,7 +34,7 @@ INSTALL_TYPE_CHOICES = ['binary', 'source', 'rdo', 'rhos']
_PROFILE_OPTS = [
cfg.ListOpt('infra',
- default=['ceph', 'cron', 'mariadb', 'haproxy',
+ default=['ceph', 'cron', 'etcd', 'mariadb', 'haproxy',
'keepalived', 'kolla-toolbox', 'memcached',
'mongodb', 'openvswitch', 'rabbitmq', 'heka'],
help='Infra images'),
diff --git a/releasenotes/notes/etcd-dockerfile-69b8bfc1df4bb2ab.yaml b/releasenotes/notes/etcd-dockerfile-69b8bfc1df4bb2ab.yaml
new file mode 100644
index 000000000..ce23312b2
--- /dev/null
+++ b/releasenotes/notes/etcd-dockerfile-69b8bfc1df4bb2ab.yaml
@@ -0,0 +1,3 @@
+---
+features:
+ - Add etcd docker container