Volume quality of service in cinder documentation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
New
|
Undecided
|
Unassigned |
Bug Description
The Cinder volume QoS documentation does not provide enough information to understand what the parameters mean.
One example - there are two pages for QoS, one for "Basic Volume" and one for "Capacity-based" quality of service for volumes:
https:/
https:/
are they both accurate? or is one deprecated? If both are valid, maybe they should refer to each other, or be combined?
Some issues:
- it is unclear as to which QoS feature is supported with which release of OpenStack
- the pages indicate "the values of which should be fairly self-explanatory" - they are not. For example, what is "read_iops_sec"? Read I/O's per second per second? or should it be Read I/O's per second? What is the difference between "read_iops_sec" and "read_iops_
- on the capacity based QoS, read_iops_
- many more examples would be incredibly useful - especially "real world" examples.
Eric
-------
Release: on 2018-08-07 01:39
SHA: 851f4d9ec46f1ff
Source: https:/
URL: https:/
tags: | added: qos |
Changed in cinder: | |
assignee: | nobody → Tushar Trambak Gite (tushargite96) |
Changed in cinder: | |
assignee: | Tushar Trambak Gite (tushargite96) → nobody |
Just to add some items that might be useful for someone, but please correct me if I'm wrong on any of this.
These are descriptions for the various QoS properties for Cinder, which are really Libvirt properties, except for the "per_gb" properties, which are simply computed values for the respective property based on the volume size in GiB.
# Descriptions for the volume type properties are available here: /libvirt. org/formatdomai n.html
# https:/
# Queens' Libvirt configuration is written here (search for "iotune", which is the tag in the /github. com/openstack/ nova/blob/ stable/ queens/ nova/virt/ libvirt/ config. py /github. com/openstack/ nova/blob/ master/ nova/virt/ libvirt/ config. py
# Libvirt XML VM configuration file that controls throttling):
# https:/
#
# New properties have been added to Master (currently Rocky beta):
# https:/
# Fixed IOPS per volume, regardless of size, specified unit is IOPS, not IOPS/sec
read_iops_sec
write_iops_sec
total_iops_sec
# Fixed bandwidth per volume, regardless of size, specified unit is bytes/sec
read_bytes_sec
write_bytes_sec
total_bytes_sec
# Burst IOPS per volume for the given "size_iops_sec", specified unit is IOPS, not IOPS/sec
read_iops_sec_max
write_iops_sec_max
total_iops_sec_max
# Burst bandwidth per volume for the given "size_iops_sec", specified unit is bytes/sec
read_bytes_sec_max
write_bytes_sec_max
total_bytes_sec_max
# The burst bucket size, specified unit is bytes
size_iops_sec
# Dynamic IOPS per volume, based on size, specific unit is IOPS, not IOPS/sec sec_per_ gb sec_per_ gb sec_per_ gb
read_iops_
write_iops_
total_iops_
# Dynamic bandwidth per volume, based on size, specific unit is bytes/sec sec_per_ gb sec_per_ gb sec_per_ gb
read_bytes_
write_bytes_
total_bytes_
# Minimum IOPS per volume - used to avoid assigning too few sec_per_ gb_min sec_per_ gb_min sec_per_ gb_min
# IOPS to a volume, such as for tiny volumes.
# NOTE that these have NOT been implemented as of Rocky
# Specified unit is IOPS, not IOPS/sec
read_iops_
write_iops_
total_iops_
# Minimum bandwidth per volume - used to avoid assigning too little sec_per_ gb_min sec_per_ gb_min sec_per_ gb_min
# bandwidth to a volume, such as for tiny volumes.
# NOTE that these have NOT been implemented as of Rocky
# Specified unit is IOPS, not IOPS/sec
read_bytes_
write_bytes_
total_bytes_