Closed cprivitere closed 4 months ago
If CAPP is creating LBaaS instances (rather than just accessing them by a referenced/existing ID), then it is important for CAPP to cleanup after itself.
Deletion of controller-created resources is a common problem with multiple solutions. I've seen this implemented as labels, annotations, and spec. persistentVolumeReclaimPolicy and deletionPolicy come to mind.
The E2E tests should include a test that creates an LBaaS managed VIP for the control-plane. Upon deleting that cluster, a test should ensure that the loadbalancer was actually deleted.
A near term approach may be to include LBaaS cleanup to the existing post-test sweeper/cleanup code.
If we have existing warning text about indirect CAPP's cluster deletion, we may need to add to that warning that LBaaS instances may also be orphaned. https://docs.crossplane.io/latest/software/uninstall/ as an example.
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: cprivitere, ctreatma, displague
The full list of commands accepted by this bot can be found here.
The pull request process is described here
This PR lacks any documentation on the new capabilities (ignoring the -emlb.yaml example). This is intentional to avoid usage until the remaining components of #693 can be incorporated.
/lgtm
What this PR does / why we need it: This PR adds support to CAPP to create Equinix Metal Load Balancers and configure the cluster to use them for its API Server. It does not configure service load balancing and users are encouraged to configure CPEM in their clusters to enable that particular feature.
Fixes: #693
Current Status:
Edit: Splitting this into multiple PRs. Please see #693 for the full checklist of what must be done.
How to Run You can use the
cluster-template-emlb.yaml
template file to deploy a cluster with EMLB. When we do a new release, you can just use --flavor emlb to get that template. For now, it'll be more like: