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/build_templates
Vaibhav Hemant Dixit 908933bd8c
[202012] Fix CONFIG_DB_INITIALIZED flag check logic and set/reset flag for warmboot (#16225)
Cherry pick of #15685

MSFT ADO: 24274591

#### Why I did it

Two changes:
### 1  Fix a day1 issue, where check to wait until `CONFIG_DB_INITIALIZED` is incorrect.
There are multiple places where same incorrect logic is used.

Current logic (`until [[ $($SONIC_DB_CLI CONFIG_DB GET "CONFIG_DB_INITIALIZED") ]];`) will always result in pass, irrespective of the result of GET operation.
```
root@str2-7060cx-32s-29:~# sonic-db-cli CONFIG_DB GET "CONFIG_DB_INITIALIZED"
1
root@str2-7060cx-32s-29:~# until [[ $(sonic-db-cli CONFIG_DB GET "CONFIG_DB_INITIALIZED") ]]; do echo "entered here"; done
root@str2-7060cx-32s-29:~# 

root@str2-7060cx-32s-29:~# 
root@str2-7060cx-32s-29:~# sonic-db-cli CONFIG_DB GET "CONFIG_DB_INITIALIZED"                                             
0
root@str2-7060cx-32s-29:~# until [[ $(sonic-db-cli CONFIG_DB GET "CONFIG_DB_INITIALIZED") ]]; do echo "entered here"; done
root@str2-7060cx-32s-29:~# 
```

Fix this logic by checking for value of flag to be "1".
```
root@str2-7060cx-32s-29:~# until [[ $(sonic-db-cli CONFIG_DB GET "CONFIG_DB_INITIALIZED") -eq 1 ]]; do echo "entered here"; done
entered here
entered here
entered here
```

This gap in logic was highlighted when another fix was merged: https://github.com/sonic-net/sonic-buildimage/pull/14933
The issue being fixed here caused warmboot-finalizer to not wait until config-db is initialized.

### 2 Set and unset CONFIG_DB_INITIALIZED for warm-reboot case

Currently, during warm shutdown `CONFIG_DB_INITIALIZED`'s value is stored in redis db backup. This is restored back when the dump is loaded during warm-recovery.
So the value of `CONFIG_DB_INITIALIZED` does not depend on config db's state, however it remain what it was before reboot.

Fix this by setting `CONFIG_DB_INITIALIZED` to 0 as when the DB is loaded, and set it to 1 after db_migrator is done.
2023-08-24 11:48:56 -07:00
..
per_namespace [202012][BGP] starting BGP service after swss (#15365) 2023-06-07 19:19:37 -07:00
share_image [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
arp_update_vars.j2 [swss][arp_update] Send ipv6 pings over vlan sub interfaces (#8363) 2021-08-07 12:43:51 +00:00
backend_acl.j2 Add backend acl template (#11220) 2022-07-08 21:39:39 +00:00
buffers_config.j2 [202012][Buffer] Added cable length config to buffer config template for EdgeZoneAggregator (#14539) 2023-04-10 11:58:34 -07:00
config-chassisdb.service.j2 [ChassisDB]: bring up ChassisDB service (#5283) 2020-10-14 15:15:24 -07:00
config-setup.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00
database.service.j2 Multi-ASIC implementation (#3888) 2020-03-31 10:06:19 -07:00
dhcp_relay.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
docker_image_ctl.j2 [202012] Fix CONFIG_DB_INITIALIZED flag check logic and set/reset flag for warmboot (#16225) 2023-08-24 11:48:56 -07:00
gbsyncd.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
iccpd.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
init_cfg.json.j2 [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
kube_cni.10-flannel.conflist First cut image update for kubernetes support. (#5421) 2020-12-22 08:01:33 -08:00
lldp.service.j2 Changes for LLDP docker to support multi-npu platforms (#4530) 2020-05-11 11:05:44 -07:00
lldp.timer.j2 [202012] [Fastboot] Delay LLDP service for better fastboot performance (#10568) (#10744) 2022-05-15 15:05:29 +03:00
mgmt-framework.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
mgmt-framework.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
mux.service.j2 [mux] Exit to write standby state to active-active ports (#11821) 2022-10-03 19:52:51 +00:00
nat.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
organization_extensions.sh Framework to plugin Organization specific scripts during ONIE Image build (#951) 2017-09-19 16:23:31 -07:00
pmon.service.j2 [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
pmon.timer [202012] [Fastboot] Delay PMON service for better fastboot performance (#10745) 2022-05-15 23:31:32 -07:00
qos_config.j2 [202012] Apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP on dualtor (#12792) 2022-11-23 21:49:00 +08:00
radv.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
restapi.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
sflow.service.j2 [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
snmp.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
snmp.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
sonic_debian_extension.j2 [202012] [TACACS+] Add audisp-tacplus for per-command accounting. (#8750) (#15788) 2023-07-12 18:46:47 -07:00
sonic-delayed.target Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
sonic.target [services] introduce sonic.target (#5705) 2021-03-04 21:23:05 +00:00
swss_vars.j2 [swss_vars]: Add 'resource_type' attribute. (#7188) 2021-05-03 10:38:11 -07:00
tacacs-config.service Add service to restore TACACS from old config (#7560) 2021-06-07 06:02:32 +00:00
tacacs-config.timer Add service to restore TACACS from old config (#7560) 2021-06-07 06:02:32 +00:00
telemetry.service.j2 [services] kill container on stop in warm/fast mode (#10511) 2022-04-18 14:27:48 -07:00
telemetry.timer Grouping delayed services under a target for config reload checks (#7846) 2021-08-16 07:50:56 +00:00
updategraph.service.j2 [config-setup]: create a SONiC configuration management service (#3227) 2019-12-04 07:15:58 -08:00