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

[Feature] Simplify reconciliation by simplifying claim logic for StatefulSet, Service and ConfigMap based on Etcd resource name #186

Closed
amshuman-kr opened this issue Jun 1, 2021 · 3 comments
Assignees
Labels
kind/enhancement Enhancement, improvement, extension lifecycle/rotten Nobody worked on this for 12 months (final aging stage) status/closed Issue is closed (either delivered or triaged)

Comments

@amshuman-kr
Copy link
Collaborator

Feature (What you would like to be added):

The reconciliation flow of etcd-druid includes claiming from potentially multiple pre-existing StatefulSet, Service and ConfigMap objects if they exist. This is done by selecting the objects based on spec.selector in the Etcd resource, claiming one of the matching objects (if any) and deleting the rest of the objects (if any). If no matching objects are found then a new object is created.

The logic of claiming from multiple pre-existing objects objects based onspec.selector was done because of the following reasons.

  1. Migration from the time before etcd-druid was introduced. I.e. adopting objects created from the time before etcd-druid was introduced minimised and simplified clean up.
  2. Keeping options open before multi-node ETCD design was finalised to use a single StatefulSet for all the members of an ETCD cluster. Another alternative of using one StatefulSet for each member of an ETCD cluster was still open at that time.

Now that the migration scenario as well as the multi-node design don't need the functionality of claiming from multiple pre-existing objects, we can simplify the claim logic to just pick the object to be claimed by the same name as the Etcd resource . We will still need the claim functionality to mark it as claimed, of course.

Motivation (Why is this needed?):

Approach/Hint to the implement solution (optional):

@amshuman-kr amshuman-kr added the kind/enhancement Enhancement, improvement, extension label Jun 1, 2021
@timuthy
Copy link
Member

timuthy commented Jun 1, 2021

/assign

@timuthy
Copy link
Member

timuthy commented Jun 11, 2021

/unassign due to restricted capacity

@amshuman-kr amshuman-kr self-assigned this Jul 5, 2021
@gardener-robot gardener-robot added the lifecycle/stale Nobody worked on this for 6 months (will further age) label Jan 2, 2022
@gardener-robot gardener-robot added lifecycle/rotten Nobody worked on this for 12 months (final aging stage) and removed lifecycle/stale Nobody worked on this for 6 months (will further age) labels Jul 2, 2022
@abdasgupta
Copy link
Contributor

Closing this issue as we no longer follow claim logic

@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Jan 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement, improvement, extension lifecycle/rotten Nobody worked on this for 12 months (final aging stage) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants