Skip to content

Commit c670206

Browse files
committed
fix(vd): fail with error on insufficient PVC size
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 d01b0df commit c670206

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)