aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMarcus G K Williams <marcus.williams@intel.com>2017-01-03 13:42:46 -0800
committerMarcus G K Williams <marcus.williams@intel.com>2017-04-18 12:57:55 -0700
commit278bcdb154f6e9b62dcd823c9233d8b1d93ba45d (patch)
tree06b30df608a10b82de2ffc2b55c62287cbb034ed /docker
parent1cad4813b60dcea08587375e7cfd7b3f8b407592 (diff)
downloadkolla-278bcdb154f6e9b62dcd823c9233d8b1d93ba45d.tar.gz
kolla-278bcdb154f6e9b62dcd823c9233d8b1d93ba45d.zip
Add OpenDaylight Container to kolla
Implements docker container template for OpenDaylight. Change-Id: Icdcff77f0f6088f5a4db1bf77e37334dbd42074f Partially-Implements: blueprint opendaylight-support
Diffstat (limited to 'docker')
-rw-r--r--docker/opendaylight/Dockerfile.j244
-rw-r--r--docker/opendaylight/extend_start.sh10
-rw-r--r--docker/opendaylight/opendaylight.repo5
3 files changed, 59 insertions, 0 deletions
diff --git a/docker/opendaylight/Dockerfile.j2 b/docker/opendaylight/Dockerfile.j2
new file mode 100644
index 000000000..81c4a0d74
--- /dev/null
+++ b/docker/opendaylight/Dockerfile.j2
@@ -0,0 +1,44 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block opendaylight_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='opendaylight') }}
+
+{% if install_type == 'binary' %}
+ {% set opendaylight_packages = ['opendaylight'] %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% if opendaylight_repo is not defined %}
+ {% set opendaylight_repo = 'opendaylight.repo' %}
+ {% endif %}
+COPY {{ opendaylight_repo }} /etc/yum.repos.d/
+
+ {% elif base_distro in ['ubuntu', 'debian'] %}
+ {% if odl_release_deb_url is not defined %}
+ {% if base_distro in 'ubuntu' %}
+ {% set odl_release_deb_url = 'http://download.opensuse.org/repositories/home:/akshitajha/xUbuntu_16.04/' %}
+ {% elif base_distro in 'debian' %}
+ {% set odl_release_deb_url = 'http://download.opensuse.org/repositories/home:/akshitajha/Debian_8.0/' %}
+ {% endif %}
+ {% endif %}
+RUN sh -c "echo 'deb {{ odl_release_deb_url }} /' > /etc/apt/sources.list.d/opendaylight.list" \
+&& apt-get update
+ {% endif %}
+
+{{ macros.install_packages(opendaylight_packages | customizable("packages")) }}
+
+{% elif install_type == 'source' %}
+{% block opendaylight_source_install %}
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+{% endblock %}
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
+
+{% block opendaylight_footer %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/docker/opendaylight/extend_start.sh b/docker/opendaylight/extend_start.sh
new file mode 100644
index 000000000..8fdba0726
--- /dev/null
+++ b/docker/opendaylight/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+OPENDAYLIGHT_LOG_DIR=/var/log/kolla/opendaylight
+
+if [[ ! -d "${OPENDAYLIGHT_LOG_DIR}" ]]; then
+ mkdir -p "${OPENDAYLIGHT_LOG_DIR}"
+fi
+if [[ $(stat -c %a "${OPENDAYLIGHT_LOG_DIR}") != "755" ]]; then
+ chmod 755 "${OPENDAYLIGHT_LOG_DIR}"
+fi
diff --git a/docker/opendaylight/opendaylight.repo b/docker/opendaylight/opendaylight.repo
new file mode 100644
index 000000000..0962252e1
--- /dev/null
+++ b/docker/opendaylight/opendaylight.repo
@@ -0,0 +1,5 @@
+[opendaylight]
+name=CentOS CBS OpenDaylight Release Repository
+baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-5-release/$basearch/os/
+enabled=1
+gpgcheck=0