-
Notifications
You must be signed in to change notification settings - Fork 650
[SmartSwitch-HA] Set pending flags back to false. #3997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
/azp run |
|
Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| else if (in(ha_scope_event[i].ha_state, {SAI_DASH_HA_STATE_ACTIVE, | ||
| SAI_DASH_HA_STATE_STANDBY})) | ||
| { | ||
| fvs.push_back({"brainsplit_recover_pending", "false"}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what the ha_state is when it reports brain split. Have you tested brain split?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Brainsplit is reported when DPU-DPU connection recovers and both DPU are in standalone
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. So if they transition to active or standby, it means they have recovered from brain-split state.
yue-fred-gao
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
zjswhhh
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Cherry-pick PR to 202511: #4021 |
What I did
Set flow_reconcile_pending, activate_role_pending, and brainsplit_recover_pending back to false after receiving the appropriate notification. For flow_reconcile_pending and activate_role_pending, this is after controller sends operation approval. For brainsplit, clearing the flag after DPU enters stable state again.
Why I did it
flow_reconcile_pending, activate_role_pending, and brainsplit_recover_pending were not being reset to false after being set true for the first time.
How I verified it
Tested on HA Smartswitch testbed, checked activate_role_pending etc is false after sending operation approval. Tested brainsplit by shutting communication channel between DPUs and then un-shutting after both enter standalone state, causing brain split. Recovered from brainsplit by setting one DPU to admin down/dead and then back to admin up, after which the DPUs paired into active/standby again.
Details if related