Missing support for Iscsi multipath in nexentastore Cinder driver

Bug #1719307 reported by Avi Avraham
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
New
Undecided
Unassigned

Bug Description

While trying to configure Nexentastor community edition I failed to find any parameters repleted to Iscsi multipath configuration in the Cinder configuration file or in the openstack decontamination.

Revision history for this message
Sean McGinnis (sean-mcginnis) wrote :

It's possible they do not need any additional settings to support multipath. Hopefully someone from Nexenta can chime in here and possibly add to their documentation.

tags: added: drivers nexenta
Revision history for this message
Alexey Khodos (alexey-khodos) wrote :

Hi, just as Sean said, we don't need any additional settings.
All you need is multipath tool installed on your client and enabled in nova.conf. Feel free to email me if you have any further question about using NexentaStor and cinder.

Revision history for this message
Gorka Eguileor (gorka) wrote :

I have looked into the Nexenta code and if it supports multipathing then it must be using discovery because looking at the driver code it relies on the cinder.volume.driver.ISCSIDriver code for the initialize connection, which uses the "provider_location" field from the volume that is filled by the "_do_export" method in cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver.

And in that method we can see that it only adds 1 single portal:

            provider_location = '%(host)s:%(port)s,1 %(name)s %(lun)s' % {
                'host': self.nms_host,
                'port': self.configuration.nexenta_iscsi_target_portal_port,
                'name': target_name,
                'lun': entry['lun'],
            }

And since the ISCSIDriver code does not do discovery when the info is provided by the "provider_location" field the initialize_connection will return the data as if it were a single path.

So if will be in the os-brick code where we will be doing the iSCSI discovery and, if the backend is configured to do multipathing, hopefully we'll get a list of multiple portals we can use to do the multipathing.

Revision history for this message
Alexey Khodos (alexey-khodos) wrote :

Gorka, os-brick does the discovery before attaching the volume to instance. It uses the path returned by cinder in provider_location and discovers additional paths. It worked fine when I tested multipath with NexentaStor.

Is there a "best practice" on how to implement multipath? Should I use the initialize_connection method and returned multiple paths?

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.