Skip to content

Commit 4b8ae4d

Browse files
authored
fix(vd): fail with error on insufficient PVC size (#1295)
When importing VirtualDisk from VirtualImage or ClusterVirtualImage, if PVC size is insufficient, set phase to Failed with error message in Ready condition instead of hanging in Pending without errors. Signed-off-by: Daniil Loktev <[email protected]>
1 parent d1c2d34 commit 4b8ae4d

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

images/virtualization-artifact/pkg/controller/vd/internal/source/step/create_dv_from_cvi_step.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ func (s CreateDataVolumeFromClusterVirtualImageStep) Take(ctx context.Context, v
9696
size, err := s.getPVCSize(vd, cviRef)
9797
if err != nil {
9898
if errors.Is(err, service.ErrInsufficientPVCSize) {
99+
vd.Status.Phase = virtv2.DiskFailed
100+
s.cb.
101+
Status(metav1.ConditionFalse).
102+
Reason(vdcondition.ProvisioningFailed).
103+
Message(service.CapitalizeFirstLetter(err.Error()) + ".")
99104
return &reconcile.Result{}, nil
100105
}
101106

images/virtualization-artifact/pkg/controller/vd/internal/source/step/create_dv_from_vi_step.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ func (s CreateDataVolumeFromVirtualImageStep) Take(ctx context.Context, vd *virt
9999
size, err := s.getPVCSize(vd, viRef)
100100
if err != nil {
101101
if errors.Is(err, service.ErrInsufficientPVCSize) {
102+
vd.Status.Phase = virtv2.DiskFailed
103+
s.cb.
104+
Status(metav1.ConditionFalse).
105+
Reason(vdcondition.ProvisioningFailed).
106+
Message(service.CapitalizeFirstLetter(err.Error()) + ".")
102107
return &reconcile.Result{}, nil
103108
}
104109

0 commit comments

Comments
 (0)