kubernetes-sigs / cluster-api

Home for Cluster API, a subproject of sig-cluster-lifecycle
https://cluster-api.sigs.k8s.io
Apache License 2.0
3.5k stars 1.3k forks source link

Gate MHC's machine timer on the status of certain pods in the cluster #4254

Closed randomvariable closed 3 years ago

randomvariable commented 3 years ago

User Story

As a cluster operator I would like MHC to not start the clock on the status of a Machine until certain conditions have been met on the cluster, so that during bootstrap I don't get machines deleted unnecessarily.

Detailed Description

In particular, if I'm using out-of-tree CPI, then a node joins by kubeadm and doesn't get a provider ID until the out-of-tree CPI is running. Depending on the OCI registry the CPI is downloading from, this could take a while.

Anything else you would like to add:

Open to whatever mechanism could do it, but some way of waiting for the out of CPI or at least one of a particular CNI pod to appear on the control plane before the clock starts ticking, would help with this cluster bootstrapping race condition.

/kind feature

PS: Apologies for not responding to things on other issues. I will be back...

fabriziopandini commented 3 years ago

@randomvariable might be this PR is already trying to address this point https://github.com/kubernetes-sigs/cluster-api/pull/3752

randomvariable commented 3 years ago

Maybe, control plane ready might be equivalent here.

fabriziopandini commented 3 years ago

/milestone v0.4.0 if possible, lets dedup with https://github.com/kubernetes-sigs/cluster-api/issues/3026

randomvariable commented 3 years ago

Yup, I think they describe the same thing.

/close

k8s-ci-robot commented 3 years ago

@randomvariable: Closing this issue.

In response to [this](https://github.com/kubernetes-sigs/cluster-api/issues/4254#issuecomment-791685378): >Yup, I think they describe the same thing. > >/close > > Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.