From 615b7a27f53cb44e7089b286a9dc823c4b20d78f Mon Sep 17 00:00:00 2001
From: Robyn Bergeron <robyn.bergeron@gmail.com>
Date: Fri, 14 Aug 2015 09:32:17 -0700
Subject: [PATCH] Port openvswitch to docker_templates

This makes openvswitch build with build.py --templates.  The three
containers built by this work are ovs-base, ovs-db-server, and
ovs-vswitchd.

Partially Implements: blueprint dockerfile-template

Change-Id: If2e420d561a50cd5e1c7ba5eaa81c96526f7a1ac
---
 .../openvswitch/ovs-base/Dockerfile.j2          | 14 ++++++++++++++
 .../openvswitch/ovs-db-server/Dockerfile.j2     | 17 +++++++++++++++++
 .../ovs-db-server/config-external.sh            |  1 +
 .../openvswitch/ovs-db-server/start.sh          |  1 +
 .../openvswitch/ovs-vswitchd/Dockerfile.j2      | 17 +++++++++++++++++
 .../openvswitch/ovs-vswitchd/config-external.sh |  1 +
 .../ovs-vswitchd/ovs_ensure_configured.sh       |  1 +
 .../openvswitch/ovs-vswitchd/start.sh           |  1 +
 8 files changed, 53 insertions(+)
 create mode 100644 docker_templates/openvswitch/ovs-base/Dockerfile.j2
 create mode 100644 docker_templates/openvswitch/ovs-db-server/Dockerfile.j2
 create mode 120000 docker_templates/openvswitch/ovs-db-server/config-external.sh
 create mode 120000 docker_templates/openvswitch/ovs-db-server/start.sh
 create mode 100644 docker_templates/openvswitch/ovs-vswitchd/Dockerfile.j2
 create mode 120000 docker_templates/openvswitch/ovs-vswitchd/config-external.sh
 create mode 120000 docker_templates/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh
 create mode 120000 docker_templates/openvswitch/ovs-vswitchd/start.sh

diff --git a/docker_templates/openvswitch/ovs-base/Dockerfile.j2 b/docker_templates/openvswitch/ovs-base/Dockerfile.j2
new file mode 100644
index 0000000000..e4da1ac490
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-base/Dockerfile.j2
@@ -0,0 +1,14 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum install -y openvswitch \
+    && yum clean all
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+    && /bin/false
+
+{% endif %}
diff --git a/docker_templates/openvswitch/ovs-db-server/Dockerfile.j2 b/docker_templates/openvswitch/ovs-db-server/Dockerfile.j2
new file mode 100644
index 0000000000..784e194ed0
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-db-server/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+# TODO (rbergero): When ovs support is added for ubuntu/debian, this
+# conditional should be removed.
+
+{% if base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+    && /bin/false
+
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/openvswitch/ovs-db-server/config-external.sh b/docker_templates/openvswitch/ovs-db-server/config-external.sh
new file mode 120000
index 0000000000..ee1e0112cc
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-db-server/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/openvswitch/ovs-db-server/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/openvswitch/ovs-db-server/start.sh b/docker_templates/openvswitch/ovs-db-server/start.sh
new file mode 120000
index 0000000000..f9408f4d44
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-db-server/start.sh
@@ -0,0 +1 @@
+../../../docker/common/openvswitch/ovs-db-server/start.sh
\ No newline at end of file
diff --git a/docker_templates/openvswitch/ovs-vswitchd/Dockerfile.j2 b/docker_templates/openvswitch/ovs-vswitchd/Dockerfile.j2
new file mode 100644
index 0000000000..43cecf0e17
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-vswitchd/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+# TODO (rbergero): When ovs support is added for ubuntu/debian, this
+# conditional should be removed.
+
+{% if base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+    && /bin/false
+
+{% endif %}
+
+COPY start.sh /
+COPY ovs_ensure_configured.sh config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/openvswitch/ovs-vswitchd/config-external.sh b/docker_templates/openvswitch/ovs-vswitchd/config-external.sh
new file mode 120000
index 0000000000..46269880d7
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-vswitchd/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/openvswitch/ovs-vswitchd/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh b/docker_templates/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh
new file mode 120000
index 0000000000..de6ac48708
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh
@@ -0,0 +1 @@
+../../../docker/common/openvswitch/ovs-vswitchd/ovs_ensure_configured.sh
\ No newline at end of file
diff --git a/docker_templates/openvswitch/ovs-vswitchd/start.sh b/docker_templates/openvswitch/ovs-vswitchd/start.sh
new file mode 120000
index 0000000000..6fe55d6da7
--- /dev/null
+++ b/docker_templates/openvswitch/ovs-vswitchd/start.sh
@@ -0,0 +1 @@
+../../../docker/common/openvswitch/ovs-vswitchd/start.sh
\ No newline at end of file
-- 
GitLab