cluster-api-provider-existinginfra
cluster-api-provider-existinginfra copied to clipboard
Set status on bootstrap master node if none set
When the first node is prepared by wksctl, the ExistingInfraMachine status is not set, but the plan is. When reconciling, the controller will never set that resource ready status, preventing the capi controller from reconciling that machine.
https://github.com/weaveworks/cluster-api-provider-existinginfra/blob/2c614bca2a92b15d587f76c7c1c3969d31f50201/controllers/cluster.weave.works/existinginframachine_controller.go#L527-L530
$ kubectl get machines
NAMESPACE NAME PROVIDERID PHASE
weavek8sops master-b3d5c existingInfra://ip-10-0-194-68.us-west-2.compute.internal Pending
weavek8sops master-ny94n existingInfra://ip-10-0-195-96.us-west-2.compute.internal Pending
weavek8sops master-vj22r Pending
weavek8sops worker-0cnnv existingInfra://ip-10-0-130-187.us-west-2.compute.internal Pending
weavek8sops worker-4wwcm existingInfra://ip-10-0-131-199.us-west-2.compute.internal Pending
weavek8sops worker-ify5a existingInfra://ip-10-0-128-18.us-west-2.compute.internal Pending
weavek8sops worker-y0bh1 existingInfra://ip-10-0-130-46.us-west-2.compute.internal Pending
$ kubectl get existinginframachines
NAMESPACE NAME READY
weavek8sops master-b3d5c true
weavek8sops master-ny94n true
weavek8sops master-vj22r
weavek8sops worker-0cnnv true
weavek8sops worker-4wwcm true
weavek8sops worker-ify5a true
weavek8sops worker-y0bh1 true
In this example, master-vj22r was the first (master) machine defined in the machines.yaml.