NetApp ONTAP: Dynamically create Adaptive QoS

Registered by Lucio Seki

NetApp ONTAP Cinder driver provides a basic QoS [0] feature, which allows the user to set a fixed throughput ceiling for Cinder volumes. This can be achieved in two ways:
a) Associate a previously created ONTAP QoS policy group to a Cinder volume-type, by providing its name to the extra-spec `netapp:qos_policy_group`. Every volume created with this volume-type will be associated to the existing QoS policy group.
b) Create a Cinder QoS object specifying one of the supported specs (maxIOPS, maxIOPSperGiB, maxBPS, or maxBPSperGiB), and associate it to a Cinder volume-type. For every Cinder volume created with this volume-type, the driver creates and assigns a new ONTAP QoS policy-group with the specified specs.

ONTAP 9.3 added the Adaptive QoS feature [1], which scales the throughput according to the volume size.
Starting from Victoria release, ONTAP Cinder driver also supports associating a previously created ONTAP Adaptive QoS policy group to a Cinder volume-type by providing its name to the extra-spec `netapp:qos_policy_group` and also setting `netapp:qos_policy_group_is_adaptive="<is> True"` [2].

This blueprint is to add new back-end Cinder QoS specs:
- expected-iops: <integer>[IOPS[/{GB|TB}]] (default: TB)
- peak-iops: {<integer>[IOPS[/{GB|TB}]] (default: TB)
- absolute-min-iops: <throughput>[IOPS]
- expected-iops-allocation: used-space|allocated-space (default:
  allocated-space)
- peak-iops-allocation: used-space|allocated-space (default: used-space)

By creating a Cinder QoS with these specs and associating it to a volume-type, NetApp ONTAP Cinder driver will dynamically create a new Adaptive QoS policy-group at the back end and associate it to the corresponding volume.

[0] https://netapp-openstack-dev.github.io/openstack-docs/ussuri/cinder/key_concepts/section_cinder-key-concepts.html#quality-of-service
[1] http://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perf-mon%2FGUID-B144F39A-2E14-4048-91CA-D8080C50F70D.html
[2] https://review.opendev.org/#/c/741327/

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
Lucio Seki
Direction:
Approved
Assignee:
Felipe Rodrigues
Definition:
Approved
Series goal:
Accepted for wallaby
Implementation:
Implemented
Milestone target:
milestone icon wallaby-3
Started by
Felipe Rodrigues
Completed by
Brian Rosmaita

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bp/netapp-ontap-dynamic-adaptive-qos

Addressed by: https://review.opendev.org/c/openstack/cinder/+/775455
    NetApp ONTAP: Add support for dynamic Adaptive QoS policy group creation

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.