diff options
Diffstat (limited to 'kolla/docker/neutron/neutron-base/Dockerfile.j2')
| -rw-r--r-- | kolla/docker/neutron/neutron-base/Dockerfile.j2 | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/kolla/docker/neutron/neutron-base/Dockerfile.j2 b/kolla/docker/neutron/neutron-base/Dockerfile.j2 new file mode 100644 index 000000000..e91c1e6e6 --- /dev/null +++ b/kolla/docker/neutron/neutron-base/Dockerfile.j2 @@ -0,0 +1,104 @@ +FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" +{% endblock %} + +{% block neutron_base_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.enable_extra_repos(['docker-ce']) }} +{{ macros.configure_user(name='neutron') }} + +{% if base_package_type == 'rpm' %} + +{{ macros.enable_extra_repos(['openvswitch']) }} + + {% set neutron_base_packages = [ + 'conntrack-tools', + 'dnsmasq', + 'dnsmasq-utils', + 'docker-ce-cli', + 'haproxy', + 'iproute-tc', + 'ipset', + 'iptables', + 'iputils', + 'keepalived', + 'net-tools', + 'openvswitch${KOLLA_RPM_OVS_VERSION}', + 'python3-openvswitch${KOLLA_RPM_OVS_VERSION}', + 'radvd', + 'uuid' + ] %} + +{% elif base_package_type == 'deb' %} + + {% set neutron_base_packages = [ + 'conntrack', + 'dnsmasq', + 'dnsmasq-utils', + 'docker-ce-cli', + 'haproxy', + 'iproute2', + 'ipset', + 'iptables', + 'iputils-arping', + 'iputils-ping', + 'keepalived', + 'net-tools', + 'openvswitch-switch', + 'python3-openvswitch', + 'radvd', + 'uuid-runtime' + ] %} + +{% endif %} + +{{ macros.install_packages(neutron_base_packages | customizable("packages")) }} + +ADD neutron-base-archive /neutron-base-source +ADD plugins-archive / + +{% set neutron_base_pip_packages = [ + '/neutron', + 'oslo-vmware', + 'tap-as-a-service' +] %} + +{% set neutron_base_plugins_pip_packages = [ + '/plugins/*' +] %} + +COPY neutron_sudoers /etc/sudoers.d/kolla_neutron_sudoers +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN mkdir -p /usr/local/lib/neutron-wrappers /usr/local/etc/neutron-wrappers +COPY dnsmasq haproxy keepalived neutron-keepalived-state-change radvd copy-wrappers delete-wrappers /usr/local/lib/neutron-wrappers/ +RUN chmod +x /usr/local/lib/neutron-wrappers/copy-wrappers \ + && chmod +x /usr/local/lib/neutron-wrappers/delete-wrappers + +RUN ln -s neutron-base-source/* neutron \ + && {{ macros.upper_constraints_remove('networking-generic-switch') }} \ + && {{ macros.install_pip(neutron_base_pip_packages | customizable("pip_packages")) }} \ + && mkdir -p /etc/neutron \ + && cp -r /neutron/etc/* /etc/neutron/ \ + && cp -r /neutron/etc/neutron/* /etc/neutron/ \ + && cp /var/lib/kolla/venv/etc/pycadf/neutron_api_audit_map.conf /etc/neutron/ \ + && mv /etc/neutron/neutron/ /etc/neutron/plugins/ \ + && 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 \ + && if [ "$(ls /plugins)" ]; then \ + {{ macros.install_pip(neutron_base_plugins_pip_packages) }} \ + && for neutron_plugins in $(ls /plugins); do \ + if [ -d "/plugins/$neutron_plugins/etc/neutron/rootwrap.d" ]; then \ + cp /plugins/$neutron_plugins/etc/neutron/rootwrap.d/* /etc/neutron/rootwrap.d; \ + fi; \ + done; \ + fi \ + && chmod 750 /etc/sudoers.d \ + && chmod 440 /etc/sudoers.d/kolla_neutron_sudoers \ + && touch /usr/local/bin/kolla_neutron_extend_start \ + && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_neutron_extend_start + +{{ macros.kolla_patch_sources() }} + +{% block neutron_base_footer %}{% endblock %} |
