Skip to content

Commit cc31fd7

Browse files
committed
feat(kubevirt): Add PVC and storage class checks to troubleshooting guide
Extend the DataVolume troubleshooting section (Step 3) to include: - Check underlying PersistentVolumeClaim (PVC) status - Verify PVC phase is "Bound" - Check storage class name and capacity - Common PVC issues and their meanings - Check StorageClass when PVC is pending - Verify storage class exists - Ensure provisioner is healthy This provides more comprehensive guidance for diagnosing storage-related issues, as PVC problems are often the root cause of DataVolume failures. The enhanced troubleshooting steps help users identify issues with: - Storage class availability - Provisioner health - Storage capacity - PVC binding problems Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Lee Yarwood <lyarwood@redhat.com>
1 parent a15c7af commit cc31fd7

File tree

1 file changed

+37
-0
lines changed
  • pkg/toolsets/kubevirt/vm/troubleshoot

1 file changed

+37
-0
lines changed

pkg/toolsets/kubevirt/vm/troubleshoot/plan.tmpl

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,43 @@ Look for DataVolumes with names starting with `{{.Name}}-`
5959
- Phase "ImportScheduled" or "ImportInProgress" - Still importing
6060
- Phase "Failed" - Check `status.conditions` for error details
6161

62+
### Check Underlying PersistentVolumeClaims
63+
64+
DataVolumes create PVCs to provision storage. Check the PVC status:
65+
66+
Use the `resources_list` tool:
67+
- **apiVersion**: `v1`
68+
- **kind**: `PersistentVolumeClaim`
69+
- **namespace**: `{{.Namespace}}`
70+
71+
Look for PVCs with names matching the DataVolume names (typically `{{.Name}}-*`)
72+
73+
Or inspect a specific PVC with `resources_get`:
74+
- **apiVersion**: `v1`
75+
- **kind**: `PersistentVolumeClaim`
76+
- **namespace**: `{{.Namespace}}`
77+
- **name**: (name from DataVolume or VM volumes)
78+
79+
**What to look for:**
80+
- `status.phase` - Should be "Bound" when ready
81+
- `spec.storageClassName` - Verify the storage class exists and is available
82+
- `status.capacity.storage` - Confirms allocated storage size
83+
- Common PVC issues:
84+
- Phase "Pending" - Storage class not available, insufficient storage, or provisioner issues
85+
- Missing PVC - DataVolume creation may have failed
86+
- Incorrect size - Check if requested size matches available storage
87+
88+
**Check Storage Class:**
89+
90+
If PVC is stuck in "Pending", verify the storage class exists:
91+
92+
Use the `resources_get` tool:
93+
- **apiVersion**: `storage.k8s.io/v1`
94+
- **kind**: `StorageClass`
95+
- **name**: (from PVC `spec.storageClassName`)
96+
97+
Ensure the storage class provisioner is healthy and has capacity.
98+
6299
---
63100

64101
## Step 4: Check virt-launcher Pod

0 commit comments

Comments
 (0)