cluster-api-provider-packet icon indicating copy to clipboard operation
cluster-api-provider-packet copied to clipboard

:sparkles: Add Equinix Metal Load Balancer support

Open cprivitere opened this issue 1 year ago • 2 comments

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

cprivitere avatar Mar 12 '24 23:03 cprivitere

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cprivitere

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar Mar 12 '24 23:03 k8s-ci-robot

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.

displague avatar May 22 '24 18:05 displague

[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

Needs approval from an approver in each of these files:
  • ~~OWNERS~~ [cprivitere,displague]

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar May 28 '24 20:05 k8s-ci-robot

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.

displague avatar May 28 '24 20:05 displague

/lgtm

displague avatar May 28 '24 20:05 displague