This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/dockers/docker-platform-monitor/Dockerfile.j2
Samuel Angebault 77cde50541 [device/Arista] Improvements to the boot of Arista devices. (#2898)
* Fix showing systemd shutdown sequence when verbose is set

* Fix creation of kernel-cmdline file

Sometimes boot0 prints error
"mv: can't preserve ownership of '/mnt/flash/image-arsonic.xxxx/kernel-cmdline': Operation not permitted"

* Improve flash space usage during installation

Some older systems only have 2GB of flash available. Installing a second
image on these can prove to be challenging.
The new installation process moves the installer swi to memory in order
to avoid free up space from the flash before uncompressing it there.
It removes all the flash space usage spike and also improves the IO
since the installation is no more reading and writting to the flash at
the same time.

* Add support of 7060CX-32S-SSD

* 7260CX3: use inventory powerCycle procedures

* 7050QX-32S: use inventory powerCycle procedures

* 7050QX-32: use inventory powerCycle procedures

* platform: arista: add common platform_reboot

Replace platform_reboot by a link to new common for devices already
using a similar script.

* 7060CX-32S: use inventory powerCycle procedures

* Install python smbus in pmon

Some platform plugin need the python smbus library to perform some actions.
This installs the dependency.
2019-05-15 12:45:05 -07:00

59 lines
2.0 KiB
Django/Jinja
Executable File

FROM docker-config-engine-stretch
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
# Install required packages
RUN apt-get update && apt-get install -y python-pip libpython2.7 ipmitool librrd8 librrd-dev rrdtool python-smbus
{% if docker_platform_monitor_debs.strip() -%}
# Copy locally-built Debian package dependencies
{%- for deb in docker_platform_monitor_debs.split(' ') %}
COPY debs/{{ deb }} /debs/
{%- endfor %}
# Install locally-built Debian packages and implicitly install their dependencies
{%- for deb in docker_platform_monitor_debs.split(' ') %}
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }}
{%- endfor %}
{%- endif %}
{% if docker_platform_monitor_pydebs.strip() -%}
# Copy locally-built Debian package dependencies
{%- for deb in docker_platform_monitor_pydebs.split(' ') %}
COPY python-debs/{{ deb }} /debs/
{%- endfor %}
# Install locally-built Debian packages and implicitly install their dependencies
{%- for deb in docker_platform_monitor_pydebs.split(' ') %}
RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }}
{%- endfor %}
{%- endif %}
{% if docker_platform_monitor_whls.strip() -%}
# Copy locally-built Python wheel dependencies
{%- for whl in docker_platform_monitor_whls.split(' ') %}
COPY python-wheels/{{ whl }} /python-wheels/
{%- endfor %}
# Install locally-built Python wheel dependencies
{%- for whl in docker_platform_monitor_whls.split(' ') %}
RUN pip install /python-wheels/{{ whl }}
{%- endfor %}
{% endif %}
# Clean up
RUN apt-get purge -y python-pip
RUN apt-get clean -y
RUN apt-get autoclean -y
RUN apt-get autoremove -y
RUN rm -rf /debs /python-wheels ~/.cache
COPY ["docker_init.sh", "lm-sensors.sh", "/usr/bin/"]
COPY ["docker-pmon.supervisord.conf.j2", "start.sh.j2", "/usr/share/sonic/templates/"]
ENTRYPOINT ["/usr/bin/docker_init.sh"]