-
Notifications
You must be signed in to change notification settings - Fork 514
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
[Evpn Warmreboot] Added Dependancy check logic in VrfMgr #1466
Conversation
…into evpn_warmboot
Dependant on #1276 |
There is no reconcile operation required in vrfmgrd and intfmgrd Hence immediately after replay these are marked as reconciled
retest this please |
1 similar comment
retest this please |
@@ -46,7 +46,7 @@ def swss_check_RestoreCount(dvs, state_db, restore_count): | |||
if fv[0] == "restore_count": | |||
assert int(fv[1]) == restore_count[key] + 1 | |||
elif fv[0] == "state": | |||
assert fv[1] == "reconciled" | |||
assert fv[1] == "reconciled" or fv[1] == "disabled" |
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.
Do we still need to check for "disabled"? If not, please remove
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.
Yes, we still need "disabled" to handle the cold restart scenario, specially for docker restart
cfgmgr/intfmgr.cpp
Outdated
@@ -626,6 +655,7 @@ bool IntfMgr::doIntfAddrTask(const vector<string>& keys, | |||
void IntfMgr::doTask(Consumer &consumer) | |||
{ | |||
SWSS_LOG_ENTER(); | |||
static bool replayNotDone = true; |
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.
can you please rename to "replayDone" and set to 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.
sure .. will change it
retest this please |
1 similar comment
retest this please |
retest this please |
8 similar comments
retest this please |
retest this please |
retest this please |
retest this please |
retest this please |
retest this please |
retest this please |
retest this please |
retest vs please |
retest this please |
) * [Evpn Warmreboot] Added Dependancy check logic in VrfMgr This was done to ensure for EVPN warm-reboot the order of data replay to kernel is maintained across various submodules and the kernel programming will be successful. * Marking Vrfmgrd and Intfmgrd to reconcile immediately after replay There is no reconcile operation required in vrfmgrd and intfmgrd, hence immediately after replay these are marked as reconciled
#### What I did Modified pre-check for file `/host/warmboot/issu_bank.txt` in `warm-reboot` script. Added automated recovery of `/host/warmboot/issu_bank.txt` #### How I did it Modified the `warm-reboot` script. #### How to verify it Need to somehow corrupt the `/host/warmboot/issu_bank.txt` (list below) and then run the `warm-reboot` command. For testing I have modified the `warm-reboot` script - added corruption command before `check_issu_bank_file` function call. 1. Remove `issu_bank.txt` 2. Clear `issu_bank.txt` 3. Change characters count in `issu_bank.txt` 4. Write invalid content into `issu_bank.txt` #### Previous command output (if the output of a command-line utility has changed) ``` root@arc-switch1041:~# warm-reboot (/host/warmboot/issu_bank.txt) does NOT exist or empty ... To recover (/host/warmboot/issu_bank.txt) file, do the following: $ docker exec -it syncd sx_api_dbg_generate_dump.py $ docker exec -it syncd cat /tmp/sdkdump | grep 'ISSU Bank' Command above will print the VALUE of ISSU BANK - 0 or 1, use this VALUE in the next command $ printf VALUE > /host/warmboot/issu_bank.txt ``` #### New command output (if the output of a command-line utility has changed) ``` root@arc-switch1041:~# warm-reboot (/host/warmboot/issu_bank.txt) does NOT exist or empty ... Recovering the (/host/warmboot/issu_bank.txt) file ```
Added changes to handel dependency check in VrfMgr for warmreboot
Why I did it
This was done to ensure for EVPN warm-reboot the order of data replay to kernel is maintained across various submodules and the kernel programming will be successful.
How I verified it
Verified with EVPN warmreboot
Details if related
More details in warmreboot section of EVPN VXLAN HLD
sonic-net/SONiC#437