Skip to content

Commit

Permalink
rbd: add support to get volumegroupID
Browse files Browse the repository at this point in the history
updated GetIDFromReplication to return
volumeGroupID if its present.

Signed-off-by: Madhu Rajanna <[email protected]>
  • Loading branch information
Madhu-1 committed Jul 31, 2024
1 parent 1c064a2 commit 5fd5244
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 0 deletions.
5 changes: 5 additions & 0 deletions internal/csi-common/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,11 @@ func GetIDFromReplication(req interface{}) string {
if src != nil && src.GetVolume() != nil {
reqID = src.GetVolume().GetVolumeId()
}
if reqID == "" {
if src != nil && src.GetVolumegroup() != nil {
reqID = src.GetVolumegroup().GetVolumeGroupId()
}
}
if reqID == "" {
reqID = r.GetVolumeId() //nolint:nolintlint,staticcheck // req.VolumeId is deprecated
}
Expand Down
60 changes: 60 additions & 0 deletions internal/csi-common/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,61 @@ func TestGetReqID(t *testing.T) {
},
},
},
// volumeGroupId is set in ReplicationSource
&replication.EnableVolumeReplicationRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
&replication.DisableVolumeReplicationRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
&replication.PromoteVolumeRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
&replication.DemoteVolumeRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
&replication.ResyncVolumeRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
&replication.GetVolumeReplicationInfoRequest{
ReplicationSource: &replication.ReplicationSource{
Type: &replication.ReplicationSource_Volumegroup{
Volumegroup: &replication.ReplicationSource_VolumeGroupSource{
VolumeGroupId: fakeID,
},
},
},
},
}
for _, r := range req {
if got := getReqID(r); got != fakeID {
Expand All @@ -161,6 +216,11 @@ func TestGetReqID(t *testing.T) {
if got := getReqID(nil); got != "" {
t.Errorf("getReqID() = %v, want empty string", got)
}

// test when both volume and group id not set
if got := getReqID(&replication.EnableVolumeReplicationRequest{}); got != "" {
t.Errorf("getReqID() = %v, want empty string", got)
}
}

func TestFilesystemNodeGetVolumeStats(t *testing.T) {
Expand Down

0 comments on commit 5fd5244

Please sign in to comment.