52 lines
2.0 KiB
Django/Jinja
52 lines
2.0 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") }}
|
|
{{ copy_sources("openstack/networking-odl", "/networking-odl") }}
|
|
|
|
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 \
|
|
&& /var/lib/microservices/venv/bin/pip install --upgrade /networking-odl \
|
|
&& rm -rf /networking-odl
|
|
|
|
ENV PATH /var/lib/microservices/venv/bin:$PATH
|