Skip to content

chore: back out resources PCD does not ship (VPNaaS, Octavia L7) - #24

Merged
PF9-pushkar merged 1 commit into
mainfrom
chore/backout-unsupported
Jul 13, 2026
Merged

chore: back out resources PCD does not ship (VPNaaS, Octavia L7)#24
PF9-pushkar merged 1 commit into
mainfrom
chore/backout-unsupported

Conversation

@PF9-pushkar

Copy link
Copy Markdown
Collaborator

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 the vpnaas→"VPN" doc subcategory.

The Neutron vpnaas extension 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_l7rule removed

PCD ships only the OVN Octavia provider — verified on the lab:

GET /octavia/v2/lbaas/providers  ->  { "providers": [ { "name": "ovn" } ] }
GET .../providers/amphora/...    ->  HTTP 400  (absent)

OVN is a pure L4 load balancer with no HTTP awareness, so L7 policies/rules can never function on PCD. The now-unused rootLBIDFromL7Policy helper and the l7policies import were removed from loadbalancer.go; splitParentChildID stays (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-lint clean (0 issues — no dead code left behind); all unit tests pass.
  • make generate renders cleanly: 5 lb_* resource pages (no l7), no vpnaas pages, no template errors. terraform fmt clean.
  • CHANGELOG + DECISIONS updated, including a dated backout entry and a correction to the earlier "VPNaaS is shippable" compatibility note.

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
PF9-pushkar merged commit 0366c97 into main Jul 13, 2026
5 checks passed
@PF9-pushkar
PF9-pushkar deleted the chore/backout-unsupported branch July 13, 2026 00:16
PF9-pushkar added a commit that referenced this pull request Jul 14, 2026
chore: back out resources PCD does not ship (VPNaaS, Octavia L7)
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