diff options
| author | Daneyon Hansen <danehans@cisco.com> | 2016-05-10 20:26:58 +0000 |
|---|---|---|
| committer | Serguei Bezverkhi <sbezverk@cisco.com> | 2016-05-27 11:41:25 -0400 |
| commit | ba30579b3b3e69536f5bd59e57d39ed4b63a2dd6 (patch) | |
| tree | 2367929937bf808558287761478e8c83ae3026ed /docker | |
| parent | c51e315523fe37f28dc9b0968191b7e07125c24b (diff) | |
| download | kolla-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.j2 | 2 | ||||
| -rw-r--r-- | docker/neutron/neutron-lbaas-agent/Dockerfile.j2 | 51 | ||||
| -rw-r--r-- | docker/neutron/neutron-lbaas-agent/extend_start.sh | 8 | ||||
| -rw-r--r-- | docker/neutron/neutron-server/Dockerfile.j2 | 17 |
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 \ |
