From 491823b93b08a60dc3a3798bda6666081c03a508 Mon Sep 17 00:00:00 2001
From: akwasniewska <alicja.kwasniewska@intel.com>
Date: Mon, 17 Aug 2015 07:35:16 +0200
Subject: [PATCH] Add Dockerfile template for designate

Change-Id: I740f1ccc5763b683a39957304a7cce3f43f2c588
Partially-Implements: blueprint dockerfile-template
---
 .../designate/designate-api/Dockerfile.j2     | 17 ++++++++
 .../designate-api/config-external.sh          |  1 +
 .../designate/designate-api/start.sh          |  1 +
 .../Dockerfile.j2                             |  6 +++
 .../designate-backend-bind9/Dockerfile.j2     | 17 ++++++++
 .../config-external.sh                        |  1 +
 .../designate-backend-bind9/start.sh          |  1 +
 .../designate/designate-base/Dockerfile.j2    | 40 +++++++++++++++++++
 .../designate/designate-central/Dockerfile.j2 | 17 ++++++++
 .../designate-central/config-external.sh      |  1 +
 .../designate/designate-central/start.sh      |  1 +
 .../designate/designate-mdns/Dockerfile.j2    | 16 ++++++++
 .../designate-mdns/config-external.sh         |  1 +
 .../designate/designate-mdns/start.sh         |  1 +
 .../designate-poolmanager/Dockerfile.j2       | 19 +++++++++
 .../designate-poolmanager/config-external.sh  |  1 +
 .../designate/designate-poolmanager/start.sh  |  1 +
 .../designate/designate-sink/Dockerfile.j2    | 18 +++++++++
 .../designate-sink/config-external.sh         |  1 +
 .../designate/designate-sink/start.sh         |  1 +
 20 files changed, 162 insertions(+)
 create mode 100644 docker_templates/designate/designate-api/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-api/config-external.sh
 create mode 120000 docker_templates/designate/designate-api/start.sh
 create mode 100644 docker_templates/designate/designate-backend-bind9-data/Dockerfile.j2
 create mode 100644 docker_templates/designate/designate-backend-bind9/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-backend-bind9/config-external.sh
 create mode 120000 docker_templates/designate/designate-backend-bind9/start.sh
 create mode 100644 docker_templates/designate/designate-base/Dockerfile.j2
 create mode 100644 docker_templates/designate/designate-central/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-central/config-external.sh
 create mode 120000 docker_templates/designate/designate-central/start.sh
 create mode 100644 docker_templates/designate/designate-mdns/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-mdns/config-external.sh
 create mode 120000 docker_templates/designate/designate-mdns/start.sh
 create mode 100644 docker_templates/designate/designate-poolmanager/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-poolmanager/config-external.sh
 create mode 120000 docker_templates/designate/designate-poolmanager/start.sh
 create mode 100644 docker_templates/designate/designate-sink/Dockerfile.j2
 create mode 120000 docker_templates/designate/designate-sink/config-external.sh
 create mode 120000 docker_templates/designate/designate-sink/start.sh

diff --git a/docker_templates/designate/designate-api/Dockerfile.j2 b/docker_templates/designate/designate-api/Dockerfile.j2
new file mode 100644
index 0000000000..203d6f0ff9
--- /dev/null
+++ b/docker_templates/designate/designate-api/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum install -y \
+    openstack-designate-api \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-api/config-external.sh b/docker_templates/designate/designate-api/config-external.sh
new file mode 120000
index 0000000000..1dbb444c72
--- /dev/null
+++ b/docker_templates/designate/designate-api/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-api/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-api/start.sh b/docker_templates/designate/designate-api/start.sh
new file mode 120000
index 0000000000..b216331468
--- /dev/null
+++ b/docker_templates/designate/designate-api/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-api/start.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-backend-bind9-data/Dockerfile.j2 b/docker_templates/designate/designate-backend-bind9-data/Dockerfile.j2
new file mode 100644
index 0000000000..c34cd5954d
--- /dev/null
+++ b/docker_templates/designate/designate-backend-bind9-data/Dockerfile.j2
@@ -0,0 +1,6 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+VOLUME [ "/var/named" ]
+
+CMD [ "/bin/true" ]
diff --git a/docker_templates/designate/designate-backend-bind9/Dockerfile.j2 b/docker_templates/designate/designate-backend-bind9/Dockerfile.j2
new file mode 100644
index 0000000000..4b215f8f0c
--- /dev/null
+++ b/docker_templates/designate/designate-backend-bind9/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum install -y bind \
+    && yum clean all \
+    && cp -pr /var/named /opt/kolla/var-named
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-backend-bind9/config-external.sh b/docker_templates/designate/designate-backend-bind9/config-external.sh
new file mode 120000
index 0000000000..a6b9418b76
--- /dev/null
+++ b/docker_templates/designate/designate-backend-bind9/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-backend-bind9/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-backend-bind9/start.sh b/docker_templates/designate/designate-backend-bind9/start.sh
new file mode 120000
index 0000000000..df9938517e
--- /dev/null
+++ b/docker_templates/designate/designate-backend-bind9/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-backend-bind9/start.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-base/Dockerfile.j2 b/docker_templates/designate/designate-base/Dockerfile.j2
new file mode 100644
index 0000000000..4aa05f47c7
--- /dev/null
+++ b/docker_templates/designate/designate-base/Dockerfile.j2
@@ -0,0 +1,40 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+# Install designate-api because of /etc/designate/policy.json, which
+# is needed in all services. This is probably a packaging bug. We do
+# need the complete policy file because of some of the containers'
+# requiring it. Remove the package when the file is moved though.
+RUN yum install -y \
+    MySQL-python \
+    openstack-designate-api \
+    openstack-designate-common \
+    python-tooz \
+    && yum clean all \
+    && cp /etc/designate/policy.json /tmp/ \
+    && rpm -e openstack-designate-api \
+    && mv /tmp/policy.json /etc/designate/
+
+    {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type}} not yet available for {{ base_distro }}' \
+    && /bin/false
+
+    {% endif %}
+{% elif install_type == 'source' %}
+
+ADD ./designate.tar /
+RUN ln -s /designate-* /designate
+
+RUN cd /designate \
+    && useradd --user-group designate \
+    && pip install -r requirements.txt \
+    && pip install /designate \
+    && mkdir /etc/designate /var/log/designate \
+    && cp -r /designate/etc/designate/* /etc/designate/ \
+    && rm -rf /root/.cache
+
+{% endif %}
diff --git a/docker_templates/designate/designate-central/Dockerfile.j2 b/docker_templates/designate/designate-central/Dockerfile.j2
new file mode 100644
index 0000000000..e90c3bb2ee
--- /dev/null
+++ b/docker_templates/designate/designate-central/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum install -y \
+    openstack-designate-central \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-central/config-external.sh b/docker_templates/designate/designate-central/config-external.sh
new file mode 120000
index 0000000000..ec5f415dfa
--- /dev/null
+++ b/docker_templates/designate/designate-central/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-central/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-central/start.sh b/docker_templates/designate/designate-central/start.sh
new file mode 120000
index 0000000000..5198d98872
--- /dev/null
+++ b/docker_templates/designate/designate-central/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-central/start.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-mdns/Dockerfile.j2 b/docker_templates/designate/designate-mdns/Dockerfile.j2
new file mode 100644
index 0000000000..c93f1d9569
--- /dev/null
+++ b/docker_templates/designate/designate-mdns/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum install -y openstack-designate-mdns \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-mdns/config-external.sh b/docker_templates/designate/designate-mdns/config-external.sh
new file mode 120000
index 0000000000..c7be897485
--- /dev/null
+++ b/docker_templates/designate/designate-mdns/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-mdns/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-mdns/start.sh b/docker_templates/designate/designate-mdns/start.sh
new file mode 120000
index 0000000000..26da1f200c
--- /dev/null
+++ b/docker_templates/designate/designate-mdns/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-mdns/start.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-poolmanager/Dockerfile.j2 b/docker_templates/designate/designate-poolmanager/Dockerfile.j2
new file mode 100644
index 0000000000..5d1dabdda7
--- /dev/null
+++ b/docker_templates/designate/designate-poolmanager/Dockerfile.j2
@@ -0,0 +1,19 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+# The bind9 package here is only to provide the rndc binary.
+RUN yum install -y \
+    openstack-designate-pool-manager \
+    bind \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-poolmanager/config-external.sh b/docker_templates/designate/designate-poolmanager/config-external.sh
new file mode 120000
index 0000000000..29989479e8
--- /dev/null
+++ b/docker_templates/designate/designate-poolmanager/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-poolmanager/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-poolmanager/start.sh b/docker_templates/designate/designate-poolmanager/start.sh
new file mode 120000
index 0000000000..bd7ab705b4
--- /dev/null
+++ b/docker_templates/designate/designate-poolmanager/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-poolmanager/start.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-sink/Dockerfile.j2 b/docker_templates/designate/designate-sink/Dockerfile.j2
new file mode 100644
index 0000000000..f74e36bbe8
--- /dev/null
+++ b/docker_templates/designate/designate-sink/Dockerfile.j2
@@ -0,0 +1,18 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-designate-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum install -y \
+    openstack-designate-sink \
+    python-designateclient \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/designate/designate-sink/config-external.sh b/docker_templates/designate/designate-sink/config-external.sh
new file mode 120000
index 0000000000..a3a21f3438
--- /dev/null
+++ b/docker_templates/designate/designate-sink/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-sink/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/designate/designate-sink/start.sh b/docker_templates/designate/designate-sink/start.sh
new file mode 120000
index 0000000000..64853dd18a
--- /dev/null
+++ b/docker_templates/designate/designate-sink/start.sh
@@ -0,0 +1 @@
+../../../docker/common/designate/designate-sink/start.sh
\ No newline at end of file