From 1e1b1454a8e468c2bb7d0bd804fe152402729a03 Mon Sep 17 00:00:00 2001 From: liora Date: Wed, 27 Jan 2021 15:14:31 +0200 Subject: [PATCH] FW burn issue solution design Signed-off-by: liora --- doc/fw_burn_init_issue/issue_description.svg | 3 +++ doc/fw_burn_init_issue/solution_design.md | 26 ++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100755 doc/fw_burn_init_issue/issue_description.svg create mode 100644 doc/fw_burn_init_issue/solution_design.md diff --git a/doc/fw_burn_init_issue/issue_description.svg b/doc/fw_burn_init_issue/issue_description.svg new file mode 100755 index 0000000000..f0baa7e59b --- /dev/null +++ b/doc/fw_burn_init_issue/issue_description.svg @@ -0,0 +1,3 @@ + + +
systemd
systemd
Asic DB
Asic DB
Syncd
Syncd
start
start
start orchagent
start orchagent
SWSS
SWSS
start
start
burn FW
burn FW
start syncd
start syncd
SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD
SAI_REDIS_SWITCH_ATTR_NOTIFY_S...
timeout
timeout
SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD
SAI_REDIS_SWITCH_ATTR_NOTIFY_S...
abort orchagent
abort orchagent
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/fw_burn_init_issue/solution_design.md b/doc/fw_burn_init_issue/solution_design.md new file mode 100644 index 0000000000..49396abd71 --- /dev/null +++ b/doc/fw_burn_init_issue/solution_design.md @@ -0,0 +1,26 @@ +# FW Burn Init Issue +# Overview +- We have an issue in init flow when FW burn takes place. +- We can see that SWSS Orchagent tries to configure Syncd while FW burn takes place. +- Since the flow is valid the decision that was taken is to increase timeout for Orchagent calls. +![fw_burn_init_issue](issue_description.svg "Figure 1: BFD in SONiC Architecture") + +# High-Level Design +- We set the timeout for SAI Redis calls in Orchagent init flow. +- Timeout value determined by system type. +- We have 2 system types, with and without Gearbox. +- In systems without Gearbox, FW burn takes ~2 min -> set timeout to 150 seconds +- In systems with Gearbox, FW burn takes ~7 min -> set timeout to 480 seconds +- See below table with time measurements + +|Operation|SPC1|SPC2|SPC3|SPC2 with Gearbox +|--|--|--|--|--| +|MST start|2s|2s|2s|2s +|FW burn|1m55s|1m27s|1m32s|1m35s +|SXD start|3s|12s|42s|5m26s +|Whole process|2m|1m41s|2m16s|7m3s + +# API +- This API allows us to set the timeout for SAI Redis API calls. +- Identifier: SAI_REDIS_SWITCH_ATTR_GET_RESPONSE_TIMEOUT_MS +- Value: determined by system type.