diff --git a/cmd/installer/goods/support/host-support-bundle.tmpl.yaml b/cmd/installer/goods/support/host-support-bundle.tmpl.yaml index 6de761c283..de0e192ca9 100644 --- a/cmd/installer/goods/support/host-support-bundle.tmpl.yaml +++ b/cmd/installer/goods/support/host-support-bundle.tmpl.yaml @@ -197,7 +197,7 @@ spec: - run: collectorName: curl-replicated-app command: sh - args: + args: - -c - | if [ -n "{{ .HTTPSProxy }}" ]; then @@ -398,7 +398,6 @@ spec: - -c - | pat='(clamav|sophos|esets_daemon|fsav|symantec|mfend|ds_agent|kav|bdagent|s1agent|falcon|illumio|xagt|wdavdaemon|mdatp)' - if command -v pgrep >/dev/null 2>&1; then pgrep -afi "$pat" else @@ -733,6 +732,41 @@ spec: - pass: when: "false" message: "No signs of hostname changes found" + - textAnalyze: + checkName: PodDisruptionBudget blocking upgrade + fileName: host-collectors/run-host/k0scontroller-logs.txt + regex: '(error when evicting pods|Cannot evict pod as it would violate the pod''s disruption budget)' + outcomes: + - fail: + when: "true" + message: |- + PodDisruptionBudgets are preventing pod eviction during cluster upgrade. + + The k0scontroller cannot evict pods, causing the autopilot upgrade process to hang. + This makes the cluster unable to complete upgrades. + + To resolve this issue: + + 1. List all PodDisruptionBudgets in the cluster: + kubectl get pdb -A + + 2. Identify which PDBs are blocking eviction. Look for PDBs with: + - minAvailable set too high (not allowing enough pods to be evicted) + - maxUnavailable set too low (too restrictive) + + 3. Temporarily adjust or remove the problematic PDBs: + kubectl delete pdb -n + + Or edit to allow more disruption: + kubectl edit pdb -n + + 4. After the upgrade completes, restore the PDBs if needed. + + WARNING: Modifying PDBs reduces availability guarantees. Coordinate with + application owners and consider scheduling during maintenance windows. + - pass: + when: "false" + message: No PodDisruptionBudget eviction failures detected - textAnalyze: checkName: Check if localhost resolves to 127.0.0.1 fileName: host-collectors/run-host/localhost-ips.txt