apache / apache/cloudstack

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

Open
#9,269 3 comments 3 reactions 0 assignees View on GitHub
component:api component:UI status:needs-functional-definition type:new-feature
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:
![Screenshot 2024-06-18 at 11 11 35 pm](https://github.com/apache/cloudstack/assets/147712084/b2c10cc4-e567-43ee-a055-a5f455c95e76)
![Screenshot 2024-06-18 at 11 10 25 pm](https://github.com/apache/cloudstack/assets/147712084/0664d06a-6ae3-42c1-9632-f4d623b81679)
![Screenshot 2024-06-18 at 11 12 00 pm](https://github.com/apache/cloudstack/assets/147712084/f2a388a4-ff93-4511-b8a8-65db02e88bb0)

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.