kolla/docker/neutron/neutron-vpnaas-agent/Dockerfile.j2

61 lines
2.0 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block neutron_vpnaas_agent_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set neutron_vpnaas_agent_packages = [
'openstack-neutron-vpn-agent',
'openswan'
] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set neutron_vpnaas_agent_packages = [
'neutron-vpn-agent',
'strongswan'
] %}
{% endif %}
{{ macros.install_packages(neutron_vpnaas_agent_packages | customizable("packages")) }}
{% elif install_type == 'source' %}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set neutron_vpnaas_agent_packages = [
'openswan'
] %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set neutron_vpnaas_agent_packages = [
'strongswan'
] %}
{% endif %}
{{ macros.install_packages(neutron_vpnaas_agent_packages | customizable("packages")) }}
ADD neutron-vpnaas-agent-archive /neutron-vpnaas-agent-source
{% set neutron_vpnaas_agent_pip_packages = [
'/neutron_vpnaas'
] %}
RUN ln -s neutron-vpnaas-agent-source/* neutron_vpnaas \
&& {{ macros.install_pip(neutron_vpnaas_agent_pip_packages | customizable("pip_packages")) }} \
&& 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 %}
# TODO(pbourke): The libreswan driver required by redhat derived bases
# currently requires root in Neutron. Remove this if condition once
# https://bugs.launchpad.net/neutron/+bug/1644517 is addressed.
{% if base_distro in ['debian', 'ubuntu'] %}
USER neutron
{% endif %}