c651a9ade4
To prevent error [messages](https://dev.azure.com/mssonic/build/_build/results?buildId=2254&view=logs&j=9a13fbcd-e92d-583c-2f89-d81f90cac1fd&t=739db6ba-1b35-5485-5697-de102068d650&l=802) like the following from being logged: ``` Mar 17 02:33:48.523153 vlab-01 INFO swss#supervisord 2021-03-17 02:33:48,518 ERRO pool supervisor-proc-exit-listener event buffer overflowed, discarding event 46 ``` This is basically an addendum to https://github.com/Azure/sonic-buildimage/pull/5247, which increased the event buffer size for dependent-startup. While supervisor-proc-exit-listener doesn't subscribe to as many events as dependent-startup, there is still a chance some containers (like swss, as in the example above) have enough processes running to cause an overflow of the default buffer size of 10. This is especially important for preventing erroneous log_analyzer failures in the sonic-mgmt repo regression tests, which have started occasionally causing PR check builds to fail. Example [here](https://dev.azure.com/mssonic/build/_build/results?buildId=2254&view=logs&j=9a13fbcd-e92d-583c-2f89-d81f90cac1fd&t=739db6ba-1b35-5485-5697-de102068d650&l=802). I set all supervisor-proc-exit-listener event buffer sizes to 1024, and also updated all dependent-startup event buffer sizes to 1024, as well, to keep things simple, unified, and allow headroom so that we will not need to adjust these values frequently, if at all.
152 lines
3.7 KiB
Django/Jinja
152 lines
3.7 KiB
Django/Jinja
[supervisord]
|
|
logfile_maxbytes=1MB
|
|
logfile_backups=2
|
|
nodaemon=true
|
|
|
|
[eventlistener:dependent-startup]
|
|
command=python3 -m supervisord_dependent_startup
|
|
autostart=true
|
|
autorestart=unexpected
|
|
startretries=0
|
|
exitcodes=0,3
|
|
events=PROCESS_STATE
|
|
buffer_size=1024
|
|
|
|
[eventlistener:supervisor-proc-exit-listener]
|
|
command=/usr/bin/supervisor-proc-exit-listener --container-name pmon
|
|
events=PROCESS_STATE_EXITED,PROCESS_STATE_RUNNING
|
|
autostart=true
|
|
autorestart=unexpected
|
|
buffer_size=1024
|
|
|
|
[program:rsyslogd]
|
|
command=/usr/sbin/rsyslogd -n -iNONE
|
|
priority=1
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
dependent_startup=true
|
|
|
|
{% if not skip_chassisd and IS_MODULAR_CHASSIS == 1 %}
|
|
[program:chassisd]
|
|
command=/usr/local/bin/chassisd
|
|
priority=3
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=0
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_sensors and HAVE_SENSORS_CONF == 1 %}
|
|
[program:lm-sensors]
|
|
command=/usr/bin/lm-sensors.sh
|
|
priority=3
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=0
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_fancontrol and HAVE_FANCONTROL_CONF == 1 %}
|
|
[program:fancontrol]
|
|
command=/usr/sbin/fancontrol
|
|
priority=4
|
|
autostart=false
|
|
autorestart=unexpected
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=10
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_ledd %}
|
|
[program:ledd]
|
|
command={% if API_VERSION == 3 and 'ledd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/ledd
|
|
priority=5
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=0
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_xcvrd %}
|
|
[program:xcvrd]
|
|
{% if delay_xcvrd %}
|
|
command=bash -c "sleep 30 && {% if API_VERSION == 3 and 'xcvrd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/xcvrd"
|
|
{% else %}
|
|
command={% if API_VERSION == 3 and 'xcvrd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/xcvrd
|
|
{% endif %}
|
|
priority=6
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=0
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_psud %}
|
|
[program:psud]
|
|
command={% if API_VERSION == 3 and 'psud' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/psud
|
|
priority=7
|
|
autostart=false
|
|
autorestart=false
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=0
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_syseepromd %}
|
|
[program:syseepromd]
|
|
command={% if API_VERSION == 3 and 'syseepromd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/syseepromd
|
|
priority=8
|
|
autostart=false
|
|
autorestart=unexpected
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=10
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_thermalctld %}
|
|
[program:thermalctld]
|
|
command={% if API_VERSION == 3 and 'thermalctld' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/thermalctld
|
|
priority=9
|
|
autostart=false
|
|
autorestart=unexpected
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=10
|
|
startretries=50
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|
|
|
|
{% if not skip_pcied %}
|
|
[program:pcied]
|
|
command=/usr/local/bin/pcied
|
|
priority=10
|
|
autostart=false
|
|
autorestart=unexpected
|
|
stdout_logfile=syslog
|
|
stderr_logfile=syslog
|
|
startsecs=10
|
|
dependent_startup=true
|
|
dependent_startup_wait_for=rsyslogd:running
|
|
{% endif %}
|