From 1e1b1454a8e468c2bb7d0bd804fe152402729a03 Mon Sep 17 00:00:00 2001 From: liora Date: Wed, 27 Jan 2021 15:14:31 +0200 Subject: [PATCH 1/2] 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 00000000000..f0baa7e59b5 --- /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 00000000000..49396abd714 --- /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. From 4f6c8f0477c862f6fd1f4c0d2ffa195b796596df Mon Sep 17 00:00:00 2001 From: liora Date: Wed, 27 Jan 2021 15:24:57 +0200 Subject: [PATCH 2/2] Revert "FW burn issue solution design" This reverts commit 1e1b1454a8e468c2bb7d0bd804fe152402729a03. --- doc/fw_burn_init_issue/issue_description.svg | 3 --- doc/fw_burn_init_issue/solution_design.md | 26 -------------------- 2 files changed, 29 deletions(-) delete mode 100755 doc/fw_burn_init_issue/issue_description.svg delete 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 deleted file mode 100755 index f0baa7e59b5..00000000000 --- a/doc/fw_burn_init_issue/issue_description.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
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 deleted file mode 100644 index 49396abd714..00000000000 --- a/doc/fw_burn_init_issue/solution_design.md +++ /dev/null @@ -1,26 +0,0 @@ -# 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.