NetApp ONTAP: QoS policy group is deleted after migration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
Medium
|
Unassigned |
Bug Description
NetApp ONTAP Cinder driver has support for setting QoS.
When a Cinder volume is created with a volume-type associated to a QoS entity, the driver creates a QoS policy group at the ONTAP back end, and associates it to the entity representing the Cinder volume (either a LUN or a file within an NFS share).
When a migrate operation is issued, the QoS policy group is deleted.
Steps to reproduce:
- Set up 2 ONTAP back ends `ontap1` and `ontap2`
- Create a Cinder QoS `qos_test`
- Create a Cinder volume type `ontap`
- Associate the QoS `qos_test` to the volume type `ontap`
- Create a Cinder volume with the volume type `ontap`
- Migrate the volume to another ONTAP back end
- Wait for the driver to perform a host-assited migration
- Wait for the driver to create a new QoS policy group and associate it to the new LUN/file representing the volume
Expected result:
- Have the new QoS policy group associated to the LUN/file permanently.
Actual result:
- The new QoS policy group is deleted afer a few minutes.
Detailed commands and outputs are here [0].
Changed in cinder: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in cinder: | |
status: | Triaged → In Progress |
I believe the issue is on the NetApp driver itself and is a 2 piece issue:
- When checking which qos to delete we are not taking into account the volume's name, and are only checking its id [1]
- The call to "update_ migrated_ volume" is not implemented on NetApp's NFS driver and uses the inherited one from cinder. volume. drivers. nfs.NFSDriver, where does an "os.rename" [2] to rename the file, creating a problem with the matching of the file and qos.
[1]: https:/ /github. com/openstack/ cinder/ blob/d3ffa90baa 959530eaa1cd1d4 e3800fbe9148806 /cinder/ volume/ drivers/ netapp/ utils.py# L269 /github. com/openstack/ cinder/ blob/d3ffa90baa 959530eaa1cd1d4 e3800fbe9148806 /cinder/ volume/ drivers/ nfs.py# L484
[2]: https:/