dae5c4c930
Fixes #5663 - Why I did it It's currently possible for the SNMP timer to conflict with config reload (specifically if the timer triggers while config reload is stopping the SWSS service). config reload triggers SWSS to shutdown, which causes SNMP to shutdown, which conflicts with the SNMP timer causing SNMP to startup. See the linked issue for more details. - How I did it Including the After ordering dependency forces the SNMP timer to wait until SWSS finishes stopping, preventing the conflict. If there is an ordering dependency between two units (e.g. one unit is ordered After another), if one unit is shutting down while the other is starting up, the shutdown will always be ordered before the startup. In this case, that means that the SNMP timer is forced to wait for the SWSS shutdown to complete. Only then can the SNMP timer proceed. See here for more details. It's important to note that the After dependency will not cause SWSS to be started when the SNMP timer fires (assuming that SWSS has not yet been started). The existing Requisite dependency in the SNMP service will also not cause SWSS to be started, instead it will cause the SNMP service to fail if SWSS is not active. Signed-off-by: Lawrence Lee <lawlee@microsoft.com>
13 lines
225 B
SYSTEMD
13 lines
225 B
SYSTEMD
[Unit]
|
|
Description=Delays snmp container until SONiC has started
|
|
Conflicts=snmp.service
|
|
After=swss.service
|
|
|
|
[Timer]
|
|
OnUnitActiveSec=0 sec
|
|
OnBootSec=3min 30 sec
|
|
Unit=snmp.service
|
|
|
|
[Install]
|
|
WantedBy=timers.target swss.service
|