NetApp QOS extra spec is not implemented properly

Bug #1288283 reported by Andrew Kerr
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Alex Meade

Bug Description

The NetApp NFS and iSCSI QOS extra spec for volume types is not implemented correctly. It currently requires a QOS policy to be applied at the flexVol level. The scheduler then assigns a new cinder volume to the flexVol which has the QOS policy applied to it. This results in a situation where multiple cinder volumes are all fighting for the same QOS limits, rather than each getting the implied limit. For example:

QOS policy of 100 MB/s is applied to a flexVol by the NetApp admin.
5 cinder volumes are created with the 100 MB/s QOS policy applied via volume-type. They are all placed into the flexVol created in the first step.
These 5 cinder volumes are now fighting each other for the 100 MB/s that the flexVol has allocated to it.

The expected behavior is that each cinder volume would independently have their own 100 MB/s limit, not a combined limit.

In order to do this, the QOS policy should be applied at the LUN level for the iSCSI driver. The NFS driver is another can of worms, as I'm not aware of a way to apply a QOS policy to a file.

Changed in cinder:
status: New → Confirmed
Alex Meade (alex-meade)
Changed in cinder:
assignee: nobody → Alex Meade (alex-meade)
Revision history for this message
Ben Swartzlander (bswartz) wrote :

This can and should be fixed for iSCSI. The fix is to simply apply the QoS policy to the LUN rather than ensuring the LUN lands on a flexvol with a QoS policy.

For NFS the existing behavior should be preserved until we can get additional support on the backend for per-file or per-directory QoS.

The UI should not need to change at all to fix this bug, although the docs need to be updated to reflect the differences in the behavior between NFS and iSCSI.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

Fix proposed to branch: master
Review: https://review.openstack.org/81625

Changed in cinder:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/82094

Changed in cinder:
milestone: none → next
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/81625
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=7c1fe4a0625274421a62dd14f9957dcc98c4e247
Submitter: Jenkins
Branch: master

commit 7c1fe4a0625274421a62dd14f9957dcc98c4e247
Author: Alex Meade <email address hidden>
Date: Wed Mar 19 14:03:15 2014 -0400

    NetApp cmode iscsi: Fix QOS extra spec

    This patch fixes the incorrect behavior where the NetApp cmode
    iscsi driver will choose to create a volume on a flexVol that has
    a QOS policy group that matches the specified QOS policy group
    intended for the cinder volume. The correct behavior is to ignore
    the QOS policy group of the flexVol and instead assign the QOS policy
    group to the newly created cinder volume.

    Change-Id: Ibeb8e3b965af8e79d0294c5cf97410da2b44d40c
    Partial-Bug: #1288283

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/82094
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=b2447503b0ba98e644439d31435d47435c46cd69
Submitter: Jenkins
Branch: master

commit b2447503b0ba98e644439d31435d47435c46cd69
Author: Alex Meade <email address hidden>
Date: Thu Mar 20 15:44:44 2014 -0400

    NetApp cmode nfs: Fix QOS extra spec

    This patch fixes the incorrect behavior where the NetApp cmode
    nfs driver will choose to create a volume on a flexVol that has
    a QOS policy group that matches the specified QOS policy group
    intended for the cinder volume. The correct behavior is to ignore
    the QOS policy group of the flexVol and instead assign the QOS policy
    group to the newly created cinder volume.

    Change-Id: I45d905da2a9a07b3ae8c00a225ab3b7f7ceb12d8
    Closes-Bug: #1288283

Changed in cinder:
status: In Progress → Fix Committed
Changed in cinder:
status: Fix Committed → Fix Released
milestone: next → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.