fuel-ccp-neutron/docker/neutron-base/Dockerfile.j2

49 lines
1.8 KiB
Django/Jinja

FROM {{ image_spec("openstack-base") }}
MAINTAINER {{ maintainer }}
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
iputils-arping \
conntrack \
dnsmasq \
dnsmasq-utils \
ipset \
iptables \
openvswitch-switch \
uuid-runtime \
mysql-client \
net-tools \
&& apt-get clean
{{ copy_sources("openstack/neutron", "/neutron") }}
{{ copy_sources("projectcalico/libcalico", "/libcalico") }}
{{ copy_sources("projectcalico/calico", "/calico") }}
{{ copy_sources("openstack/networking-calico", "/networking-calico") }}
RUN cd /neutron \
&& useradd --user-group neutron \
&& /var/lib/microservices/venv/bin/pip install --upgrade /neutron \
&& mkdir -p /etc/neutron /usr/share/neutron /var/lib/neutron /home/neutron \
&& cp -r /neutron/etc/* /etc/neutron/ \
&& cp -r /neutron/etc/neutron/* /etc/neutron/ \
&& cp /neutron/etc/api-paste.ini /usr/share/neutron \
&& mv /etc/neutron/neutron/ /etc/neutron/plugins/ \
&& chown -R neutron: /etc/neutron /usr/share/neutron /var/lib/neutron /home/neutron \
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/microservices/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/neutron/rootwrap.conf
COPY neutron_sudoers /etc/sudoers.d/neutron_sudoers
RUN usermod -a -G microservices neutron \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/neutron_sudoers
RUN /var/lib/microservices/venv/bin/pip install --upgrade /libcalico \
&& rm -rf /libcalico \
&& mkdir -p /var/log/calico /etc/calico \
&& /var/lib/microservices/venv/bin/pip install --upgrade /calico \
&& rm -rf /calico \
&& /var/lib/microservices/venv/bin/pip install --upgrade /networking-calico \
&& rm -rf /networking-calico
ENV PATH /var/lib/microservices/venv/bin:$PATH