af97e23686
**- Why I did it** If we ran the CLI commands `sudo config feature autorestart snmp disabled/enabled` or `sudo config feature autorestart swss disabled/enabled`, then SNMP container will be stopped and started. This behavior was not expected since we updated the `auto_restart` field not update `state` field in `FEATURE` table. The reason behind this issue is that either `state` field or `auto_restart` field was updated, the function `update_feature_state(...)` will be invoked which then starts snmp.timer service. The snmp.timer service will first stop snmp.service and later start snmp.service. In order to solve this issue, the function `update_feature_state(...)` will be only invoked if `state` field in `FEATURE` table was updated. **- How I did it** When the demon `hostcfgd` was activated, all the values of `state` field in `FEATURE` table of each container will be cached. Each time the function `feature_state_handler(...)` is invoked, it will determine whether the `state` field of a container was changed or not. If it was changed, function `update_feature_state(...)` will be invoked and the cached value will also be updated. Otherwise, nothing will be done. **- How to verify it** We can run the CLI commands `sudo config feature autorestart snmp disabled/enabled` or `sudo config feature autorestart swss disabled/enabled` to check whether SNMP container is stopped and started. We also can run the CLI commands `sudo config feature state snmp disabled/enabled` or `sudo config feature state swss disabled/enabled` to check whether the container is stopped and restarted. Signed-off-by: Yong Zhao <yozhao@microsoft.com> |
||
---|---|---|
.. | ||
apt | ||
bash | ||
caclmgrd | ||
config-chassisdb | ||
config-setup | ||
constants | ||
corefile_uploader | ||
cron.d | ||
ebtables | ||
environment | ||
fstrim | ||
hostcfgd | ||
hostname | ||
interfaces | ||
kubernetes | ||
logrotate | ||
misc | ||
monit | ||
ntp | ||
pcie-check | ||
platform | ||
procdockerstatsd | ||
process-reboot-cause | ||
rsyslog | ||
secureboot | ||
snmp | ||
sudoers | ||
sysctl | ||
syslog | ||
system-health | ||
systemd | ||
topology | ||
updategraph | ||
warmboot-finalizer | ||
watchdog-control |