Guest cluster upgrade fails with error: "SystemChecksSucceeded condition is not True. Message: PodDisruptionBudgets blocking rollouts" after editing the cluster config adding the new VKr version.
VKS 3.5
VKr 3.5 is adding a new condition SystemChecksSucceeded. This condition indicates whether the cluster has passed existing all pre-update system checks related to PodDisruptionBudgets (PDBs). If there is any PDB with 'allowedDisruptions <=0', this condition will be false. The cluster upgrade will be blocked if this condition is false.
see also:
Check if the PDB for the affected cluster is configured correctly: kubectl get pdb -n <pod namespace>
see also:
Specifying a Disruption Budget for your Application
If you are sure that the PodDisruptionBudgets (PDB) are configured correctly for the affected cluster and that the application can handle pod disruptions then SystemChecksSucceeded might indicate a false positive.
To skip this PDB check add the cluster annotation below to the affected cluster when editing the cluster config to change the VKr version:
kubernetes.vmware.com/dangerous-skip-pdb-check-for-update: "true"
Note: This will disable the PDB pre-update system check only once (the annotation will be removed automatically after the cluster upgrade)