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 172.16.200.227:/ostack6_cinder.: 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 172.16.200.227:/ostack6_cinder. 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.
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.