9ea746e25f
* Changes for LLDP for Multi NPU Platoforms:- a) Enable LLDP for Host namespace for Management Port b) Make sure Management IP is avaliable in per asic namespace needed for LLDP Chassis configuration c) Make sure chassis mac-address is correct in per asic namespace d) Do not run lldp on eth0 of per asic namespace and avoid chassis configuration for same e) Use Linux hostname instead from Device Metadata for lldp chassis configuration since in multi-npu platforms device metadata hostname will be differnt Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> * Address Review Comment with following changes: a) Use Device Metadata hostname even in per namespace conatiner. updated minigraph parsing for same to have hostname as system hostname and add new key for asic name b) Minigraph changes to have MGMT_INTERFACE Key in per asic/namespace config also as needed for LLDP for setting chassis management IP. Signed-off-by: Abhishek Dosi <abdosi@microsoft.com> * Address Review Comments
48 lines
1.6 KiB
Django/Jinja
48 lines
1.6 KiB
Django/Jinja
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
|
|
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
|
|
|
|
# Update apt's cache of available packages
|
|
RUN apt-get update
|
|
|
|
{% if docker_lldp_sv2_debs.strip() -%}
|
|
# Copy locally-built Debian package dependencies
|
|
{{ copy_files("debs/", docker_lldp_sv2_debs.split(' '), "/debs/") }}
|
|
|
|
# Install locally-built Debian packages and implicitly install their dependencies
|
|
{{ install_debian_packages(docker_lldp_sv2_debs.split(' ')) }}
|
|
{%- endif %}
|
|
|
|
{% if docker_lldp_sv2_whls.strip() -%}
|
|
# Copy locally-built Python wheel dependencies
|
|
{{ copy_files("python-wheels/", docker_lldp_sv2_whls.split(' '), "/python-wheels/") }}
|
|
|
|
# Install locally-built Python wheel dependencies
|
|
{{ install_python_wheels(docker_lldp_sv2_whls.split(' ')) }}
|
|
{% endif %}
|
|
|
|
# Clean up
|
|
RUN apt-get purge -y python-pip && \
|
|
apt-get clean -y && \
|
|
apt-get autoclean -y && \
|
|
apt-get autoremove -y && \
|
|
rm -rf /debs \
|
|
/python-wheels \
|
|
~/.cache
|
|
|
|
COPY ["docker-lldp-init.sh", "/usr/bin/"]
|
|
COPY ["start.sh", "/usr/bin/"]
|
|
COPY ["supervisord.conf.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["lldpd.conf.j2", "/usr/share/sonic/templates/"]
|
|
COPY ["lldpd", "/etc/default/"]
|
|
COPY ["lldpmgrd", "/usr/bin/"]
|
|
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
|
|
COPY ["critical_processes", "/etc/supervisor"]
|
|
|
|
ENTRYPOINT ["/usr/bin/docker-lldp-init.sh"]
|