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

Do not check for service instance type when adding the service instance finalizer #3562

Open
danail-branekov opened this issue Oct 25, 2024 · 0 comments

Comments

@danail-branekov
Copy link
Member

danail-branekov commented Oct 25, 2024

Background

When implementing managed services support, we decided that we are going to make use of finalizers to ensure that the instance is deprovisioned with the service broker when the managed CFServiceInstance resource is deleted. The finalization logic is only necessary for managed service instances, therefore we decided to set finalizers on managed CFServiceInstances only

However, checking the service instance type within the webhook context requires using the dynamic k8s client and that is not great. Can we instead install finalizer on the every CFServiceInstance (regardless managed or not), and have the instance controller decide whether finalization is needed:

  • For UPSIs, the controller should simply remove the finalizer
  • For managed instances, the controller should deprovision the service with the broker (this is what we have as of today)

Action to take

  1. Change the set policy in the finalizer webhook to Always
  2. Implement noop finalization in the upsi controller
  3. Consider backwards compatibility:
    • If we change the finalizer set policy, would that be a problem for existing UPSIs?
    • If we decide to rename the finalizer (as it is not going to be specific to managed services only anymore), do we care that existing managed instances would become undeletable (unless someone removes the old finalizer manually)? Maybe that would not be an issue as the managed services support is experimental anyway
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🇪🇺 To do
Development

No branches or pull requests

1 participant