Skip to content

feat(iosxe): get_excluded_features helper for SD-WAN UX 2.0#35

Open
aitestino wants to merge 1 commit into
mainfrom
remove-ux1-classic-bgp
Open

feat(iosxe): get_excluded_features helper for SD-WAN UX 2.0#35
aitestino wants to merge 1 commit into
mainfrom
remove-ux1-classic-bgp

Conversation

@aitestino

Copy link
Copy Markdown
Collaborator

Summary

Adds IOSXETestBase.get_excluded_features(router, config_group) so SD-WAN verification tests can support UX 2.0's excluded-feature behavior with a single call instead of inlining the dual-device device_tags filter in each test case.

  • 20.18+ matches by router.topology_label
  • 20.15 and earlier matches by router.tags
  • No device_tags or no router metadata returns an empty set[str]

Returns set[str] for O(1) membership at the call site.

Test plan

  • 5 unit tests covering each detection branch and edge cases
  • ruff check clean
  • mypy clean

Co-Authored-By: Claude noreply@anthropic.com

SD-WAN UX 2.0 dual-device configuration groups assign features to
specific devices via device_tags. Each verification test that walks
configuration_groups -> feature_profiles needs to skip features
assigned to the OTHER device in the pair.

Centralize that lookup on IOSXETestBase so individual test cases
(verify_bgp_peers, verify_ospf_neighbor_state, etc.) call:

    excluded = self.get_excluded_features(router, config_group)

instead of duplicating the topology_label / tags detection logic.

- 20.18+ matches by router.topology_label
- 20.15 and earlier matches by router.tags
- No device_tags or no router metadata returns empty set
- Returns set[str] for O(1) membership lookup at the call site

Co-Authored-By: Claude <noreply@anthropic.com>
@aitestino aitestino self-assigned this Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant