rbd: skip comparing volumes in a group if new group is created

While calling CreateVolumeGroup RPC, if a new group is being created
we can skip comparing volumes in a group because it is redundant.

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
This commit is contained in:
Nikhil-Ladha 2025-05-30 11:31:26 +05:30 committed by mergify[bot]
parent a0074471ce
commit 2217e5cc35

View File

@ -178,22 +178,22 @@ func (vs *VolumeGroupServer) CreateVolumeGroup(
} }
log.DebugLog(ctx, "existing volume group %q has been resolved: %+v", groupName, vg) log.DebugLog(ctx, "existing volume group %q has been resolved: %+v", groupName, vg)
}
// TODO: check the number of volumes in the vg, it needs to be empty, or match len(volumes) // verify that all the volumes are part of the existing volume group
matches, err := mgr.CompareVolumesInGroup(ctx, volumes, vg) matches, err := mgr.CompareVolumesInGroup(ctx, volumes, vg)
if err != nil { if err != nil {
return nil, status.Errorf( return nil, status.Errorf(
codes.Internal, codes.Internal,
"failed to compare %d volumes with volume group %q: %s", "failed to compare %d volumes with volume group %q: %s",
len(volumes), len(volumes),
groupName, groupName,
err.Error()) err.Error())
} else if !matches { } else if !matches {
return nil, status.Errorf( return nil, status.Errorf(
codes.Internal, codes.Internal,
"volume group %q does not match with requested volumes", "volume group %q does not match with requested volumes",
groupName) groupName)
}
} }
vols, err := vg.ListVolumes(ctx) vols, err := vg.ListVolumes(ctx)