kubernetes-sigs/cluster-api

Improve API around machine deletion strategy

Open

#7,021 opened on Aug 5, 2022

View on GitHub
 (8 comments) (0 reactions) (0 assignees)Go (1,532 forks)auto 404
help wantedkind/api-changepriority/important-longtermtriage/accepted

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

Contributor guide