Summary
Operator-created VPC Route Server peers sit outside Terraform state. make cluster.<name>.destroy / destroy_force can fail when disassociating the Route Server from the VPC because leftover peers keep endpoints alive.
Context
Seen on the bgp cluster destroy (more than once):
Error: deleting VPC Route Server (...) VPC (...) Association
IncorrectState: Route Server has non-deleted Route Server Endpoint: rse-...
Ownership today:
| Resource |
Owner |
| Route Server + endpoints |
Terraform (modules/infrastructure/route-server) |
| Route Server peers |
CUDN BGP operator (AWS API via IRSA) |
The operator does have cleanup (CUDNBgpConfig finalizer → deleteAllManagedPeers), but cluster destroy often removes the API / skips a clean CR uninstall first, so peers are orphaned. Manual recovery: delete peers → delete endpoints (if needed) → retry destroy.
Acceptance Criteria
Related
- PLAN.md /
docs/deployment/enablement.md (CUDN BGP / Route Server)
modules/infrastructure/route-server/
- Operator cleanup path:
CUDNBgpConfig finalizer → Cleanup() / deleteAllManagedPeers
Summary
Operator-created VPC Route Server peers sit outside Terraform state.
make cluster.<name>.destroy/destroy_forcecan fail when disassociating the Route Server from the VPC because leftover peers keep endpoints alive.Context
Seen on the
bgpcluster destroy (more than once):Ownership today:
modules/infrastructure/route-server)The operator does have cleanup (
CUDNBgpConfigfinalizer →deleteAllManagedPeers), but cluster destroy often removes the API / skips a clean CR uninstall first, so peers are orphaned. Manual recovery: delete peers → delete endpoints (if needed) → retry destroy.Acceptance Criteria
route_server_idfrom Terraform state/outputs when the API is gonemake cluster.<name>.teardown-bgpinvoked before destroy) or document as a required BGP teardown stepRelated
docs/deployment/enablement.md(CUDN BGP / Route Server)modules/infrastructure/route-server/CUDNBgpConfigfinalizer →Cleanup()/deleteAllManagedPeers