sonic-buildimage/files/scripts
Vaibhav Hemant Dixit 0b83639068
Fix CONFIG_DB_INITIALIZED flag check logic and set/reset flag for warmboot (#15685) (#16217)
Cherypick 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: #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.

Work item tracking
Microsoft ADO (number only):
How I did it
How to verify it
2023-08-24 16:58:24 +08:00
..
arp_update [arp_update]: Fix IPv6 neighbor race condition (#15583) (#15877) 2023-07-19 20:06:12 +08:00
asic_status.py [chassis] update the asic_status.py to read from CHASSIS_FABRIC_ASIC_INFO_TABLE (#12576) 2022-12-07 21:53:47 -08:00
asic_status.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
bgp.sh Finalize fast-reboot in warmboot finalizer (#14238) 2023-04-09 16:59:15 +03:00
configdb-load.sh [MultiDB] use sonic-db-cli PING and fix wrong multiDB API in NAT (#4541) 2020-05-06 15:41:28 -07:00
core_cleanup.py [Python] Align files in root dir, dockers/ and files/ with PEP8 standards (#6109) 2020-12-03 15:57:50 -08:00
database.sh [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
gbsyncd-platform.sh [gearbox] provide common gbsyncd.service.j2 to start for platform specific gbsyncd docker (#9332) 2021-11-23 10:44:29 -08:00
gbsyncd.sh Address Review Comment to define SONIC_GLOBAL_DB_CLI in gbsyncd.sh (#11857) 2022-08-29 08:19:28 -07:00
lldp.sh [systemd] ASIC status based service bringup on VOQ chassis (#7477) 2021-07-27 23:02:49 -07:00
mark_dhcp_packet.py Replace os.system and remove subprocess with shell=True (#12177) 2022-11-04 10:48:51 -04:00
mgmt-framework.sh [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
radv.sh [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
service_mgmt.sh Finalize fast-reboot in warmboot finalizer (#14238) 2023-04-09 16:59:15 +03:00
snmp.sh [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
sonic-netns-exec [sonic-netns-exec]: use "$@" to reflects all positional parameters as they were set initially (#4375) 2020-04-07 00:05:47 -07:00
supervisor-proc-exit-listener Add watchdog mechanism to swss service and generate alert when swss have issue. (#15429) 2023-06-12 17:53:54 -07:00
swss.sh Fix CONFIG_DB_INITIALIZED flag check logic and set/reset flag for warmboot (#15685) (#16217) 2023-08-24 16:58:24 +08:00
syncd_common.sh Fix CONFIG_DB_INITIALIZED flag check logic and set/reset flag for warmboot (#15685) (#16217) 2023-08-24 16:58:24 +08:00
syncd.sh [syncd.sh] Clear semaphore before updating firmware (#15818) (#16067) 2023-08-07 18:20:15 +08:00
teamd.sh Finalize fast-reboot in warmboot finalizer (#14238) 2023-04-09 16:59:15 +03:00
telemetry.sh [services] kill container on stop in warm/fast mode (#10510) 2022-09-19 19:34:33 +03:00
update_chassisdb_config In modular chassis, add CHASSIS_STATE_DB on control card (#5624) 2020-12-15 17:15:00 -08:00
write_standby.py Increase wait_for_tunnel() timeout to 90s (#14279) 2023-04-07 11:30:58 +08:00