Add depends_on in calico-depends-on-cluster-machines-ready unit template
Minor fix on work done via !2044 (merged)
NAMESPACE NAME REVISION SUSPENDED READY MESSAGE
kubeadm-capo calico False False dependency 'kubeadm-capo/calico-crd' is not ready
kubeadm-capo calico-crd False False dependency 'kubeadm-capo/cluster-machines-ready' is not ready
kubeadm-capo capo-cluster-resources sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo cinder-csi False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo cluster sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo cluster-import False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo cluster-machines-ready False False dependency 'kubeadm-capo/cluster-ready' is not ready
kubeadm-capo cluster-reachable sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo cluster-ready False False health check failed after 30.028445816s: timeout waiting for: [MachineDeployment/kubeadm-capo/wc-1268974823-kubeadm-capo-md0 status: 'InProgress']
kubeadm-capo get-openstack-images sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo ingress-nginx False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo kyverno False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo mgmt-cluster-ready sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo monitoring False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo monitoring-crd False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo namespace-defs False False dependency 'kubeadm-capo/cluster-machines-ready' is not ready
kubeadm-capo os-images-info sha1:824bc770 False True Applied revision: sha1:824bc770
kubeadm-capo sylva-prometheus-rules False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo sylva-units-status False False dependency 'kubeadm-capo/calico' is not ready
kubeadm-capo tigera-clusterrole False False dependency 'kubeadm-capo/cluster-machines-ready' is not ready
Without the depends_on it seems that calico-crd waits for cluster-machines-ready which itself waits for cluster-ready which waits for machines to become ready. But they can't, because calico can't install itself because it depends on calico-crd.
Thanks to depends_on, dependencies will be calculated correctly. And calico-crd/calico will not depend on cluster-machines-ready during the installation phase.