Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Add EMLB deletion #771

Merged
merged 10 commits into from
Jun 18, 2024
Merged

Conversation

cprivitere
Copy link
Member

Signed-off-by: Chris Privitere 23177737+cprivitere@users.noreply.github.com

What this PR does / why we need it:

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 7, 2024
@k8s-ci-robot
Copy link
Contributor

[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 k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 7, 2024
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
return err
}

resp, err := e.deleteListenerPort(ctx, lbPort.GetId())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, the LB ports are automatically deleted when the LB is deleted. The only time we need to explicitly delete the port is if we're keeping the LB and need to change which ports are open.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed. Going to remove this.

Comment on lines 330 to 334
// TODO: Validate pool is empty

log.Info("Deleting EMLB Pool", "Cluster Metro", e.metro, "Cluster Name", clusterName, "Project ID", e.projectID, "Pool ID", lbPoolID)

resp, err = e.deletePool(ctx, lbPool.GetId())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not familiar with where this fits in to the overall cluster lifecycle. Is there any risk here that cluster-api could empty and delete the pool because we're making some kind of cluster change (recreating control plane nodes or something). Even if there is that risk, does it really matter, or would cluster-api just create a new pool when a new control plane node came up?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is called on node deletion. We have a pool per node so it's no problem, currently.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, OK. If there's a pool per node then I think this is similar to the LB deletion, and deleting the pool will automatically delete the origins inside the pool.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can confirm this works here too and will delete the origin deleting parts. My original idea was to delete all the components explicitly so that if things start failing, as little will be deleted as possible, but given the one to one nature, I guess that doesn't make much sense.

Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
internal/emlb/emlb.go Outdated Show resolved Hide resolved
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
internal/emlb/emlb.go Outdated Show resolved Hide resolved
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
Signed-off-by: Chris Privitere <23177737+cprivitere@users.noreply.github.com>
internal/emlb/emlb.go Outdated Show resolved Hide resolved
internal/emlb/emlb.go Outdated Show resolved Hide resolved
internal/emlb/emlb.go Outdated Show resolved Hide resolved
internal/emlb/emlb.go Outdated Show resolved Hide resolved
Co-authored-by: Marques Johansson <mjohansson@equinix.com>
@displague
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 18, 2024
@k8s-ci-robot k8s-ci-robot merged commit 5d20550 into kubernetes-sigs:main Jun 18, 2024
5 checks passed
@cprivitere cprivitere deleted the emlb-deletes branch June 21, 2024 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants