diff --git a/files/scripts/syncd.sh b/files/scripts/syncd.sh index 2d095d45aa33..ce593d6cbdfb 100755 --- a/files/scripts/syncd.sh +++ b/files/scripts/syncd.sh @@ -64,8 +64,13 @@ start() { debug "Warm boot flag: ${SERVICE} ${WARM_BOOT}." - # Don't flush DB during warm boot - if [[ x"$WARM_BOOT" != x"true" ]]; then + if [[ x"$WARM_BOOT" == x"true" ]]; then + # Leave a mark for syncd scripts running inside docker. + touch /host/warmboot/warm-starting + else + rm -f /host/warmboot/warm-starting + + # Flush DB during non-warm start /usr/bin/docker exec database redis-cli -n 1 FLUSHDB # platform specific tasks diff --git a/platform/broadcom/docker-syncd-brcm/start.sh b/platform/broadcom/docker-syncd-brcm/start.sh index 98c7d9c15a0d..d082bbf31dbd 100755 --- a/platform/broadcom/docker-syncd-brcm/start.sh +++ b/platform/broadcom/docker-syncd-brcm/start.sh @@ -39,7 +39,7 @@ fi supervisorctl start syncd # If this platform has an initialization file for the Broadcom LED microprocessor, load it -if [ -r ${PLATFORM_DIR}/led_proc_init.soc ]; then +if [ -r ${PLATFORM_DIR}/led_proc_init.soc && ! -f /var/warmboot/warm-starting ]; then wait_syncd supervisorctl start ledinit fi