Skip to content

Commit 1057883

Browse files
committed
address coderabbitai comments
1 parent c5ac671 commit 1057883

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

internal/controllers/image_controller.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,9 +325,20 @@ func (r *ImageReconciler) deleteImageSnapshots(ctx context.Context, log logr.Log
325325
}
326326

327327
func (r *ImageReconciler) cloneSnapshot(ctx context.Context, log logr.Logger, ioCtx *rados.IOContext, snapName string, image *providerapi.Image) error {
328-
if imageExists, err := r.isImageExisting(ioCtx, snapName); err != nil {
329-
return fmt.Errorf("failed to check image existence: %w", err)
330-
} else if imageExists {
328+
rbdExists, err := r.isImageExisting(ioCtx, snapName)
329+
if err != nil {
330+
return fmt.Errorf("failed to check rbd image existence: %w", err)
331+
}
332+
333+
storeExists := true
334+
if _, err := r.images.Get(ctx, snapName); err != nil {
335+
if !errors.Is(err, store.ErrNotFound) {
336+
return fmt.Errorf("failed to check image in store: %w", err)
337+
}
338+
storeExists = false
339+
}
340+
341+
if rbdExists && storeExists {
331342
log.V(2).Info("Snapshot clone is already created")
332343
return nil
333344
}

internal/volumeserver/volume_create.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ func (s *Server) createImageFromVolume(ctx context.Context, log logr.Logger, vol
8989
return nil, fmt.Errorf("requested size (%d bytes) must not be smaller than snapshot restore size (%d bytes)", imageSize, snapshotSize)
9090
}
9191
if snapshotSourceVolume.Spec.Encryption != nil {
92+
if encryptionSpec != nil {
93+
log.V(2).Info("Overriding user-provided encryption with snapshot source encryption")
94+
}
9295
encryptionSpec = snapshotSourceVolume.Spec.Encryption
9396
}
9497

@@ -98,6 +101,9 @@ func (s *Server) createImageFromVolume(ctx context.Context, log logr.Logger, vol
98101
if volImage == "" {
99102
return nil, fmt.Errorf("must specify image url in image data source")
100103
}
104+
if imageSize == 0 {
105+
return nil, fmt.Errorf("must specify size when creating volume from image data source")
106+
}
101107

102108
default:
103109
return nil, fmt.Errorf("unsupported or incomplete volume data source type")

0 commit comments

Comments
 (0)