diff options
| author | Christian Berendt <berendt@betacloud-solutions.de> | 2016-06-29 14:01:02 +0200 |
|---|---|---|
| committer | zhubingbing <1392607554@qq.com> | 2016-09-14 14:03:16 +0000 |
| commit | ce2a00a0e99709e66dca4f4597c122dafe59472a (patch) | |
| tree | 067393e198d7ea49492ef28ebf4846d06fb485b8 /docker/neutron | |
| parent | 6d03a0581996546116834d4296d86f4294419e0a (diff) | |
| download | kolla-ce2a00a0e99709e66dca4f4597c122dafe59472a.tar.gz kolla-ce2a00a0e99709e66dca4f4597c122dafe59472a.zip | |
Add neutron-vpnaas-agent container
This implements the neutron-vpnaas-agent container for Ubuntu/Debian
with installation from source packages.
Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>
Implements: blueprint neutron-vpnaas-agent
Change-Id: I3e4b513fb8e1670c4df0edb4951610f777ff72e6
Diffstat (limited to 'docker/neutron')
| -rw-r--r-- | docker/neutron/neutron-base/Dockerfile.j2 | 4 | ||||
| -rw-r--r-- | docker/neutron/neutron-vpnaas-agent/Dockerfile.j2 | 39 | ||||
| -rw-r--r-- | docker/neutron/neutron-vpnaas-agent/extend_start.sh | 8 |
3 files changed, 48 insertions, 3 deletions
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2 index 5e9b6218e..f6656b837 100644 --- a/docker/neutron/neutron-base/Dockerfile.j2 +++ b/docker/neutron/neutron-base/Dockerfile.j2 @@ -16,14 +16,12 @@ MAINTAINER {{ maintainer }} {% elif base_distro in ['ubuntu'] %} -# TODO(Jeffrey4l): UCA latest Newton release lack of neutron-lbaas-common -# package, just remove neutron-lbaas-agent in neutron_base_packages. Once they -# fix it, this should be reverted. {% set neutron_base_packages = [ 'iproute2', 'neutron-plugin-ml2', 'neutron-server', 'openvswitch-switch', + 'neutron-lbaas-common', 'python-openvswitch' ] %} diff --git a/docker/neutron/neutron-vpnaas-agent/Dockerfile.j2 b/docker/neutron/neutron-vpnaas-agent/Dockerfile.j2 new file mode 100644 index 000000000..7693000d9 --- /dev/null +++ b/docker/neutron/neutron-vpnaas-agent/Dockerfile.j2 @@ -0,0 +1,39 @@ +FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% block neutorn_vpnass_agent_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% if install_type == 'binary' %} + {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %} + {% set neutron_vpnaas_agent_packages = [ + 'openswan', + 'openstack-neutron-vpn-agent' + ] %} + {% elif base_distro in ['ubuntu', 'debian'] %} + {% set neutron_vpnaas_agent_packages = [ + 'strongswan', + 'neutron-vpn-agent' + ] %} + {% endif %} + +{{ macros.install_packages(neutron_vpnaas_agent_packages | customizable("packages")) }} + +{% elif install_type == 'source' %} + +ADD neutron-vpnaas-agent-archive /neutron-vpnaas-agent-source +RUN ln -s neutron-vpnaas-agent-source/* neutron_vpnaas \ + && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron_vpnaas \ + && cp /neutron_vpnaas/etc/neutron/rootwrap.d/* /etc/neutron/rootwrap.d + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start +RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start + +{% block neutron_vpnaas_agent_footer %}{% endblock %} +{% block footer %}{% endblock %} +{{ include_footer }} + +USER neutron diff --git a/docker/neutron/neutron-vpnaas-agent/extend_start.sh b/docker/neutron/neutron-vpnaas-agent/extend_start.sh new file mode 100644 index 000000000..40ba0b696 --- /dev/null +++ b/docker/neutron/neutron-vpnaas-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 --subproject neutron-vpnaas --config-file /etc/neutron/neutron.conf upgrade head + exit 0 +fi |
