Improve API around machine deletion strategy
#7,021 opened on Aug 5, 2022
Repository metrics
- Stars
- (4,267 stars)
- PR merge metrics
- (PR metrics pending)
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