@@ -31,8 +31,8 @@ function unlock_service_state_change()
3131
3232function check_warm_boot()
3333{
34- SYSTEM_WARM_START=` sonic-db- cli STATE_DB hget " WARM_RESTART_ENABLE_TABLE|system" enable`
35- SERVICE_WARM_START=` sonic-db- cli STATE_DB hget " WARM_RESTART_ENABLE_TABLE|${SERVICE} " enable`
34+ SYSTEM_WARM_START=` /usr/bin/redis- cli -n 6 hget " WARM_RESTART_ENABLE_TABLE|system" enable`
35+ SERVICE_WARM_START=` /usr/bin/redis- cli -n 6 hget " WARM_RESTART_ENABLE_TABLE|${SERVICE} " enable`
3636 if [[ x" $SYSTEM_WARM_START " == x" true" ]] || [[ x" $SERVICE_WARM_START " == x" true" ]]; then
3737 WARM_BOOT=" true"
3838 else
@@ -43,7 +43,7 @@ function check_warm_boot()
4343function validate_restore_count()
4444{
4545 if [[ x" $WARM_BOOT " == x" true" ]]; then
46- RESTORE_COUNT=` sonic-db- cli STATE_DB hget " WARM_RESTART_TABLE|orchagent" restore_count`
46+ RESTORE_COUNT=` /usr/bin/redis- cli -n 6 hget " WARM_RESTART_TABLE|orchagent" restore_count`
4747 # We have to make sure db data has not been flushed.
4848 if [[ -z " $RESTORE_COUNT " ]]; then
4949 WARM_BOOT=" false"
@@ -54,10 +54,12 @@ function validate_restore_count()
5454function wait_for_database_service()
5555{
5656 # Wait for redis server start before database clean
57- /usr/bin/docker exec database ping_pong_db_insts
57+ until [[ $( /usr/bin/docker exec database redis-cli ping | grep -c PONG) -gt 0 ]];
58+ do sleep 1;
59+ done
5860
5961 # Wait for configDB initialization
60- until [[ $( sonic-db- cli CONFIG_DB GET " CONFIG_DB_INITIALIZED" ) ]];
62+ until [[ $( /usr/bin/docker exec database redis- cli -n 4 GET " CONFIG_DB_INITIALIZED" ) ]];
6163 do sleep 1;
6264 done
6365}
@@ -67,7 +69,7 @@ function wait_for_database_service()
6769# $2 the string of a list of table prefixes
6870function clean_up_tables()
6971{
70- sonic-db- cli $1 EVAL "
72+ redis- cli -n $1 EVAL "
7173 local tables = {$2 }
7274 for i = 1, table.getn(tables) do
7375 local matches = redis.call('KEYS', tables[i])
@@ -112,11 +114,11 @@ start() {
112114 # Don't flush DB during warm boot
113115 if [[ x" $WARM_BOOT " != x" true" ]]; then
114116 debug " Flushing APP, ASIC, COUNTER, CONFIG, and partial STATE databases ..."
115- sonic-db- cli APPL_DB FLUSHDB
116- sonic-db- cli ASIC_DB FLUSHDB
117- sonic-db- cli COUNTERS_DB FLUSHDB
118- sonic-db- cli FLEX_COUNTER_DB FLUSHDB
119- clean_up_tables STATE_DB " 'PORT_TABLE*', 'MGMT_PORT_TABLE*', 'VLAN_TABLE*', 'VLAN_MEMBER_TABLE*', 'LAG_TABLE*', 'LAG_MEMBER_TABLE*', 'INTERFACE_TABLE*', 'MIRROR_SESSION*', 'VRF_TABLE*', 'FDB_TABLE*'"
117+ /usr/bin/docker exec database redis- cli -n 0 FLUSHDB
118+ /usr/bin/docker exec database redis- cli -n 1 FLUSHDB
119+ /usr/bin/docker exec database redis- cli -n 2 FLUSHDB
120+ /usr/bin/docker exec database redis- cli -n 5 FLUSHDB
121+ clean_up_tables 6 " 'PORT_TABLE*', 'MGMT_PORT_TABLE*', 'VLAN_TABLE*', 'VLAN_MEMBER_TABLE*', 'LAG_TABLE*', 'LAG_MEMBER_TABLE*', 'INTERFACE_TABLE*', 'MIRROR_SESSION*', 'VRF_TABLE*', 'FDB_TABLE*'"
120122 fi
121123
122124 # start service docker
@@ -164,7 +166,7 @@ stop() {
164166 # encountered error, e.g. syncd crashed. And swss needs to
165167 # be restarted.
166168 debug " Clearing FAST_REBOOT flag..."
167- clean_up_tables STATE_DB " 'FAST_REBOOT*'"
169+ clean_up_tables 6 " 'FAST_REBOOT*'"
168170
169171 # Unlock has to happen before reaching out to peer service
170172 unlock_service_state_change
0 commit comments