aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorDaneyon Hansen <danehans@cisco.com>2016-05-10 20:26:58 +0000
committerSerguei Bezverkhi <sbezverk@cisco.com>2016-05-27 11:41:25 -0400
commitba30579b3b3e69536f5bd59e57d39ed4b63a2dd6 (patch)
tree2367929937bf808558287761478e8c83ae3026ed /docker
parentc51e315523fe37f28dc9b0968191b7e07125c24b (diff)
downloadkolla-ba30579b3b3e69536f5bd59e57d39ed4b63a2dd6.tar.gz
kolla-ba30579b3b3e69536f5bd59e57d39ed4b63a2dd6.zip
Adds Neutron LBaaS Support
Previously, kolla did not support neutron lbaas functionality. Only Lbaasv2 is supported in Mitaka. Additional information can be found here: http://docs.openstack.org/mitaka/networking-guide/adv-config-lbaas.html Magnum uses Neutron Lbaas to provide high availability to COE API and Etcd endpoints within a bay. Therefore, Neutron Lbaas is required for Kolla to support Magnum. Co-Authored-By: Serguei Bezverkhi <sbezverk@cisco.com> Partial-Bug: #1551992 Change-Id: I05360b7c447c601fcb3c2b6b2a913ef5cc0f3a1b
Diffstat (limited to 'docker')
-rw-r--r--docker/neutron/neutron-base/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-lbaas-agent/Dockerfile.j251
-rw-r--r--docker/neutron/neutron-lbaas-agent/extend_start.sh8
-rw-r--r--docker/neutron/neutron-server/Dockerfile.j217
4 files changed, 78 insertions, 0 deletions
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index b89a9ad46..44d761d4a 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -8,6 +8,7 @@ RUN yum -y install \
openstack-neutron \
openstack-neutron-ml2 \
openvswitch \
+ openstack-neutron-lbaas \
&& yum clean all
{% elif base_distro in ['ubuntu'] %}
@@ -16,6 +17,7 @@ RUN apt-get -y install --no-install-recommends \
neutron-plugin-ml2 \
neutron-server \
openvswitch-switch \
+ neutron-lbaas \
&& apt-get clean \
&& mkdir -p /usr/share/neutron \
&& ln -s /etc/neutron/api-paste.ini /usr/share/neutron/api-paste.ini
diff --git a/docker/neutron/neutron-lbaas-agent/Dockerfile.j2 b/docker/neutron/neutron-lbaas-agent/Dockerfile.j2
new file mode 100644
index 000000000..2965309b2
--- /dev/null
+++ b/docker/neutron/neutron-lbaas-agent/Dockerfile.j2
@@ -0,0 +1,51 @@
+FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum -y install \
+ haproxy \
+ && yum clean all
+
+{% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get -y install --no-install-recommends \
+ haproxy \
+ && apt-get clean
+
+{% endif %}
+
+{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum -y install \
+ openstack-neutron-lbaas \
+ && yum clean all
+
+ {% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get -y install --no-install-recommends \
+ neutron-lbaas-common \
+ neutron-lbaasv2-agent \
+ python-neutron-lbaas \
+ && apt-get clean \
+
+ {% endif %}
+
+{% elif install_type == 'source' %}
+
+ADD neutron-lbaas-agent-archive /neutron-lbaas-agent-source
+RUN ln -s neutron-lbaas-agent-source/* neutron_lbaas \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron_lbaas \
+ && cp -r /neutron_lbaas/etc/* /etc/neutron/ \
+ && cp -r /neutron_lbaas/etc/neutron/* /etc/neutron/ \
+ && sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/neutron/rootwrap.conf
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
+RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start
+
+{{ include_footer }}
+
+USER neutron
diff --git a/docker/neutron/neutron-lbaas-agent/extend_start.sh b/docker/neutron/neutron-lbaas-agent/extend_start.sh
new file mode 100644
index 000000000..6a1f96036
--- /dev/null
+++ b/docker/neutron/neutron-lbaas-agent/extend_start.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ neutron-db-manage --service lbaas --config-file /etc/neutron/neutron.conf upgrade head
+ exit 0
+fi
diff --git a/docker/neutron/neutron-server/Dockerfile.j2 b/docker/neutron/neutron-server/Dockerfile.j2
index 6fbfb2e2d..18edabe12 100644
--- a/docker/neutron/neutron-server/Dockerfile.j2
+++ b/docker/neutron/neutron-server/Dockerfile.j2
@@ -1,6 +1,23 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum -y install \
+ openstack-neutron-lbaas \
+ && yum clean all
+
+ {% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get -y install --no-install-recommends \
+ neutron-lbaas-common \
+ neutron-lbaasv2-agent \
+ python-neutron-lbaas \
+ && apt-get clean \
+ {% endif %}
+{% endif %}
+
ADD plugins-archive /
COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start \