aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorcaowei <cao.wei@99cloud.net>2017-05-15 11:09:10 +0800
committercaowei <cao.wei@99cloud.net>2017-05-15 11:09:10 +0800
commit3801d4b1402778877982f9c545895ea7bfd63d96 (patch)
treeaac249959e8bc87701d9bd88c5ef39795604616d /docker
parent5bdd158767e155b22d02ef2454eea9a626071042 (diff)
downloadkolla-3801d4b1402778877982f9c545895ea7bfd63d96.tar.gz
kolla-3801d4b1402778877982f9c545895ea7bfd63d96.zip
Add dragonflow container
Change-Id: I8ab47f96a86c524e14a2c65dd58f1f8fa54d0895 Partially-implements: blueprint dragonflow
Diffstat (limited to 'docker')
-rw-r--r--docker/dragonflow/dragonflow-base/Dockerfile.j249
-rw-r--r--docker/dragonflow/dragonflow-base/extend_start.sh12
-rw-r--r--docker/dragonflow/dragonflow-controller/Dockerfile.j216
-rw-r--r--docker/dragonflow/dragonflow-metadata/Dockerfile.j216
-rw-r--r--docker/dragonflow/dragonflow-publisher-service/Dockerfile.j216
5 files changed, 109 insertions, 0 deletions
diff --git a/docker/dragonflow/dragonflow-base/Dockerfile.j2 b/docker/dragonflow/dragonflow-base/Dockerfile.j2
new file mode 100644
index 000000000..50d191e91
--- /dev/null
+++ b/docker/dragonflow/dragonflow-base/Dockerfile.j2
@@ -0,0 +1,49 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block dragonflow_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='dragonflow') }}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+ {% set dragonflow_base_packages = [
+ 'zeromq'
+ ] %}
+
+{% elif base_distro in ['debian', 'ubuntu'] %}
+ {% set dragonflow_base_packages = [
+ 'libzmq1'
+ ] %}
+
+{% endif %}
+
+{{ macros.install_packages(dragonflow_base_packages | customizable("packages")) }}
+
+{% set dragonflow_base_pip_packages = [
+ '/dragonflow'
+] %}
+
+ADD dragonflow-base-archive /dragonflow-base-source
+RUN ln -s dragonflow-base-source/* dragonflow \
+ && {{ macros.install_pip(dragonflow_base_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/dragonflow \
+ && cp -r /dragonflow/etc/* /etc/dragonflow/ \
+ && chown -R dragonflow: /etc/dragonflow
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN touch /usr/local/bin/kolla_dragonflow_extend_start \
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_dragonflow_extend_start
+
+{% block dragonflow_base_footer %}{% endblock %}
diff --git a/docker/dragonflow/dragonflow-base/extend_start.sh b/docker/dragonflow/dragonflow-base/extend_start.sh
new file mode 100644
index 000000000..eeb896f78
--- /dev/null
+++ b/docker/dragonflow/dragonflow-base/extend_start.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# Create log dir for dragonflow logs
+LOG_DIR="/var/log/kolla/dragonflow"
+if [[ ! -d "${LOG_DIR}" ]]; then
+ mkdir -p ${LOG_DIR}
+fi
+if [[ $(stat -c %a ${LOG_DIR}) != "755" ]]; then
+ chmod 755 ${LOG_DIR}
+fi
+
+. /usr/local/bin/kolla_dragonflow_extend_start
diff --git a/docker/dragonflow/dragonflow-controller/Dockerfile.j2 b/docker/dragonflow/dragonflow-controller/Dockerfile.j2
new file mode 100644
index 000000000..5efaa3115
--- /dev/null
+++ b/docker/dragonflow/dragonflow-controller/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}dragonflow-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block dragonflow_controller_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block dragonflow_controller_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER dragonflow
diff --git a/docker/dragonflow/dragonflow-metadata/Dockerfile.j2 b/docker/dragonflow/dragonflow-metadata/Dockerfile.j2
new file mode 100644
index 000000000..93f93a724
--- /dev/null
+++ b/docker/dragonflow/dragonflow-metadata/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}dragonflow-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block dragonflow_metadata_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block dragonflow_metadata_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER dragonflow
diff --git a/docker/dragonflow/dragonflow-publisher-service/Dockerfile.j2 b/docker/dragonflow/dragonflow-publisher-service/Dockerfile.j2
new file mode 100644
index 000000000..8c55ad58e
--- /dev/null
+++ b/docker/dragonflow/dragonflow-publisher-service/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}dragonflow-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block dragonflow_publisher_service_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block dragonflow_publisher_service_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER dragonflow