From 491823b93b08a60dc3a3798bda6666081c03a508 Mon Sep 17 00:00:00 2001 From: akwasniewska 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