Skip to content

Commit

Permalink
cephfs: add clone progress report in clone status
Browse files Browse the repository at this point in the history
add clone progress report in clone status output

Signed-off-by: Nikhil-Ladha <[email protected]>
  • Loading branch information
Nikhil-Ladha authored and phlogistonjohn committed Oct 23, 2024
1 parent da1e313 commit a296d5c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
12 changes: 10 additions & 2 deletions cephfs/admin/clone.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,18 @@ type CloneSource struct {
Snapshot string `json:"snapshot"`
}

// CloneProgressReport contains the progress report of a subvolume clone.
type CloneProgressReport struct {
PercentageCloned string `json:"percentage cloned"`
AmountCloned string `json:"amount cloned"`
FilesCloned string `json:"files cloned"`
}

// CloneStatus reports on the status of a subvolume clone.
type CloneStatus struct {
State CloneState `json:"state"`
Source CloneSource `json:"source"`
State CloneState `json:"state"`
Source CloneSource `json:"source"`
ProgressReport CloneProgressReport `json:"progress_report"`

// failure can be obtained through .GetFailure()
failure *CloneFailure
Expand Down
8 changes: 8 additions & 0 deletions cephfs/admin/clone_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ var sampleCloneStatusInProg = []byte(`{
"volume": "cephfs",
"subvolume": "subvol1",
"snapshot": "snap1"
},
"progress_report": {
"percentage cloned": "25%",
"amount cloned": "55/202",
"files cloned": "1/3"
}
}
}`)
Expand Down Expand Up @@ -66,6 +71,9 @@ func TestParseCloneStatus(t *testing.T) {
assert.EqualValues(t, "subvol1", status.Source.SubVolume)
assert.EqualValues(t, "snap1", status.Source.Snapshot)
assert.EqualValues(t, "", status.Source.Group)
assert.EqualValues(t, "25%", status.ProgressReport.PercentageCloned)
assert.EqualValues(t, "55/202", status.ProgressReport.AmountCloned)
assert.EqualValues(t, "1/3", status.ProgressReport.FilesCloned)
}
})
}
Expand Down

0 comments on commit a296d5c

Please sign in to comment.