After upgrading the TKG management cluster to TKG 2.3 workload clusters are unable to update using the Tanzu CLI and present no error in CLI output.
tanzu cluster upgrade -n <WorkloadClusterNamespace> <WorkloadClusterName>
compatibility file (/root/.config/tanzu/tkg/compatibility/tkg-compatibility.yaml) already exists, skipping download BOM files inside /root/.config/tanzu/tkg/bom already exists, skipping downloadError: no available upgrades for cluster '<WorkloadClusterName>', namespace '<WorkloadClusterNamespace>'
workers: machineDeployments: - class: tkgm-worker metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu,os-arch=amd64 name: pool-0 replicas: 2 <-------------- Correct CAPI 1.3 spec for machine counts variables: overrides: - name: nodePoolLabels value: - key: pool value: wkld - name: worker value: count: 1 <------------------------ Problem Spec machine: customVMXKeys: {} diskGiB: ### memoryMiB: #### numCPUs: ###
After the TKG 2.3 upgrade to the management cluster the ClusterAPI (CAPI) components on the management cluster are upgraded to CAPI 1.3. This will also update all cluster objects to the new CAPI version. CAPI 1.3 has improved validation for the variables defined in the ClusterClass objects this updates the clusters with a new replica spec that replaces worker.count but does not remove the legacy variable from the cluster. This is noted in the TKG 2.3 release notes as a known issue for previously provisioned clusters and is resolved in a future release of TKG.
workers: machineDeployments: - class: tkgm-worker metadata: annotations: run.tanzu.vmware.com/resolve-os-image: os-name=ubuntu,os-arch=amd64 name: pool-0 replicas: 2 <-------------- Correct CAPI 1.3 spec for machine counts variables: overrides: - name: nodePoolLabels value: - key: pool value: wkld - name: worker value: count: 1 <------------------------ Problem Spec machine: customVMXKeys: {} diskGiB: ### memoryMiB: #### numCPUs: ###
6. Remove any line under workers.machineDeployments that contain count save the cluster config.
7. Retry the TKG workload cluster upgrade command:
tanzu cluster upgrade -n <WorkloadClusterNamespace> <WorkloadClusterName>