Project

General

Profile

Feature #36191

mgr/dashboard: Add support for managing RBD QoS

Added by Lenz Grimmer 5 months ago. Updated 22 days ago.

Status:
Need Review
Priority:
Normal
Category:
dashboard/rbd
Target version:
Start date:
01/30/2019
Due date:
% Done:

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

With PR#23743 merged, Ceph Nautilus will support defining an IOPS limit for RBD images on a per-image and pool level.

The RBD management in Ceph Mgr Dashboard should support this feature, by making it possible to define the limit when creating new RBD images or editing existing RBDs, as well as when creating or editing a Ceph pool dedicated to RBD.

On the command line, these limits can be configured as follows:

$ rbd config pool set $pool rbd_qos_iops_limit 100
$ rbd config image set $pool/$image rbd_qos_iops_limit 200


Subtasks

Subtask #38120: Implemented more frontend testsNew


Related issues

Related to mgr - Bug #37569: mgr/dashboard: Fix search for RBD source field in table In Progress 12/07/2018
Related to mgr - Feature #37570: Provide descriptions and types for the RBD configuration options New 12/07/2018
Precedes mgr - Feature #37571: mgr/dashboard: Highlight RBD configuration options in add/edit form Rejected 01/31/2019 01/31/2019
Precedes mgr - Fix #37572: mgr/dashboard: Add backend tests for RBD configuration In Progress 01/31/2019 01/31/2019
Precedes mgr - Bug #38004: mgr/dashboard: Render error in pool edit dialog Need Review 01/31/2019 01/31/2019
Precedes mgr - Tasks #38072: mgr/dashboard: Reflect RBD QoS setting values in forms New 01/31/2019 01/31/2019

History

#1 Updated by Mykola Golub 5 months ago

I am not sure if the scope is intentionally limited only to QOS, but just to make sure you are aware about all available functionality, below some more details.

Via `rbd config pool|image` you can set not only QOS but much more. `rbd config pool ls $pool` and `rbd config image ls $pool/$image` will return the full list of possible overrides. E.g. for QOS we have these options:

% rbd config pool ls rbd |grep qos
rbd_qos_bps_limit                      0        config 
rbd_qos_iops_limit                     0        config 
rbd_qos_read_bps_limit                 0        config 
rbd_qos_read_iops_limit                0        config 
rbd_qos_write_bps_limit                0        config 
rbd_qos_write_iops_limit               0        config 

So probably we want some more generic, not only QOS?

And the dashboard can use python rbd bindings:

params = rbd.config_list(ioctx)
rbd.pool_metadata_set(ioctx, "conf_rbd_qos_bps_limit", "100")
rbd.pool_metadata_remove(ioctx, "conf_rbd_qos_bps_limit")

params = image.config_list()
image.metadata_set("conf_rbd_qos_bps_limit", "100")
image.metadata_remove("conf_rbd_qos_bps_limit")

Note, the overrides are stored in the pool/image metadata, and for set/remove we use "metadata" API, which requires the config keys to be prefixed with "conf_".

#2 Updated by Lenz Grimmer 4 months ago

  • Assignee set to Patrick Nawracay

#3 Updated by Patrick Nawracay 4 months ago

  • Status changed from New to In Progress

#4 Updated by Lenz Grimmer 3 months ago

  • Pull request ID set to 25233

#5 Updated by Patrick Nawracay 3 months ago

  • Status changed from In Progress to Need Review
  • % Done changed from 0 to 90

#6 Updated by Patrick Nawracay 3 months ago

  • Related to Bug #37569: mgr/dashboard: Fix search for RBD source field in table added

#7 Updated by Patrick Nawracay 3 months ago

  • Related to Feature #37570: Provide descriptions and types for the RBD configuration options added

#8 Updated by Patrick Nawracay 3 months ago

  • Precedes Feature #37571: mgr/dashboard: Highlight RBD configuration options in add/edit form added

#9 Updated by Patrick Nawracay 3 months ago

  • Precedes Fix #37572: mgr/dashboard: Add backend tests for RBD configuration added

#10 Updated by Patrick Nawracay about 1 month ago

  • Subject changed from mgr/dashboard: Add support for managing RBD QOS to mgr/dashboard: Add support for managing RBD QoS

#11 Updated by Patrick Nawracay about 1 month ago

  • Related to Bug #38004: mgr/dashboard: Render error in pool edit dialog added

#12 Updated by Patrick Nawracay about 1 month ago

  • Related to deleted (Bug #38004: mgr/dashboard: Render error in pool edit dialog)

#13 Updated by Patrick Nawracay about 1 month ago

  • Precedes Bug #38004: mgr/dashboard: Render error in pool edit dialog added

#14 Updated by Patrick Nawracay 23 days ago

  • Precedes Tasks #38072: mgr/dashboard: Reflect RBD QoS setting values in forms added

Also available in: Atom PDF