-
Couldn't load subscription status.
- Fork 1.4k
Description
What steps did you take and what happened:
[A clear and concise description on how to REPRODUCE the bug.]
MD.Status.Phase may be MachineDeploymetPhaseFailed: MD controller code indicates it's derived from MachineSet.Status.Failure{Message,Reason} but those fields aren't seemingly set if/when a Machine experiences a failure (read: Machine.Status.Failure{Message,Reason} set). So although the controller logic exists to set MD.Status.Phase for MS failures, the MS controller doesn't seem to record Machine failures as MS failures.
What did you expect to happen:
A Machine failure would bubble up and be reported, somehow, in MD status.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Slack Thread: https://kubernetes.slack.com/archives/C8TSNPY4T/p1636128024376500
CAPI folks proposed bubbling up this information via MD.Status.Conditions. Which seems reasonable to me, as long as I can deduce that an MD-owned Machine experienced a terminal failure (without walking the entire MD/MS/Machine resource graph).
Environment:
- Cluster-api version: all, AFAICT
- Minikube/KIND version:
- Kubernetes version: (use
kubectl version): - OS (e.g. from
/etc/os-release):
/kind bug
[One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels]