chore: back out resources PCD does not ship (VPNaaS, Octavia L7) - #24
Merged
Conversation
Live inspection of the CE lab confirmed which built resources map to features PCD actually ships, and two do not: - VPNaaS: remove the entire internal/services/vpnaas package (5 resources + acc test), its provider registrations, the 5 examples, and the vpnaas->VPN doc subcategory. The Neutron vpnaas extension is advertised in the API but PCD does not productize/support VPNaaS. - Octavia L7: remove pcd_lb_l7policy and pcd_lb_l7rule. PCD ships only the OVN provider (verified: GET /octavia/v2/lbaas/providers -> [ovn]; amphora returns 400), which is L4-only, so L7 policies/rules can never function. Removed the now-unused rootLBIDFromL7Policy helper and the l7policies import from loadbalancer.go; splitParentChildID stays (member still uses it). The remaining five LB resources (loadbalancer/listener/pool/member/monitor) work on OVN with L4 constraints, now noted in the loadbalancer resource description. CHANGELOG/DECISIONS updated, including a dated backout entry and a correction to the earlier "VPNaaS is shippable" compatibility note. Everything else in the catalog maps to a live, shipped service, so nothing else was overbuilt.
PF9-pushkar
added a commit
that referenced
this pull request
Jul 14, 2026
chore: back out resources PCD does not ship (VPNaaS, Octavia L7)
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.
Summary
Live inspection of the CE lab's service catalog and Octavia provider list confirmed which built resources correspond to features PCD actually ships. Two do not, so they're removed to keep the first-party provider aligned with PCD.
VPNaaS — entire family removed
internal/services/vpnaas(5 resources + acc test), its 5 provider registrations, the 5 examples, and thevpnaas→"VPN" doc subcategory.The Neutron
vpnaasextension is advertised in the API, but PCD does not productize/support VPNaaS — so a first-party PCD provider shouldn't expose it. (Re-add if PCD ships it later; the code is in git history.)Octavia L7 —
pcd_lb_l7policy+pcd_lb_l7ruleremovedPCD ships only the OVN Octavia provider — verified on the lab:
OVN is a pure L4 load balancer with no HTTP awareness, so L7 policies/rules can never function on PCD. The now-unused
rootLBIDFromL7Policyhelper and thel7policiesimport were removed fromloadbalancer.go;splitParentChildIDstays (the member resource still uses it).The remaining five LB resources (
loadbalancer/listener/pool/member/monitor) work on OVN with L4 constraints (TCP/UDP/SCTP protocols, OVN pool algorithms, L4 health monitors) — a usage note (added to the loadbalancer resource description), not a reason to remove them.Overbuild check — nothing else
Every other family maps to a live, shipped catalog service:
identity,image,network,compute,volumev3,dns,key-manager,load-balancer(all HTTP 200). PCD-internal services we (correctly) never built for:hamgr,watcher,mors,placement,regioninfo,resmgr.Validation
go build/vet/gofmt/golangci-lintclean (0 issues — no dead code left behind); all unit tests pass.make generaterenders cleanly: 5lb_*resource pages (no l7), novpnaaspages, no template errors.terraform fmtclean.