Validate Preferred Group shared-service providers (#244) - #276
Open
jeestr4d wants to merge 18 commits into
Open
Conversation
Collaborator
|
integration test has no issues related to this check |
Collaborator
|
monrog2
requested changes
Jul 21, 2026
monrog2
left a comment
Collaborator
There was a problem hiding this comment.
Requesting changes because the new validation can skip affected upgrade targets, fail on valid APIC responses, and report outage warnings for configurations outside the documented defect condition. The test layout follows the repository convention, but it needs regression coverage for these cases and should validate the returned details, not only the status. Focused Python 3.8 tests pass (10/10), but the version-gating and missing-children defects were independently reproduced.
Remove unsupported F0467 version thresholds so the check also covers releases with the silent forwarding risk. Add regression coverage across the source-verified 4.2 through 6.0 boundaries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Treat omitted or empty APIC subtree children as no provider relations so one childless object cannot abort the validation and hide other affected objects. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve broad pre-6.0 detection, but on 6.0(1g) and later only report shared-service providers with a cross-VRF L3Out consumer. Include the triggering consumer in result data and cover false-positive cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tell operators how to remove the unsupported relationship and verify policy deployment across the F0467 and F4684 enforcement paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Treat tenant-scoped contracts as shared-service candidates and verify both broad pre-6.0 behavior and cross-VRF L3Out correlation on 6.0(1g) and later. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the APIC reverse vzAny consumer relation on 6.0(1g) and later, report the triggering consumer, reject malformed relation data explicitly, and avoid consumer inventory queries when no candidate provider exists. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the kebab-case MkDocs anchor in both the check result and validation index, with regression coverage for the generated URL. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve overlapping validation additions by preserving the preferred-group check ahead of later upstream checks and retaining all upstream behavior. Reconcile documentation ordering and reference numbering with the source-verified release behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use materialized vzFromEPg-to-vzToEPg relationships and authoritative context definitions to identify affected cross-VRF shared services. Preserve the pre-6.0 broad behavior while restricting 6.0+ findings to L3Out and vzAny consumers, and exclude reserved pcTag 16. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Fixes #244.
Summary
Adds a pre-upgrade validation for Preferred Group members that provide tenant-
or global-scope shared-service contracts.
The check:
fvAEPgandl3extInstPproviders withprefGrMemb="include"and shared/global pcTags17-16385.vzFromEPgtovzToEPgrelationship; provider configuration alone is not reported.
vzFromEPg.scopeId -> fvCtxDef.scope -> fvCtxDef.dn.vzToEPg.ctxDefDnand reports onlycross-context relationships.
Version behavior
/instP-) orvzAny(/any) consumers; ordinary EPG-to-EPG shared service is allowedThe source-proven Preferred Group-specific F0467 boundaries are 4.2(6d),
5.1(3e), and first-proven 5.2(1g). The first source-visible narrowed behavior
is 6.0(1g).
Sanitized integration result
The deterministic ACI 5.2(4d) to 5.2(8f) integration job identified seven
materialized cross-context relationships across three fabrics:
Sanitized examples:
uni/tn-Tenant-A/brc-Shared-Contract-1uni/tn-Tenant-A/ap-App-Provider/epg-Provider-1uni/tn-Tenant-B/ap-App-Consumer/epg-Consumer-1uni/tn-Tenant-C/brc-Shared-Contract-2uni/tn-Tenant-C/ap-App-Provider/epg-Provider-2uni/tn-Tenant-D/ap-App-Consumer/epg-Consumer-2uni/tn-common/brc-Shared-Contract-3uni/tn-Tenant-E/ap-App-Provider/epg-Provider-3uni/tn-Tenant-F/ap-App-Consumer/epg-Consumer-3Every reported row has a concrete materialized consumer instead of the prior
provider-only
Anyvalue.One additional integration fabric returned APIC DME
503 Resolve timeoutresponses. Multiple unrelated validations timed out concurrently on that
fabric. In most affected runs, this check timed out on its first
vzBrCPquery and never reached the new
fvCtxDeforvzFromEPgqueries.Validation
fabrics.