Commit f4b09da
committed
mgr/dashboard: expose image summary API
Introduce a new API for getting per image summary
```
╰─$ curl -kX GET "https://localhost:4200/api/block/mirroring/rbd/test/summary" \
-H "Accept: application/vnd.ceph.api.v1.0+json" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 637 100 637 0 0 14597 0 --:--:-- --:--:-- --:--:-- 14813
{
"name": "test2",
"id": "10d618ea1a58",
"info": {
"global_id": "f25678be-64a2-481f-b96c-9bcc566dcbfe",
"state": 1,
"primary": true
},
"remote_statuses": [
{
"state": "Replaying",
"description": {
"bytes_per_second": 0.0,
"bytes_per_snapshot": 0.0,
"last_snapshot_bytes": 0,
"last_snapshot_sync_seconds": 0,
"local_snapshot_timestamp": 1755579780,
"remote_snapshot_timestamp": 1755579780,
"replay_state": "idle"
},
"last_update": "2025-08-19T05:03:17Z",
"up": true,
"mirror_uuid": "4d734616-5a38-4399-b743-86bcd8c1ab8f"
}
],
"state": 6,
"description": "local image is primary",
"last_update": "2025-08-19T05:03:10Z",
"up": true
}
```
Also update the existing API to add the image syncing status. The
/summary API's `image_ready` will also have the `remote_status` which is
a list of dict to show the status of all the remote clusters (one image
can be mirrored to more than one cluster)
```
"image_ready": [
{
"pool_name": "rbd",
"name": "test2",
"state_color": "info",
"state": "Stopped",
"mirror_mode": "snapshot",
"description": "local image is primary",
"remote_status": [
{
"state": "Replaying",
"description": {
"bytes_per_second": 0.0,
"bytes_per_snapshot": 0.0,
"last_snapshot_bytes": 0,
"last_snapshot_sync_seconds": 0,
"local_snapshot_timestamp": 1755579780,
"remote_snapshot_timestamp": 1755579780,
"replay_state": "idle"
},
"last_update": "2025-08-19T05:03:47Z",
"up": true,
"mirror_uuid": "4d734616-5a38-4399-b743-86bcd8c1ab8f"
}
]
}
]
```
Fixes: https://tracker.ceph.com/issues/72520
Signed-off-by: Nizamudeen A <[email protected]>1 parent 06ba819 commit f4b09da
File tree
3 files changed
+99
-2
lines changed- src/pybind/mgr/dashboard
- controllers
3 files changed
+99
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
279 | 280 | | |
280 | 281 | | |
281 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
282 | 289 | | |
283 | 290 | | |
284 | | - | |
| 291 | + | |
285 | 292 | | |
286 | 293 | | |
287 | 294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
40 | 60 | | |
41 | 61 | | |
42 | 62 | | |
| |||
220 | 240 | | |
221 | 241 | | |
222 | 242 | | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
223 | 268 | | |
224 | 269 | | |
225 | 270 | | |
| |||
387 | 432 | | |
388 | 433 | | |
389 | 434 | | |
| 435 | + | |
390 | 436 | | |
391 | | - | |
| 437 | + | |
| 438 | + | |
392 | 439 | | |
393 | 440 | | |
394 | 441 | | |
| |||
487 | 534 | | |
488 | 535 | | |
489 | 536 | | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
490 | 548 | | |
491 | 549 | | |
492 | 550 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1558 | 1558 | | |
1559 | 1559 | | |
1560 | 1560 | | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
1561 | 1593 | | |
1562 | 1594 | | |
1563 | 1595 | | |
| |||
0 commit comments