Add the same mechanism I developed for the SwSS service in #2845 to the syncd service. However, in order to cause the SwSS service to also exit and restart in this situation, I developed a docker-wait-any program which the SwSS service uses to wait for either the swss or syncd containers to exit.
* This new daemon will listen to the SDK for the SDK change event,
* after got a SFP change event will publish a notification via DB.
modified: platform/mellanox/docker-syncd-mlnx-rpc.mk
modified: platform/mellanox/docker-syncd-mlnx.mk
modified: platform/mellanox/docker-syncd-mlnx/start.sh
modified: platform/mellanox/docker-syncd-mlnx/supervisord.conf
new file: platform/mellanox/mlnx-sfpd.mk
new file: platform/mellanox/mlnx-sfpd/scripts/mlnx-sfpd
new file: platform/mellanox/mlnx-sfpd/setup.py
modified: platform/mellanox/rules.mk
signed-off-by Liu Kebo kebol@mellanox.com
- This PR allows supervisord to log syncd exit events to syslog
- Syncd dockers now are built from docker-config-engine instead of docker-base
- Supervisord in all syncd dockers now call syncd_start.s which is installed by sonic-sairedis repo
- Consolidate config.sh and start.sh scripts into one script (start.sh)
- Solve issue #435 - All dockers now run supervisord as their ENTRYPOINT
- All stdout/stderr output from processes managed by supervisord is now sent to syslog instead of their own files
- Supervisord log messages are now also sent to syslog
- Removed unused smartmontools package from docker-platform-monitor