OpenStack Discussions

Openstack cinder storage on FlexGroup


Working on an openstack (Redhat OSP13) that uses netapp for the backend storage ( cinder/nova/glance ).  the netapp is a FAS2720 running the latest 9.7 image.


I was able to get this to work using a flexvols, but want to take advantage of both of the aggregates I have using a flexgroup.   has anyone been able to get this to work?  I have flexgroups for both nova and cinder.   they mount ok on the controller/compute.  I am able to launch VMs that use only nova,  but when I try to create a cinder volume, it fails.


in the controller logs I see:


Could not get performance base counter name. Performance-based scheduler functions may not be available.: NaApiError: NetApp API failed. Reaso
n - 13001:Object "system:constituent" was not found.
2020-02-06 19:28:27.502 56 INFO os_brick.remotefs.remotefs [req-970f7889-e55c-43aa-8d54-cc804059b1b1 - - - - -] Already mounted: /var/lib/cinder/m
2020-02-06 19:28:27.688 56 ERROR cinder.volume.drivers.netapp.dataontap.nfs_cmode [req-970f7889-e55c-43aa-8d54-cc804059b1b1 - - - - -] Flexvol not
 found for NFS share VolumeBackendAPIException: Bad or unexpected response from the storage volume backend API: C
ould not find unique volume None.


2020-02-07 16:04:08.352 56 WARNING cinder.volume.drivers.netapp.dataontap.nfs_base [-] Exception during cache cleaning Message - Volume /ostack6_cinder not found.: NetAppDriverException: Volume /ostack6_cinder not found.

ostack6_cinder is the name of the flexgroup that was created on the vserver.
I am wondering if this is just an unsupported configuration and I will have to go back to flexvol.
any suggestions would be greatly appreciated.




Don't know much about cinder or the error but is it for 'virtual workload' ?


TR-4571: NetApp currently does not recommend that FlexGroup volumes be used for virtual workloads.


Basically, if cinder requires SAN [underneath] then flexgroup cannot help.


Unsupported protocols: 
SMB 1.0
SMB 3.0
SMB transparent failover

Key Limitations for virtual workload:
FlexGroup are missing functionality that is important to virtualization workloads, such as copy offload support/VAAI and FlexClone.



Thanks for the reply.  the storage is all NFS ( 4.0 ).  from what I can tell this is supported on ontap 9.7 ( which is what I just upgraded to this week ).    Looking at the release nodes for 9.7, it shows flexclone supported on flexgroups.


I actually think the issue is in the api that openstack use to interact with the netapp.  it seems to be checking for a flexvol to exist for cinder,  but I have created a flexgroup with that name.   I dont think this is a netapp issue, but an issue with the api used by openstack.


will keep poking at this a bit more, but may have to redo my aggregates and go back to flexvol.




I think the issue is how Cinder drivers look for volumes. It likely uses a unique ID like the volume MSID. Flexgroup volumes have multiple member volume MSIDs and one flexgroup MSID. Flexvols have  just a single MSID. Cinder probably is querying the wrong ID and doesn’t understand flexgroup MSID as a field.


As far as I know, there won’t be a NetApp Cinder driver that supports flexgroup volumes.


Thanks Parisi, makes sense. Flexgroup definition say - It is stiching together multiple constituents (flexVols:MSIDs) into single name-space, however each constituent/flexvol has it's own MSID which is unique. Probably that's why the error is saying 'Flexvol not found/system:constituent not found', bcos there are many ??


There is redhat official KB article (You need login) not sure if that applies to flexgroup: Take a look if you have redhat login.

OpenStack cinder 13001:Object "system:constituent" was not found."

At another place it mentions: cinder driver does not work with "Vserver Scoped" permissions, with "cluster scoped' it works, again it may not be for flexgroup.