Description of problem: When upgrading from CNV 4.8.0 to 4.8.2 if there are running VMIs with 'EvictionStrategy: LiveMigrate' the associated disruption budgets will keep existing forever since the VMI-PDB logic changed in 4.8.1 and those old PDBs do not get properly reconciled, this might continuously trigger alerts about not having enough pods compared to the pods the PDB expects to protect (as until 4.8.1 the logic was to create a single PDB with 'MinAvailable: 2' at all times). The quick workaround is to delete all pdbs associated to running VMIs so that virt-controller will notice the deletions and re-create the PDBs with the correct values, to do that simply run: (assuming the VMIs are in the default namespace) kubectl delete pdb --all otherwise kubectl -n $NAMESPACE delete pdb --all Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Install CNV 4.8.0 2. Create a VMI with 'EvictionStrategy: LiveMigrate' 3. Upgrade to CNV 4.8.2 Actual results: The VMI associated PDB has 'MinAvailable: 2'. Expected results: The VMI associated PDB should have 'MinAvailable: 1'. Additional info:
Posted fix at https://github.com/kubevirt/kubevirt/pull/6723.
verify with build: hco-bundle-registry-container-v4.8.4-20 step: 1. deploy cnv4.8.3 cluster and create&run rhel8 vm vm have: 'EvictionStrategy: LiveMigrate' 2. check status $ oc get csv -n openshift-cnv NAME DISPLAY VERSION REPLACES PHASE kubevirt-hyperconverged-operator.v4.8.3 OpenShift Virtualization 4.8.3 kubevirt-hyperconverged-operator.v4.8.2 Succeeded $ oc get pdb NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE kubevirt-disruption-budget-z7j9f 1 N/A 0 8m32s 3. upgrade cnv from 4.8.3 to 4.8.4-20 $ oc get ip -A NAMESPACE NAME CSV APPROVAL APPROVED openshift-cnv install-8tjvk kubevirt-hyperconverged-operator.v4.8.3 Manual true openshift-cnv install-g7vpx kubevirt-hyperconverged-operator.v4.8.4 Manual false openshift-local-storage install-tzbms local-storage-operator.4.8.0-202111041632 Automatic true openshift-storage install-zfqjz ocs-operator.v4.8.6 Automatic true $ oc get csv -n openshift-cnv NAME DISPLAY VERSION REPLACES PHASE kubevirt-hyperconverged-operator.v4.8.4 OpenShift Virtualization 4.8.4 kubevirt-hyperconverged-operator.v4.8.3 Succeeded 4. check pdb $ oc get pdb NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE kubevirt-disruption-budget-z7j9f 1 N/A 0 110m $ oc get vmi NAME AGE PHASE IP NODENAME vm-rhel8 110m Running 10.129.2.159 virt03-9vn6t-worker-0-vcqwb
per comment 4, vmi is 'MinAvailable: 1' after cnv upgrade, move to verified.
@zpeng have we also checked that no alerts are firing anymore?
I was thinking of rhbz#2026733, but this is a different bug
His Fabian, No, I didn't check that, just follow description of the bug.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (OpenShift Virtualization 4.8.4 Images), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:0213