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

Deletion policy option to keep rds DBInstance around in etcd until RDS instance is fully deleted #2251

Open
dweebo opened this issue Jan 27, 2025 · 0 comments

Comments

@dweebo
Copy link

dweebo commented Jan 27, 2025

Is your feature request related to a problem?
We have a project that creates/deletes many different types of external resources via resources in Kubernetes. One of those resources is AWS RDS instances. For many of our external resources, we have custom operators and they all behave in the same way. We keep the finalizers in place on the k8s resources until after the external resource is completely destroyed. This has a nice benefit of preventing orphans. If for some reason the deletion fails to complete the resource will still be in Kubernetes and we'll see it.

It seems that the ACK project doesn't work that way, the finalizer and DBInstance resource as removed from etcd while the RDS instance is still being terminated. That occasionally causes issues if a user recreates a DBInstance with the same name, it fails because the older instance is still being cleaned up. I don't know if there is a clear Kubernetes guideline on finalizers for this behavior or not.

Describe the solution you'd like
I see there is a --deletion-policy that can be passed to the controller. One idea is to have another possible value for that flag to wait for the RDS instance to be fully removed before removing the finalizer and removing the resource. Something like wait-for-delete?

Describe alternatives you've considered
As a work-around for now we'll probably be introducing some randomness to DBInstance names to force them to be unique.

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

No branches or pull requests

1 participant