Details
-
New Feature
-
Status: Done
-
Medium
-
Resolution: Done
-
None
-
1
-
Yes
-
Yes
-
[obsolete] Server Integrations
Description
Goal:
- Show progress bar for various actions initiated by the user. Provide a visual understanding of how many time user need to wait and also provide additional information on what's going wrong.
User Story:
- As a PMM Admin User, I need to be able to see the progress of the DB Cluster changes on UI, so that I can take some actions if something wrong or just adjust my expectations
- As a PMM Admin user, I need to be able to see the error from DB Cluster if something went wrong during DB cluster modification
UI:
figma
DB cluster list has an additional progress bar for statuses where changes are executed and provide progress has and a tooltip with text information
Note: the number of steps for the progress bar needs to be provided by Operator/Kubernetes. To avoid duplication of the logic needed for different actions and different Cluster types
Acceptance criteria:
- The user sees a progress bar for the following actions:
- Creation of DB Cluster
- the progress on the bar is reflecting the number of steps needed for the action.
- The progress bar provides additional information: the number of total and executed steps, as a minimum.
Ouf of scope:
- time prediction for the progress bar
- we are NOT explicitly targeting the "progress bar" for cases when Cluster in modifications process because of some other reasons, not a manual action from UI. (however, it might be covered automatically )
- the name of operation on the Progress bar
- The user is able to press a link and see in a popup window recent logs related to the cluster it's trying to modify
Suggested implementation:
- Progress can be calculated as sum of status.[services].ready divided by sum of status.[services].size
- where services are all related services for current type of DB.
- dbaas-controller should return progress in this field for both PXC and PSMDB https://github.com/percona-platform/dbaas-api/blob/main/api/controller/common.proto#L12
- Progress should be provided in API for UI in this field https://github.com/percona/pmm/blob/PMM-2.0/api/managementpb/dbaas/dbaas.proto#L12
Example of status to calculate steps:
"status": { "backup": { "version": "8.0.14" }, "conditions": [ { "lastTransitionTime": "2020-12-28T13:37:59Z", "status": "True", "type": "Initializing" }, { "lastTransitionTime": "2020-12-28T13:41:25Z", "status": "True", "type": "Ready" }, { "lastTransitionTime": "2020-12-28T13:41:30Z", "status": "True", "type": "Initializing" }, { "lastTransitionTime": "2020-12-28T13:41:41Z", "status": "True", "type": "Ready" } ], "haproxy": {}, "host": "cluster122-proxysql.default", "observedGeneration": 2, "pmm": { "version": "2.0.0" }, "proxysql": { "ready": 1, "size": 1, "status": "ready", "version": "2.0.14" }, "pxc": { "image": "percona/percona-xtradb-cluster:8.0.20-11.2", "ready": 3, "size": 3, "status": "ready", "version": "8.0.20-11.2" }, "state": "ready" }