ceph-csi/internal/rbd
Yite Gu 7595e20969 rbd: support QoS based on capacity for rbd volume
1. QoS provides settings for rbd volume read/write iops
   and read/write bandwidth.
2. All QoS parameters are placed in the SC,
   send QoS parameters from SC to Cephcsi through PVC create request.
3. We need provide QoS parameters in the SC as below:
   - BaseReadIops
   - BaseWriteIops
   - BaseReadBytesPerSecond
   - BaseWriteBytesPerSecond
   - ReadIopsPerGB
   - WriteIopsPerGB
   - ReadBpsPerGB
   - WriteBpsPerGB
   - BaseVolSizeBytes
   There are 4 base qos parameters among them, when users apply for
   a volume capacity equal to or less than BaseVolSizebytes, use base
   qos limit. For the portion of capacity exceeding BaseVolSizebytes,
   QoS will be increased in steps set per GB. If the step size parameter
   per GB is not provided, only base QoS limit will be used and not associated
   with capacity size.
4. If PVC has resize request, adjust the QoS limit
   according to the QoS parameters after resizing.

Signed-off-by: Yite Gu <guyite@bytedance.com>
2025-02-17 18:25:33 +00:00
..
driver csiaddons: use rbd.Manager within ReclaimSpaceControllerServer 2025-01-28 10:19:58 +00:00
features rbd: add feature check to see if GroupSnapGetInfo is available 2024-10-10 15:45:47 +00:00
group rbd: get volumegroup in secondary cluster 2025-02-17 13:33:21 +00:00
types rbd: add RegenerateVolumeGroupJournal method for Manager interface 2025-01-28 17:19:32 +00:00
clone.go rbd: support QoS based on capacity for rbd volume 2025-02-17 18:25:33 +00:00
controllerserver_test.go build: address 'copyloopvar' linter warning 2024-04-29 14:36:48 +00:00
controllerserver.go rbd: support QoS based on capacity for rbd volume 2025-02-17 18:25:33 +00:00
diskusage.go csiaddons: use rbd.Manager within ReclaimSpaceControllerServer 2025-01-28 10:19:58 +00:00
encryption_test.go build: address 'copyloopvar' linter warning 2024-04-29 14:36:48 +00:00
encryption.go rbd: Add timeout for cryptsetup commands 2024-11-05 11:39:59 +00:00
errors.go cleanup: move ErrImageNotFound from rbd/errors to util/errors 2025-02-17 13:33:21 +00:00
globals.go util: add CSIDriver.GetInstanceID() 2024-08-05 17:04:52 +00:00
group_controllerserver.go util: return correct status code for VolumeGroupSnapshot 2024-12-19 10:42:01 +00:00
group.go rbd: close the RBD-image after adding it to a VolumeGroup 2024-11-06 11:37:44 +00:00
identityserver.go rbd: expose the GroupControllerService 2024-11-06 11:37:44 +00:00
manager.go cleanup: move ErrImageNotFound from rbd/errors to util/errors 2025-02-17 13:33:21 +00:00
migration_test.go build: address 'copyloopvar' linter warning 2024-04-29 14:36:48 +00:00
migration.go rbd: rename deleteImage() to Delete() 2024-07-08 09:23:58 +00:00
mirror.go rbd: add context to mirror interface 2024-07-31 12:16:42 +00:00
nodeserver_test.go ci: Use temporary directory for unit tests 2024-05-27 05:57:27 +00:00
nodeserver.go rbd: Use assume_storage_prezeroed when formatting 2025-01-24 11:58:33 +00:00
qos_test.go rbd: support QoS based on capacity for rbd volume 2025-02-17 18:25:33 +00:00
qos.go rbd: support QoS based on capacity for rbd volume 2025-02-17 18:25:33 +00:00
rbd_attach_test.go build: address 'copyloopvar' linter warning 2024-04-29 14:36:48 +00:00
rbd_attach.go build: address 'intrange' linter warning 2024-04-29 14:36:48 +00:00
rbd_healer.go rbd: add a check for CSI pv 2024-08-27 17:08:44 +00:00
rbd_journal.go cleanup: move ErrImageNotFound from rbd/errors to util/errors 2025-02-17 13:33:21 +00:00
rbd_util_test.go cleanup: move ShouldRetryVolumeGeneration from internal/rbd to internal/util 2025-02-17 13:33:21 +00:00
rbd_util.go rbd: support QoS based on capacity for rbd volume 2025-02-17 18:25:33 +00:00
replication.go rbd: fail DisableVolumeReplication() if image is not mirror disabled 2024-09-11 16:22:29 +00:00
snapshot.go cleanup: move ErrImageNotFound from rbd/errors to util/errors 2025-02-17 13:33:21 +00:00