Implement Progress Bar + Estimated Time Remaining + Cancel Button for Volume Snapshots
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
##### ISSUE TYPE
* Improvement Request
##### COMPONENT NAME
~~~
Volume Snapshots
~~~
##### CLOUDSTACK VERSION
~~~
4.19.0
~~~
##### CONFIGURATION
##### OS / ENVIRONMENT
##### SUMMARY
Currently when taking Volume Snapshots, users have no idea how long the operation takes.
Cloudstack will just show a circle loading animation, with no indication on progress or time left.
As a result, user does not know if there is a bug in the snapshot process, or its actually in progress.
This becomes even worse for large volumes (eg. 10TB) where it can take hours to complete.
And if the user waits too long, they will think the system hanged and would then attempt to create a new Volume Snapshot, resulting in 2 on going copies, which will slow down the entire system.
Volume Snapshot seems to be a very intensive operation. In this case, user should be allowed to cancel an ongoing volume snapshot if desired, to save system resources from an unmeaningful operation.
My suggestion is to add a progress bar to the following UI for better user experience:



This implementation should be neutral to the underlying storage, such as NFS, Object Storage, Ceph, Linstor etc
##### STEPS TO REPRODUCE
~~~
~~~
##### EXPECTED RESULTS
~~~
Better user experience for volume snapshots
~~~
##### ACTUAL RESULTS
~~~
- Cant tell if Volume Snapshot hanged, or is in progress (especially large Volumes)
- Cant monitor progress of snapshot
- Cant cancel Volume Snapshot
~~~
Contributor guide
Research direction
Start by reviewing the Volume Snapshots UI shown in the linked screenshots and the existing snapshot operation flow. Define how progress, estimated time, and cancellation should work across NFS, Object Storage, Ceph, and Linstor; done means users can monitor and cancel snapshots without storage-specific behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, cloud, frontend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100