cluster-api: New release is breaking old clusterctl

What steps did you take and what happened: Ran clusterctl init --infrastructure aws to install CAPI onto my kind cluster. Ran clusterctl config ... | k apply -f- to create a cluster as the init succeeded, but then get errors from the webhook controllers like

Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "default.cluster.cluster.x-k8s.io": Post https://capi-webhook-service.capi-webhook-system.svc:443/mutate-cluster-x-k8s-io-v1alpha3-cluster?timeout=30s: dial tcp 10.102.79.72:443: connect: connection refused
Error from server (InternalError): error when creating "STDIN": Internal error occurred: failed calling webhook "default.machinedeployment.cluster.x-k8s.io": Post https://capi-webhook-service.capi-webhook-system.svc:443/mutate-cluster-x-k8s-io-v1alpha3-machinedeployment?timeout=30s: dial tcp 10.102.79.72:443: connect: connection refused

Saw that the capi-controller-manager deployment was failing in capi-webhook-system, this is the logs of the pod:

invalid argument "MachinePool=${EXP_MACHINE_POOL:=false},ClusterResourceSet=${EXP_CLUSTER_RESOURSE_SET:=false}" for "--feature-gates" flag: invalid value of MachinePool=${EXP_MACHINE_POOL:=false}, err: strconv.ParseBool: parsing "${EXP_MACHINE_POOL:=false}": invalid syntax

What did you expect to happen: Components come up and work as before.

Anything else you would like to add:

clusterctl version: &version.Info{Major:"0", Minor:"3", GitVersion:"v0.3.6", GitCommit:"beff1e1df8e80d3a4fdb996c86409793ee491d47", GitTreeState:"clean", BuildDate:"2020-05-15T16:00:09Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Environment:

  • Minikube/KIND version: kind v0.8.1 go1.14.2 linux/amd64
  • OS (e.g. from /etc/os-release): Linux

/kind bug /area clusterctl

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 22 (21 by maintainers)

Most upvoted comments

In case other ppl happen to run into this issue. Adding this here for visibility: From v0.3.7 release notes

Update to the latest released version of clusterctl before to install or upgrade component files, kubectl apply individual yaml files is not supported or suggested. Starting with this release (v0.3.7), clusterctl supports extended variable template substitutions, if you encounter any issues related to templating or environment variables update to the latest version or file an issue.

I’ve updated the release notes for now, I’m not sure if there is any action item that we want to take