apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
1.83k stars 1.07k forks source link

Implement Progress Bar + Estimated Time Remaining + Cancel Button for Volume Snapshots #9269

Open btzq opened 1 week ago

btzq commented 1 week ago
ISSUE TYPE
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: Screenshot 2024-06-18 at 11 11 35 pm Screenshot 2024-06-18 at 11 10 25 pm Screenshot 2024-06-18 at 11 12 00 pm

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
rohityadavcloud commented 10 hours ago

This is a good idea, but who'll work on it @btzq - are you or any of your colleagues working on it?

btzq commented 10 hours ago

@rohityadavcloud unfortunately we dont have any members familiar with cloudstack development. Currently we use cloudstack as a user/operator, but not as developers. Would definetly do it if we had the means and technical skills to.