From 9e56fea091e646663c42c63f935d7cf6dd8a602c Mon Sep 17 00:00:00 2001 From: Stephen Sun <5379172+stephenxs@users.noreply.github.com> Date: Mon, 24 Apr 2023 22:02:35 +0800 Subject: [PATCH] Temporary WA for the issue that asic_table.json can not be rendered (#13888) - Why I did it We suspect the issue #13791 is caused by redis server being temporarily unavailable during system initialization so we do not use -d in sonic-cfggen, for now, to avoid accessing redis server - How I did it Provide a string containing required json data when calling sonic-cfggen - How to verify it Manually test it Signed-off-by: Stephen Sun --- files/build_templates/docker_image_ctl.j2 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/files/build_templates/docker_image_ctl.j2 b/files/build_templates/docker_image_ctl.j2 index 0a4391cf62..4b0bf80231 100644 --- a/files/build_templates/docker_image_ctl.j2 +++ b/files/build_templates/docker_image_ctl.j2 @@ -424,6 +424,7 @@ start() { if [[ $? -ne 0 ]] ; then echo "sonic-cfggen failed to render asic_table.json" echo "$(cat errorlog.txt)" + sonic-cfggen -a '{"DEVICE_METADATA":{"localhost":{"platform":"'$PLATFORM'"}}}' -t /usr/share/sonic/templates/asic_table.j2 > /etc/sonic/asic_table.json fi fi if [ ! -f /etc/sonic/peripheral_table.json ] && [ -f /usr/share/sonic/device/$PLATFORM/port_peripheral_config.j2 ]; then @@ -431,6 +432,7 @@ start() { if [[ $? -ne 0 ]] ; then echo "sonic-cfggen failed to render peripheral_table.json" echo "$(cat errorlog.txt)" + sonic-cfggen -a '{"DEVICE_METADATA":{"localhost":{"platform":"'$PLATFORM'"}}}' -t /usr/share/sonic/device/$PLATFORM/port_peripheral_config.j2 > /etc/sonic/peripheral_table.json fi fi if [ ! -f /etc/sonic/zero_profiles.json ] && [ -f /usr/share/sonic/templates/zero_profiles.j2 ]; then @@ -438,6 +440,7 @@ start() { if [[ $? -ne 0 ]] ; then echo "sonic-cfggen failed to render zero_profiles.json" echo "$(cat errorlog.txt)" + sonic-cfggen -t /usr/share/sonic/device/$PLATFORM/zero_profiles.j2 > /etc/sonic/zero_profiles.json fi fi