Skip to content

Commit

Permalink
cephfs: set Pool parameter to empty for Snapshot-backed volumes
Browse files Browse the repository at this point in the history
Set VolumeOptions.Pool parameter to empty for Snapshot-backed volumes.
This Pool parameter is optional and  only used as 'pool-layout' parameter
during subvolume and subvolume clone create request in cephcsi
and not used for Snapshot-backed volume at all.
It is not saved anywhere for use in subsequent operations after create too.
Therefore, We can set it to empty and not error out.

Signed-off-by: rakshith-r <[email protected]>
(cherry picked from commit f1e9d80)
  • Loading branch information
Rakshith-R authored and openshift-cherrypick-robot committed Nov 14, 2023
1 parent e2ec995 commit e12e671
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
2 changes: 2 additions & 0 deletions e2e/cephfs.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ var (
cephFSExamplePath = examplePath + "cephfs/"
subvolumegroup = "e2e"
fileSystemName = "myfs"
fileSystemPoolName = "myfs-replicated"
)

func deployCephfsPlugin() {
Expand Down Expand Up @@ -1553,6 +1554,7 @@ var _ = Describe(cephfsType, func() {
scOpts := map[string]string{
"encrypted": "true",
"encryptionKMSID": kmsID,
"pool": fileSystemPoolName,
}

err = createCephfsStorageClass(f.ClientSet, f, true, scOpts)
Expand Down
7 changes: 4 additions & 3 deletions internal/cephfs/store/volumeoptions.go
Original file line number Diff line number Diff line change
Expand Up @@ -540,9 +540,10 @@ func (vo *VolumeOptions) populateVolumeOptionsFromBackingSnapshot(
return fmtBackingSnapshotOptionMismatch("clusterID", vo.ClusterID, parentBackingSnapVolOpts.ClusterID)
}

if vo.Pool != "" {
return errors.New("cannot set pool for snapshot-backed volume")
}
// Pool parameter is optional and only used to set 'pool_layout' argument for
// subvolume and subvolume clone create commands.
// Setting this to empty since it is not used with Snapshot-backed volume.
vo.Pool = ""

if vo.MetadataPool != parentBackingSnapVolOpts.MetadataPool {
return fmtBackingSnapshotOptionMismatch("MetadataPool", vo.MetadataPool, parentBackingSnapVolOpts.MetadataPool)
Expand Down

0 comments on commit e12e671

Please sign in to comment.