Skip to content

[warm-reboot] Routing change (add/del) during warm boot automation#1152

Merged
neethajohn merged 6 commits intosonic-net:masterfrom
neethajohn:wb-routing-change
Oct 17, 2019
Merged

[warm-reboot] Routing change (add/del) during warm boot automation#1152
neethajohn merged 6 commits intosonic-net:masterfrom
neethajohn:wb-routing-change

Conversation

@neethajohn
Copy link
Contributor

Description of PR

Testcases for adding and deleting routes during warm-boot. The testcase flow is as follows

  • Routes add case

    1. Once the control plane goes down during warm-boot, add 'cnt' number of ipv4 and ipv6 routes on all the neighbors
    2. Verify if the all the routes are received by the DUT
    3. Remove the routes at the end of the test and ensure those routes are removed
  • Route delete case

    1. At the start of the test, add 'cnt' number of ipv4 and ipv6 routes on all neighbors. Ensure those routes are received by the DUT
    2. Once the control plane goes down during warm-boot, remove those added routes from all the neighbors
    3. Verify if the routes are removed on the DUT end

Type of change

  • [] Bug fix
  • [] Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Approach

How did you do it?

  • warm-reboot-multi-sad-inboot.yml
    - inboot-list contains all the operations that will be done during each warm reboot cycle
    (each item is of type 'inboot_oper:number of routes per address family')
  • advanced-reboot.yml
    • populate 'sad_list' with preboot_list or inboot_list or None
  • ptf_runner_reboot.yml
    • differentiate between inboot_oper and preboot_oper and pass both of them to the ptf_runner
  • advanced-reboot.py
    • preboot and inboot oper are populated as sad_oper. Previous usage of preboot_oper is replaced with sad_oper
    • added support to invoke inboot operation
    • move some code to individual methods
  • sad_path.py
    • generating 'cnt' number of routes
    • build a map of bgp peer and curr number of routes. Route cnt is validated using this val + 'cnt' wherever applicable
    • build list of cmds for route addition and deletion on the Arista neighbors
    • support for adding routes prior to route del during warm reboot
    • modifications to setup and verify methods
  • arista.py
    - extract the next hop for ipv4 and ipv6 routes
    - method to add/del routes

How did you verify/test it?

Ran the routing change test on t0-64 topology and it passed
Ran regressions on warm-reboot, fast-reboot and preboot list test and they all passed

@yxieca
Copy link
Collaborator

yxieca commented Oct 10, 2019

@neethajohn this is a great change. I think with the code you have, you could also support adding route during warm reboot and clean up after test?

@neethajohn
Copy link
Contributor Author

@neethajohn this is a great change. I think with the code you have, you could also support adding route during warm reboot and clean up after test?

@yxieca. That's the way I am doing it currently. if I am passing the 'routing_add:cnt' tag then 'cnt' number of v4 and v6 routes are added during warm reboot and cleaned up at the end of the test (calling the revert() function)

@yxieca
Copy link
Collaborator

yxieca commented Oct 10, 2019

@neethajohn I thought that was in the code. but PR comments made me think otherwise. So in either case, could this infrastructure support both route add and route delete test?

@neethajohn
Copy link
Contributor Author

@neethajohn I thought that was in the code. but PR comments made me think otherwise. So in either case, could this infrastructure support both route add and route delete test?

@yxieca, this infrastructure supports both route add and del. I have included both the cases in the test as well

Copy link
Contributor

@qiluo-msft qiluo-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commented

@neethajohn neethajohn merged commit 5359c4e into sonic-net:master Oct 17, 2019
@neethajohn neethajohn deleted the wb-routing-change branch October 17, 2019 19:40
yxieca pushed a commit that referenced this pull request Oct 23, 2019
…1152)

* Automation for routing change(add/del) during warm-reboot

Signed-off-by: Neetha John <[email protected]>
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
fd3e0174971599fa7f9d73ff1a997583eb090fd5 (HEAD -> 201911, origin/201911) [Multi-asic] Enhanced Feature Table configuration for multi-asic platforms (sonic-net#1152)
12f03b195609c07762d8c8efd80dc548ddd4fe78 Add FW dump with new SAI implementation (sonic-net#1298)

Signed-off-by: Abhishek Dosi <[email protected]>
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
Why I did it
cf9a66b - Fix issue: bulk counter feature is disabled ([Broadcom]: Update Broadcom SDK/SAI package sonic-net#1205) (4 hours ago) [Lior Avramov]
8b1583b - [Dual-ToR] update sai.profile with SAI_ADDITIONAL_MAC_ENABLED attribute if corresponding arg passed to syncd ([Makefile]: variable ENABLE_SYNCD_RPC is always empty string sonic-net#1201) (4 hours ago) [Andriy Yurkiv]
50d8e21 - [syncd]: Enable port bulk API ([platform] Accton AS7712-32X. Update for sensors and sfputil. sonic-net#1197) (4 hours ago) [Nazarii Hnydyn]
a72438a - Use new value of STATE_DB FAST_REBOOT entry ([device/accton]: Update Accton-AS5712_54X sonic-net#1196) (4 hours ago) [Aryeh Feigin]
d78ce86 - validation support for SAI_ATTR_VALUE_TYPE_JSON ([installer] FIX. ONIE installer error issue: sonic-net#1152) (4 hours ago) [svshah-intel]
How I did it
How to verify it
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants