[sonic-vpp]: Enable sub_port_interfaces tests on t1-lag-vpp - #26693
[sonic-vpp]: Enable sub_port_interfaces tests on t1-lag-vpp#26693lunyue-ms wants to merge 1 commit into
Conversation
|
/azp run |
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
|
@StormLiangMS @wangxin @yxieca A user wants to merge changes to the conditional mark files into |
There was a problem hiding this comment.
Pull request overview
This PR enables execution of the sub_port_interfaces test module on the sonic-vpp virtual switch (asic_type == vpp) in the t1-lag-vpp CI test set by adding the tests to the pipeline collection list and narrowing VPP-specific conditional skips from a blanket module skip to only the known SVI-path failures.
Changes:
- Add
sub_port_interfaces/test_show_subinterface.pyandsub_port_interfaces/test_sub_port_interfaces.pyto thet1-lag-vpptest set so Elastictest collects them. - Replace the prior blanket VPP skips for
test_sub_port_interfaces.pywith two targeted skips for the*-svi*parameter variants oftest_routing_between_sub_ports_and_port.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml |
Removes broad VPP skips for the sub-port interfaces module and keeps only two specific SVI-variant skips. |
.azure-pipelines/pr_test_scripts.yaml |
Adds sub-port interface test scripts to the t1-lag-vpp CI test selection list. |
787b722 to
83e7210
Compare
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml:559
- The PR description says
sub_port_interfaces/test_show_subinterface.py“remain[s] skipped, unchanged” on sonic-vpp, but this VPP conditional marks file no longer contains a skip for that module (the previoussub_port_interfaces/test_show_subinterface.pyentry was removed). As a result, adding it to thet1-lag-vpptest set will start executing those tests on VPP.
If the intent is to keep it skipped on VPP, re-add the module-level skip entry here (or update the PR description if the intent changed).
#######################################
##### Subport Interfaces #####
#######################################
sub_port_interfaces/test_sub_port_interfaces.py::TestSubPorts::test_routing_between_sub_ports_and_port[port-svi:
skip:
The sub-port data plane on sonic-vpp is now functional, so stop skipping
these modules and start running them in the t1-lag-vpp test set.
What changed
------------
1. .azure-pipelines/pr_test_scripts.yaml
The t1-lag-vpp test set had no sub_port_interfaces entry at all, so the
modules were never collected by Elastictest. Add the same two scripts the
t1-lag test set already runs.
2. tests_mark_conditions_sonic_vpp.yaml
test_show_subinterface.py was skipped as a whole module, and
test_sub_port_interfaces.py had all eight class-level cases marked
"Failed/Errored: To be included", for asic_type == vpp. Every one of those
cases passes now, so drop the vpp-specific skips entirely.
test_sub_port_l2_forwarding.py is left untouched. It carries
pytestmark = [pytest.mark.topology("t0")], so it can never run on a t1
testbed regardless of the conditional marks, and it is not added to the
t1-lag-vpp test set.
Verification
------------
Run on the vms-kvm-vpp-t1-lag KVM testbed:
test_sub_port_interfaces.py 32 collected: 29 passed, 3 skipped, 0 failed
test_show_subinterface.py 2 collected: 1 passed, 1 skipped, 0 failed
The 4 remaining skips all come from the platform-agnostic
tests_mark_conditions.yaml and apply to every platform, not just vpp:
test_untagged_packet_not_routed[port_in_lag] "Not supported port type"
test_routing_between_sub_ports_unaffected_by_sub_ports_removal[port_in_lag-same-*] same
test_routing_between_sub_ports_unaffected_by_sub_ports_removal[port_in_lag-different-*] same
test_show_subinterface.py::test_subinterface_status[port_in_lag] same
The two SVI variants of test_routing_between_sub_ports_and_port were run
three times on their own before being unskipped (313s, 401s, and 451s for
both together); all runs passed. test_show_subinterface.py was likewise run
twice with identical results.
Depends on
----------
- sonic-net/sonic-sairedis#1907 (sub-port RIF/IP programming for LAG members)
- sonic-net/sonic-platform-vpp#267 (glean redirect node for sub-port ARP)
Without both of those in the image under test, several of the newly enabled
cases will fail.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6c4e1533-56e4-4d1d-8c98-9b000f07a580
Signed-off-by: Lun Yue <17232861+lunyue-ms@users.noreply.github.com>
83e7210 to
75fd09e
Compare
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml:560
- PR description says the blanket vpp skips for sub_port_interfaces were replaced with two narrowly-scoped SVI skips, but this file currently has no vpp-specific skip for the known-failing
test_routing_between_sub_ports_and_portSVI variants. If those variants still fail on vpp (as described), they will now be enabled and can break the t1-lag-vpp CI run; please add the two vpp-only skips here using the conditional_mark prefix-matching style used elsewhere (omit closing]to match all remaining params).
#######################################
##### Subport Interfaces #####
#######################################
sub_port_interfaces/test_sub_port_l2_forwarding.py:
skip:
Description of PR
Summary: Enable the
sub_port_interfacestests on thet1-lag-vpptest set.The sub-port data plane on sonic-vpp is now functional, so this PR stops skipping these modules and starts actually running them.
Two things were blocking them:
.azure-pipelines/pr_test_scripts.yaml— thet1-lag-vpptest set had nosub_port_interfacesentry at all, so Elastictest never collected the modules. This adds the same two scripts thet1-lagtest set already runs.tests_mark_conditions_sonic_vpp.yaml—test_show_subinterface.pywas skipped as a whole module, andtest_sub_port_interfaces.pyhad all eight class-level cases markedFailed/Errored: To be included, forasic_type == vpp. Every one of those cases passes now, so the vpp-specific skips are dropped entirely.test_sub_port_l2_forwarding.pyis deliberately left untouched: it carriespytestmark = [pytest.mark.topology("t0")], so it can never run on a t1 testbed regardless of the conditional marks, and it is not added to thet1-lag-vpptest set.Type of change
Back port request
Approach
What is the motivation for this PR?
The sub-port fixes in the two dependency PRs below make the whole
sub_port_interfacessuite work on sonic-vpp, but nothing in CI exercises it. This wires the suite into thet1-lag-vpptest set so regressions get caught.How did you do it?
Added the two scripts to the
t1-lag-vppset and removed the now-stale vpp skips.How did you verify/test it?
Run on a
vms-kvm-vpp-t1-lagKVM testbed, with an image containing both dependency PRs:test_sub_port_interfaces.pytest_show_subinterface.pyThe 4 remaining skips all come from the platform-agnostic
tests_mark_conditions.yamland apply to every platform, not just vpp — all four have reason"Not supported port type":The two SVI variants of
test_routing_between_sub_ports_and_portwere each run on their own before being unskipped (313s and 401s), then both together (451s); all runs passed.test_show_subinterface.pywas likewise run twice with identical results.Any platform specific information?
sonic-vpp only. This PR depends on:
Without both of those in the image under test, several of the newly enabled cases will fail.
Documentation
No documentation change needed.