From ea4c0643b5d41cb554b5a099e2230112b81ad444 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Tue, 3 Jan 2023 14:22:08 -0800 Subject: [PATCH 01/12] Create dump_on_sai_failure.md --- .../dump_on_sai_failure.md | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 doc/SAI_failure_handling/dump_on_sai_failure.md diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md new file mode 100644 index 00000000000..60218dd01b2 --- /dev/null +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -0,0 +1,77 @@ +# Dump on SAI failure # + +## Table of Content + +- [Revision](#revision) +- [Scope](#scope) +- [Definitions/Abbreviations](#definitionsabbreviations) +- [Overview](#overview) +- [Requirements](#requirements) +- [High-Level Design](#high-level-design) +- [SAI API Requirements](#sai-api-requirements) +- [Configuration and management ](#configuration-and-management) + - [Config command](#config-command) + - [Show command](#show-command) + - [DB Migrator](#db-migrator) +- [YANG Model changes](#yang-model-changes) +- [Warmboot and Fastboot Considerations](#warmboot-and-fastboot-considerations) +- [Testing Design](#testing-design) + - [Unit Tests](#unit-tests) + - [System tests](#system-tests) + + +### Revision + + | Rev | Date | Author | Change Description | + |:---:|:-----------:|:-------------------:|--------------------------------------------| + | 0.1 | | Sudharsan | Initial version | + +### Scope +The scope of this document is to design the handling of taking a dump during a SAI failure. + +### Definitions/Abbreviations + + +### Overview +In the existing design, when SAI failure occurs, the orchagent aborts and all the dependent services including syncd restart. This results in failure to take the SAI, SDK and lower layer state during the problem state resulting in loss of information to debug. +To solve this issue, whenever there is a SAI failure, orchagent requests syncd to take relevant dumps and once done, it proceeds for the abort. + +### Requirements + +Primary requirements for taking dump during SAI failure are +- The dump needs to be taken synchronosly before abort. +- The infra to take dump should be flexible to allow for platform specific calls similar to techsupport. +- The dumps should be accessible in the host which can be then collected by techsupport. +- Limit the number of dumps + + +### High-Level Design + +### SAI API Requirements +None + +### Configuration and management + +#### Config command + +No new commands are introduced as part of this design. + +#### Show command + +No new commands are introduced as part of this design + +#### DB Migrator + + +### YANG model changes + + +### Warmboot and Fastboot Considerations + + +### Testing Design + +#### Unit tests +#### System tests + + From e16b074657d0ba89e8cd52fd1001c3c65c251b9b Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Tue, 3 Jan 2023 16:38:05 -0800 Subject: [PATCH 02/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index 60218dd01b2..91326906ef4 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -42,10 +42,14 @@ Primary requirements for taking dump during SAI failure are - The dump needs to be taken synchronosly before abort. - The infra to take dump should be flexible to allow for platform specific calls similar to techsupport. - The dumps should be accessible in the host which can be then collected by techsupport. -- Limit the number of dumps +- Limit the number of dumps (Rotation) ### High-Level Design +A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. +Once the dump is invoked, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps to 10. + +Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected. ### SAI API Requirements None From 5f0696625a4caa59d97fbb5b0274fa85ec2922e4 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Tue, 3 Jan 2023 18:38:39 -0800 Subject: [PATCH 03/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index 91326906ef4..93448f9a788 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -65,17 +65,18 @@ No new commands are introduced as part of this design. No new commands are introduced as part of this design #### DB Migrator - +N/A ### YANG model changes - +N/A ### Warmboot and Fastboot Considerations - +N/A ### Testing Design #### Unit tests #### System tests - +1) Simulate SAI failure and verify if SAI failure dump is created. +2) Verify if the dump in techsupport contains the SAI failure dump is collected. From c11c4ffb925078056fec1968528de816f40a7b88 Mon Sep 17 00:00:00 2001 From: dgsudharsan Date: Wed, 4 Jan 2023 02:46:54 +0000 Subject: [PATCH 04/12] Adding images --- .../SAI_failure_dump_flow.JPG | Bin 0 -> 51836 bytes .../SAI_failure_dump_sequence.JPG | Bin 0 -> 55473 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/SAI_failure_handling/SAI_failure_dump_flow.JPG create mode 100644 images/SAI_failure_handling/SAI_failure_dump_sequence.JPG diff --git a/images/SAI_failure_handling/SAI_failure_dump_flow.JPG b/images/SAI_failure_handling/SAI_failure_dump_flow.JPG new file mode 100644 index 0000000000000000000000000000000000000000..ff3a1b9e16819a32a519c4771b7c4296a36b88e0 GIT binary patch literal 51836 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 Date: Tue, 3 Jan 2023 18:51:40 -0800 Subject: [PATCH 05/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index 93448f9a788..65a1f6ae5ad 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -51,6 +51,12 @@ Once the dump is invoked, the generic syncd dump script will perform rotation on Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected. +The below diagram explains the sequence when a SAI failure happens +![](/images/SAI_failure_handling/SAI_failure_dump_sequence.JPG) + +The flow inside syncd is shown below +![](/images/SAI_failure_handling/SAI_failure_dump_flow.JPG) + ### SAI API Requirements None From 072697dbcb54cab0789a454af8f1868d66fe5777 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Sun, 8 Jan 2023 21:00:57 -0800 Subject: [PATCH 06/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index 65a1f6ae5ad..b5512a74e6b 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -46,8 +46,7 @@ Primary requirements for taking dump during SAI failure are ### High-Level Design -A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. -Once the dump is invoked, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps to 10. +A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps to 10. Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected. @@ -82,6 +81,8 @@ N/A ### Testing Design #### Unit tests +1) Gtest for syncd infrastructure to test the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP. + #### System tests 1) Simulate SAI failure and verify if SAI failure dump is created. 2) Verify if the dump in techsupport contains the SAI failure dump is collected. From 530a9a7e91a8b874dc623d467437cabf5194c3ab Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Mon, 9 Jan 2023 09:30:16 -0800 Subject: [PATCH 07/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index b5512a74e6b..8666c4a85f1 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -46,9 +46,11 @@ Primary requirements for taking dump during SAI failure are ### High-Level Design -A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps to 10. +A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps. A variable by name SAI_FAILURE_DUMP_COUNT is defined in the generic script which by default is set to 10. This variable can be overwritten in the platform specific script if the platform wants a different number of dumps. -Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected. +Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected and once collected, they will be cleared from /var/log/sai_failure_dump/ + +The above path will also be part of logrotate script logic inorder to have a check on the dumps not over running the disk space. The below diagram explains the sequence when a SAI failure happens ![](/images/SAI_failure_handling/SAI_failure_dump_sequence.JPG) From c547ccc578f41837dc5406e5fc16320016ae0eb2 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Mon, 9 Jan 2023 21:50:32 -0800 Subject: [PATCH 08/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index 8666c4a85f1..dd836993429 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -46,7 +46,7 @@ Primary requirements for taking dump during SAI failure are ### High-Level Design -A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps. A variable by name SAI_FAILURE_DUMP_COUNT is defined in the generic script which by default is set to 10. This variable can be overwritten in the platform specific script if the platform wants a different number of dumps. +A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps. A variable by name SAI_MAX_FAILURE_DUMPS is defined in the generic script which by default is set to 10. This variable can be overwritten in the platform specific script if the platform wants a different number of dumps. Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected and once collected, they will be cleared from /var/log/sai_failure_dump/ From 249cd3e04d20cd076c1d959dd8a41eff29e56d5f Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Thu, 19 Jan 2023 20:40:19 -0800 Subject: [PATCH 09/12] Update dump_on_sai_failure.md --- doc/SAI_failure_handling/dump_on_sai_failure.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index dd836993429..a1675a8caf4 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -46,7 +46,7 @@ Primary requirements for taking dump during SAI failure are ### High-Level Design -A new custom attribute SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP is defined. When there is a SAI failure, before calling the abort, orchagent sets the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps. A variable by name SAI_MAX_FAILURE_DUMPS is defined in the generic script which by default is set to 10. This variable can be overwritten in the platform specific script if the platform wants a different number of dumps. +A new enum value for SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD is defined (SAI_REDIS_NOTIFY_SYNCD_INVOKE_DUMP). When there is a SAI failure, before calling the abort, orchagent sets the switch attribute SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD with value SAI_REDIS_NOTIFY_SYNCD_INVOKE_DUMP attribute. On receiving this attribute syncd calls the generic dump script which is present in /usr/bin/syncd_dump.sh. This script will check for the presence of platform specific dump script which should be located at /usr/bin/platform_syncd_dump.sh. If this script is present, it would be invoked to take the necessary dump. Vendors if they intend to take dumps during SAI failure can define the script in their syncd docker. The dumps collected from this script should be stored in /var/log/sai_failure_dump/ which will be exposed to the host. Only one file should be stored per dump in order to facilitate the rotation logic. Once the dump is finished, the generic syncd dump script will perform rotation on /var/log/sai_failure_dump/ to restrict the number of dumps. A variable by name SAI_MAX_FAILURE_DUMPS is defined in the generic script which by default is set to 10. This variable can be overwritten in the platform specific script if the platform wants a different number of dumps. Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected and once collected, they will be cleared from /var/log/sai_failure_dump/ @@ -83,7 +83,8 @@ N/A ### Testing Design #### Unit tests -1) Gtest for syncd infrastructure to test the SAI_REDIS_SWITCH_ATTR_FAILURE_DUMP. +1) Gtest for syncd infrastructure to test the SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD. +2) Gtest in orchagent to test the SAI failure scenario #### System tests 1) Simulate SAI failure and verify if SAI failure dump is created. From 124eb871000008828186bc2e96dc4d709f598b2d Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Thu, 19 Jan 2023 20:40:56 -0800 Subject: [PATCH 10/12] Add files via upload --- .../SAI_failure_dump_sequence.JPG | Bin 55473 -> 55810 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/SAI_failure_handling/SAI_failure_dump_sequence.JPG b/images/SAI_failure_handling/SAI_failure_dump_sequence.JPG index d087f531250fc75a8b461120eea2b41e34536f1c..e31a5a33c3d70399b65361c007bc635f48d2d4ee 100644 GIT binary patch delta 22396 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

    axAjv1a^b+z4@^h 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 delta 22061 zcmb@tc|27A-#0!*DQn2Sl|5@&3mK9$-pc+`r%b$IP5_9%s&ZFR$hKdcL3U;2M(3N|Fj`ZNP03CE((( zx5MN21y<50dk&#FC=wTWhRu6_qSH9iqRQ5t51Zf9hzuE z?D3!FNm=h~+|;AS2U}CBl%7L6p|Vj%!Zvw*!0HuvHYH{;R-u&hdAlvOM;oN#-6B^n zl9pgJ3HP-x!wa25x+YHm#%AyQS!=DMPyvnZfae|@RW-x$exdT&pE{X%1xjr#xC zz%-0_FBkobOlGw#o1!vg7eMYT7Zi!ncCS_!m?;;Z2;IMFi97oQ3>7rayfX5WrTO@b zWW7mvP=Rbo)Yc5Yg464oO3v_!&sNQq4r%)sxty|?n0Ne!ayI2Dp?it_IpQb-msE!R za|Ga~!lgvjPX&y}y!ypNku43&d(5=^JMpH}7oafO9VN~zRrojTE+(`(upB>1Lru_h zk5r_r#(vwR#peOp6)7*hRYerPiiu=J%s;T5y&09|b*#-%C0M!}45h6-htR@l$Km#} z-CUeosRuzcav$qZyx7lj4rx@g=6)#GnzrdA%&YQTs;Yqyb6y$4LXyoU;gx1CdV(_E z6+4Vx=$_NYa273D3K&}Q-v=H}iAb#{GM?>V=w~#YTmX`s9+3f`uXaWcxR)-!M-xW0Ig7>%T+`A?QgQ_mpYZ*jz6{Za+B~rYk8KSbbmAA z_>{<`v+x#mLw*Y-P>&M`KBR$U(ruh1MqSG*t(ul`w-1R+_$Fe^IC@EJ@shmm)pDA4 zYjz^v78j|gm!-Qw@B)T_5~;)zrmoGXWjyr-taNZ5^!y8RKQ#rvk4jz@;AMrJ97P(RoddNauIt;MqhrAfH7FPiI`%QX`Y{$U;age#)i34-=aj0r1-k*}Lge&4h0y)j0x zS!$yq2;g7hU`vm2vQdh>L-{l23$W0EzU`BH38UI2DcKRD^E8sQef-_=X={6X9u2nv zvN12?VQW@?+*EsJFzOyox~;p+wtLiUx`VGYwHNX1k5ScG7Q>*!t->15r@#IG7qtqBQ7fGR^4+*hZ$hub5tSOQDolD;%;OV9b@(a`Q^%K&Y(U!y!#qW zZXq&Ffg%g`#|%G&qv>MGWQE&{rJx%Q`oOsg4|-pvee}uBkMzA$%bUlxFRbAcv7t@Y zG43ci{Fc%!P%-k@GV()ig2vj5gG1LwC9)*_Hv*scAb?_IHcAYy zha2lA@=wBr`7?2*EgqQ2VFoLwrrkFos5GICR5Qz858X^%zi6j<(D9OLDnvzD+`5#j zb*lD;TzF+6w2grqr`~JLykT|@>2nzM4ixW6HVevJ!C%b&Ie~7@upnhY+bE z3AxL2xh{x|V1-lvK;#k00Qkm}+$r%}dYPu!z|83!y((qbS0kSYJ O%2sL`+4^tP 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
    jv3PKwW6vU_YRZ^6xXNICLI~FzyB%uTYTK3 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%0DnP}7~J388kF!y4P#=p-?V$irF!G0oy~L$ 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 iH#7>vF{h#-o)>wf@nb}*U% From 9e793a658d797c8af2fd5c0db01f375d448f12ff Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Fri, 20 Jan 2023 08:46:28 -0800 Subject: [PATCH 11/12] Updating flow diagram --- .../SAI_failure_dump_flow.JPG | Bin 51836 -> 52727 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/SAI_failure_handling/SAI_failure_dump_flow.JPG b/images/SAI_failure_handling/SAI_failure_dump_flow.JPG index ff3a1b9e16819a32a519c4771b7c4296a36b88e0..2c5a9929ea3968f2fdcf5357593ea600e110cc2f 100644 GIT binary patch delta 22558 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 Ytt(&PjDZ044P)g09UtRzc5L_k4~>m|fdBvi From e4792348485e58d123bc44a3683b44213f749993 Mon Sep 17 00:00:00 2001 From: Sudharsan Dhamal Gopalarathnam Date: Tue, 24 Jan 2023 20:53:20 -0800 Subject: [PATCH 12/12] Update dump_on_sai_failure.md Removing the logrotate section as it is irrelevant --- doc/SAI_failure_handling/dump_on_sai_failure.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/SAI_failure_handling/dump_on_sai_failure.md b/doc/SAI_failure_handling/dump_on_sai_failure.md index a1675a8caf4..62ec447b9f8 100644 --- a/doc/SAI_failure_handling/dump_on_sai_failure.md +++ b/doc/SAI_failure_handling/dump_on_sai_failure.md @@ -50,8 +50,6 @@ A new enum value for SAI_REDIS_SWITCH_ATTR_NOTIFY_SYNCD is defined (SAI_REDIS_NO Later when techsupport is invoked manually or invoked through auto techsupport, these dumps will be collected and once collected, they will be cleared from /var/log/sai_failure_dump/ -The above path will also be part of logrotate script logic inorder to have a check on the dumps not over running the disk space. - The below diagram explains the sequence when a SAI failure happens ![](/images/SAI_failure_handling/SAI_failure_dump_sequence.JPG)