Add Cross-DC L3VNI test cases: L3VNI_dci:51, 52, 61, 63#19
Open
bpar9 wants to merge 1 commit into
Open
Conversation
Implement 4 new test cases from the DCI Solution Testplan: - L3VNI_dci:51: Negative test - Missing VRF configuration on DCI node. Removes VRF101 from one DC1 BGW, verifies Type-5 route withdrawal, traffic degradation, then restores and verifies ECMP recovery. - L3VNI_dci:52: Negative test - RT mismatch for L3VNI. Modifies RT export on DC1 BGW to incorrect value, verifies Type-5 routes no longer imported on DC2, traffic fails, then restores correct RT and verifies recovery. - L3VNI_dci:61: Host Mobility - Bulk host move (10 hosts simultaneously). Learns 10 hosts at dest1 (leaf0_dc1), sends L2+L3 traffic, moves all 10 simultaneously to dest2 (leaf0_dc2), verifies MM sequence numbers and L3VNI traffic, then moves back and verifies again. - L3VNI_dci:63: Host Mobility - MH-to-MH across DC with L3 traffic. Wrapper around verify_mac_move_dci for MH port host move from leaf0_dc1 to leaf0_dc2 with L3VNI inter-VLAN traffic verification. Note: L3VNI_dci:91 (VLAN remove/add) is already fully implemented in test_vlan_remove_add with L3 traffic verification. Helper functions added to vxlan_helper.py: - remove_vrf_config_bgw: Remove VRF + L3VNI config from BGW node - restore_vrf_config_bgw: Restore full L3VNI config on BGW node - modify_rt_export_bgw: Set incorrect RT export for RT mismatch test - restore_rt_export_bgw: Restore correct RT export - generate_bulk_mac_move_hosts_dci: Generate N hosts for bulk move tests
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
Summary:
Implement 4 new Cross-DC L3VNI test cases from the DCI Solution Testplan, plus associated helper functions.
Test cases added to
test_vxlan_dci.py:L3VNI_dci:51 (
test_base_dci_l3vni_missing_vrf_on_dci_node): Negative test — removes VRF101 from one DC1 BGW, verifies Type-5 route withdrawal and traffic degradation, then restores VRF and verifies ECMP recovery across both BGWs.L3VNI_dci:52 (
test_base_dci_l3vni_rt_mismatch): Negative test — modifies RT export on DC1 BGW to an incorrect value, verifies Type-5 routes are no longer imported on DC2 BGW and cross-DC traffic fails, then restores the correct RT and verifies traffic recovery.L3VNI_dci:61 (
test_dci_l3vni_bulk_host_move): Host Mobility — learns 10 hosts simultaneously at dest1 (leaf0_dc1 orphan, VLAN 11, VRF 101), sends L2+L3 traffic from leaf2_dc1, moves all 10 hosts to dest2 (leaf0_dc2), verifies MM sequence numbers and L3VNI traffic, then moves back and verifies again.L3VNI_dci:63 (
test_dci_l3vni_mh_to_mh_across_dc_with_l3_traffic): Host Mobility — MH-to-MH host move across DC with L3VNI inter-VLAN traffic verification viaverify_mac_move_dci.Note: L3VNI_dci:91 (VLAN remove/add on DC1-Leaf) is already fully implemented in
test_vlan_remove_addwith L3 traffic verification (line 5023 referencesL3VNI_dci:91).Helper functions added to
vxlan_helper.py:remove_vrf_config_bgw()— Remove VRF + L3VNI config from a BGW noderestore_vrf_config_bgw()— Restore full L3VNI config on a BGW nodemodify_rt_export_bgw()— Set incorrect RT export for RT mismatch testingrestore_rt_export_bgw()— Restore correct RT exportgenerate_bulk_mac_move_hosts_dci()— Generate N host dicts (MAC/IPv4/IPv6) for bulk move testsType of change
Approach
What is the motivation for this PR?
Extend Cross-DC L3VNI test automation coverage per the DCI Solution Testplan, covering negative scenarios (missing VRF, RT mismatch) and host mobility scenarios (bulk move, MH-to-MH with L3 traffic).
How did you do it?
TestVxlanDCIBase(L3VNI_dci:51, 52) andTestVxlanDciMacMoveTriggers(L3VNI_dci:61, 63) classes following existing coding conventions (st.banner, st.log, vxlan_obj prefix, report_result pattern).vxlan_helper.pythat leverage existing_get_l3vni_bgw_params()andgenerate_l3vni_bgw_*_config()infrastructure.verify_mac_move_dci()withmh_to_mh_across_dcdirection andmac+ipv4host type.How did you verify/test it?
py_compile) for both modified files.Supported testbed topology if it's a new test case?
3-datacenter EVPN-VXLAN DCI topology with IXIA traffic generation:
Link to Devin session: https://cisco-demo.devinenterprise.com/sessions/173ce16b4ed5458ba1a5722abb95d2f7
Requested by: @bpar9