kubernetes-sigs/cluster-api

Topology should validate failureDomain before creating MachineDeployments

開放

#5,859 建立於 2021年12月14日

 (8 則留言) (0 個反應) (0 位負責人)Go (1,532 個分叉)auto 404
area/clusterclasshelp wantedkind/featurepriority/important-longtermtriage/accepted

倉庫指標

星標
 (4,267 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

User Story

As a user, I would like to have validation on failureDomain value selected for my MachineDeployments

Detailed Description

This is a follow up of https://github.com/kubernetes-sigs/cluster-api/pull/5850#discussion_r767892624

https://github.com/kubernetes-sigs/cluster-api/pull/5850 introduced the possibility to spread MachineDeployments across failureDomains, however, on creation it is not possible to validate the selected failureDomain matches one of the available failureDomains, given that they are derived from the InfrastructureCluster after Cluster creation.

So this issue is about discussing options to ensure that a MachineDeployment gets created only if the corresponding failureDomain exists.

Option 1. We should wait to create a MachineDeployment until available failureDomains are reported on the Cluster.Status, providing evidence of this in the TopologyReconciled conditions. If the required failureDomain does not match any available failureDomains, this is a reconcile error.

Option 2. If the available failureDomains are reported on the Cluster.Status, we should validate failureDomain for new MachineDeployments/edited MachineDeployments upfront.

Option 1 and 2 are not exclusive

/kind feature /area topology /milestone v1.1

貢獻者指南