summaryrefslogtreecommitdiff
path: root/docker/neutron/neutron-server-opendaylight/Dockerfile.j2
blob: b7a69e5573da9d3dc721264d1ebf7da12e1e2575 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
FROM {{ namespace }}/{{ image_prefix }}neutron-server:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"

# This image inherits from neutron-server image, which is also a leaf image,
# and therefore sets the user to neutron. Set the user to root, so that any
# headers or footers used have the right context.
USER root

{% block neutron_server_opendaylight_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{% if install_type == 'binary' %}
    {% if base_package_type == 'rpm' %}
        {% if distro_python_version.startswith('3') %}
        {% set neutron_server_opendaylight_packages = [
            'python3-networking-bgpvpn',
            'python3-networking-bgpvpn-heat',
            'python3-networking-l2gw',
            'python3-networking-odl'
        ] %}
        {% else %}
        {% set neutron_server_opendaylight_packages = [
            'python-networking-bgpvpn',
            'python-networking-bgpvpn-heat',
            'python-networking-l2gw',
            'python-networking-odl'
        ] %}
        {% endif %}
    {% elif base_package_type == 'deb' %}
        {% set neutron_server_opendaylight_packages = [
            'python3-networking-bgpvpn',
            'python3-networking-l2gw',
            'python3-networking-odl'
        ] %}
    {% endif %}

{{ macros.install_packages(neutron_server_opendaylight_packages | customizable("packages")) }}

{% elif install_type == 'source' %}

    {% if base_arch not in ['x86_64'] %}
        {% if base_package_type == 'rpm' %}
            {% set neutron_server_opendaylight_packages = [
                'libjpeg-devel'
            ] %}
        {% elif base_package_type == 'deb' %}
            {% set neutron_server_opendaylight_packages = [
                'libjpeg-dev'
            ] %}
        {% endif %}

{{ macros.install_packages(neutron_server_opendaylight_packages | customizable("packages")) }}
    {% endif %}

ADD plugins-archive /

{% set neutron_server_opendaylight_plugins_pip_packages = [
    '/plugins/*'
] %}

RUN if [ "$(ls /plugins)" ]; then \
        sed -i 's|^ceilometer===.*$||g' requirements/upper-constraints.txt \
        && {{ macros.install_pip(neutron_server_opendaylight_plugins_pip_packages) }}; \
    fi

{% endif %}

{% block neutron_server_opendaylight_footer %}{% endblock %}
{% block footer %}{% endblock %}

USER neutron