d40c9a1e8d
**- Why I did it** As part of migrating SONiC codebase from Python 2 to Python 3 **- How I did it** - No longer install Python 2 in docker-base-buster or docker-config-engine-buster. - Install Python 2 and pip2 in the following containers until we can completely eliminate it there: - docker-platform-monitor - docker-sonic-mgmt-framework - docker-sonic-vs - Pin pip2 version <21 where it is still temporarily needed, as pip version 21 will drop support for Python 2 - Also preform some other cleanup, ensuring that pip3, setuptools and wheel packages are installed in docker-base-buster, and then removing any attempts to re-install them in derived containers
57 lines
1.7 KiB
Django/Jinja
57 lines
1.7 KiB
Django/Jinja
FROM docker-config-engine-buster
|
|
|
|
ARG docker_container_name
|
|
RUN [ -f /etc/rsyslog.conf ] && sed -ri "s/%syslogtag%/$docker_container_name#%syslogtag%/;" /etc/rsyslog.conf
|
|
|
|
## Make apt-get non-interactive
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y g++ python3-dev libxml2
|
|
|
|
# TODO: Remove these lines once we no longer need Python 2
|
|
RUN apt-get install -f -y python-dev python-pip
|
|
RUN pip2 install --upgrade 'pip<21'
|
|
RUN apt-get purge -y python-pip
|
|
RUN pip2 install setuptools==40.8.0
|
|
RUN pip2 install wheel==0.35.1
|
|
RUN pip2 install connexion==1.1.15 \
|
|
setuptools==21.0.0 \
|
|
grpcio-tools==1.20.0 \
|
|
certifi==2017.4.17 \
|
|
python-dateutil==2.6.0 \
|
|
six==1.11.0 \
|
|
urllib3==1.21.1
|
|
|
|
RUN pip3 install connexion==2.7.0 \
|
|
setuptools==21.0.0 \
|
|
grpcio-tools==1.20.0 \
|
|
certifi==2017.4.17 \
|
|
python-dateutil==2.6.0 \
|
|
six==1.11.0 \
|
|
urllib3==1.21.1
|
|
|
|
COPY \
|
|
{% for deb in docker_sonic_mgmt_framework_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor -%}
|
|
debs/
|
|
|
|
RUN dpkg -i \
|
|
{% for deb in docker_sonic_mgmt_framework_debs.split(' ') -%}
|
|
debs/{{ deb }}{{' '}}
|
|
{%- endfor %}
|
|
|
|
COPY ["start.sh", "rest-server.sh", "/usr/bin/"]
|
|
COPY ["mgmt_vars.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["supervisord.conf", "/etc/supervisor/conf.d/"]
|
|
|
|
# TODO: Remove this line once we no longer need Python 2
|
|
RUN apt-get purge -y python-dev
|
|
|
|
RUN apt-get remove -y g++ python3-dev
|
|
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
|
|
RUN rm -rf /debs
|
|
|
|
ENTRYPOINT ["/usr/local/bin/supervisord"]
|