This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/files/image_config
yozhao101 d8ae2a0019 [hostcfgd] Enable/disable the container service only when the feature state was changed. (#5689)
**- 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>
2020-10-23 15:45:04 -07:00
..
apt [build]: SONiC buildimage ARM arch support (#2980) 2019-07-25 22:06:41 -07:00
bash [baseimage]: Increase TMOUT for serial port connections to 15 minutes (#3032) 2019-06-19 00:16:01 -07:00
caclmgrd [caclmgrd] Prevent unnecessary iptables updates (#5312) 2020-10-21 12:15:04 -07:00
config-setup [platform] Add Support For Environment Variable File (#5010) 2020-09-28 21:14:39 +00:00
constants [bgp] Add 'allow list' manager feature (#5513) 2020-10-06 11:15:19 -07:00
corefile_uploader corefile uploader: Updates per review comments offline (#3915) 2019-12-31 14:42:01 -08:00
cron.d [core_cleanup] Fix issue where core_cleanup job runs too frequently (#3659) 2019-10-23 15:55:47 -07:00
ebtables [ebtables]add the filter rule for ARP packets with vlan tag: (#3945) 2020-05-09 18:36:36 -07:00
environment [image]: Update login message (#706) 2017-06-14 15:18:02 -07:00
fstrim [baseimage]: Add fstrim service and fstrim timer by default (#2804) 2019-04-21 14:21:16 -07:00
hostcfgd [hostcfgd] Enable/disable the container service only when the feature state was changed. (#5689) 2020-10-23 15:45:04 -07:00
hostname [hostname-config] improve hostname-config process (#3676) 2019-10-29 08:30:27 -07:00
interfaces Fixing Bad Cherry-pick 2020-03-04 10:46:45 -08:00
kubernetes [baseimage]: Install Kubernetes packages if enabled in image (#4374) (#4432) 2020-04-16 21:54:45 -07:00
logrotate [logrotate] Enhance robustness (#2942) 2019-05-25 18:00:18 -07:00
misc [docker-syncd]: Restart SwSS, syncd and dependent services if a critical process in syncd container exits unexpectedly (#3534) 2019-11-09 10:26:39 -08:00
monit [201911][Monit] Unmonitor processes in disabled containers (#5462) 2020-09-25 00:30:41 -07:00
ntp [ntp] disable ntp long jump (#4748) 2020-06-16 08:15:00 -07:00
platform [rc.local] separate configuration migration and grub installation logic (#5528) 2020-10-04 19:41:50 +00:00
procdockerstatsd Fix exception when attempting to write a datetime to db (#5467) 2020-09-28 16:18:24 +00:00
process-reboot-cause [process-reboot-cause] Use Logger class from sonic-py-common package (#5384) 2020-09-19 13:59:59 -07:00
rsyslog syslog changes Multi ASIC platforms (#4738) 2020-07-05 15:19:22 -07:00
snmp mvrf_avoid_snmp_yml_config: made changes to pass SNMP config from con… (#4057) 2020-02-03 15:38:38 -08:00
sudoers [201911][sudoers] Add sonic_installer list to read-only commands (#4997) 2020-07-17 20:13:42 -07:00
sysctl [sonic-buildimage] Changes to make network specific sysctl common for both host and docker namespace (#4838) 2020-07-05 15:32:30 -07:00
syslog [baseimage]: /host unmount timeout issue during reboot. (#5032) 2020-08-09 10:38:33 -07:00
systemd [services] Restart SwSS service upon unexpected critical process exit (#2845) 2019-05-01 08:02:38 -07:00
topology [platform] Add Support For Environment Variable File (#5010) 2020-09-28 21:14:39 +00:00
updategraph [platform] Add Support For Environment Variable File (#5010) 2020-09-28 21:14:39 +00:00
warmboot-finalizer [MultiDB] use sonic-db-cli PING and fix wrong multiDB API in NAT (#4541) 2020-05-09 18:16:48 -07:00
watchdog-control Add disabling HW watchdog during boot for fast-reboot and warm-reboot (#4927) 2020-08-09 11:25:31 -07:00