OpenStack Discussions

Openstack cinder storage on FlexGroup

TimMcIntire
4,263 Views

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
nt/34b77dc747ac92bb76f959dc7f8d354b
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.

and

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.
 
any suggestions would be greatly appreciated.
4 REPLIES 4

Ontapforrum
4,240 Views

Hi,

 

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.
https://www.netapp.com/us/media/tr-4571.pdf

 

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

 

Unsupported protocols: 
SAN
pNFS
NFSv4.x
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!

TimMcIntire
4,234 Views

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.

 

Tim

parisi
4,227 Views

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.

Ontapforrum
4,205 Views

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."
https://access.redhat.com/solutions/3316601


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.

Public