kubernetes-sigs / kubernetes-sigs/cluster-api
Improve API around machine deletion strategy
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 4.3k
- Forks
- 1.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 113
Description
User Story
As a user, I would like to have a clean and simple API for configuring machine deletion strategy
Detailed Description
In recent version we expanded MachineSpec with fields allowing us to configure machine deletion strategy, nodeDeletionTimeout, nodeDrainTimeout and also volumeDetachTimeout (https://github.com/kubernetes-sigs/cluster-api/pull/6413); there are also annotations allowing to enable/disable one of the machine deletion steps, like e.g machine.cluster.x-k8s.io/exclude-node-draining
Last but not least we have more requests in the pipeline, like e.g. the request for adding support for DaemonSet eviction when draining nodes
This ticket is about discussing how to normalize the API surface for machine deletion strategy by (some ideas):
- create a struct that groups all the flags related to this topic
- introduce a more explicit way to enable/disable one of the machine deletion steps vs using annotations
/kind api-change
/triage accepted
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing MachineSpec, the nodeDeletionTimeout, nodeDrainTimeout, and volumeDetachTimeout fields, and the machine deletion annotations described in the issue. Compare these with the proposed DaemonSet eviction support in issue #6158; the work is done when the project agrees on and documents a consistent API for configuring deletion steps and related timeouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100