Add Burst Length Support to Cinder QoS

Registered by Mengyang Zhang

QEMU 2.6 and Libvirt 2.4.0 introduce new iotune parameters that enhance the flexibility of block storage quality of service (QoS). Specifically, they enable the configuration of burst lengths for read, write, and overall IOPS and bandwidth. This blueprint proposes to incorporate these parameters into Cinder QoS specifications for connected volumes.

Currently, Cinder supports defining burst IOPS and bandwidth limits for volumes. These limits are tied to volume types, stored in the connection_info field, and subsequently passed to Nova. Nova then forwards these limits to QEMU and Libvirt.

To implement support for the new burst length parameters, code changes are required on the Nova side. A corresponding Nova specification already exists (see this [https://blueprints.launchpad.net/nova/+spec/add-burst-length-support]). This blueprint aims to bring attention to any necessary updates on the Cinder side, as input from the Cinder team is required for the Nova team to progress.

Blueprint information

Status:
Complete
Approver:
Brian Rosmaita
Priority:
High
Drafter:
Mengyang Zhang
Direction:
Approved
Assignee:
Mengyang Zhang
Definition:
Approved
Series goal:
Accepted for 2025.1
Implementation:
Informational Informational
Milestone target:
None
Started by
Brian Rosmaita
Completed by
Brian Rosmaita

Related branches

Sprints

Whiteboard

This was discussed at the 8 Jan 2025 cinder meeting. As far as we can tell, it does not require any cinder code changes; the code is already in place to pass the values through to nova via connection info, and the current API code does not restrict the keys/values that can be included in a qos_spec object, so new API microversion is needed.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.