]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
NetApp fix eseries concurrent vol map failure
authorNavneet Singh <singn@netapp.com>
Fri, 28 Feb 2014 10:19:49 +0000 (15:49 +0530)
committerNavneet Singh <singn@netapp.com>
Mon, 19 May 2014 03:03:00 +0000 (08:33 +0530)
This fixes the issue while mapping volume to host
when the requests are very close in time proximity.
The map operation has been synchronized.

Change-Id: I2e120d84d3b96faa4ab8d4324e70a089bcddeaa5
Closes-bug: #1312685

cinder/volume/drivers/netapp/eseries/iscsi.py

index 39dd80371bde752509a80b035318d8d18fb07c70..694f882ee55c58a2eb62743cfa71b03fa4cd8c72 100644 (file)
@@ -26,6 +26,7 @@ from cinder import exception
 from cinder.openstack.common import excutils
 from cinder.openstack.common import log as logging
 from cinder import units
+from cinder import utils as cinder_utils
 from cinder.volume import driver
 from cinder.volume.drivers.netapp.eseries import client
 from cinder.volume.drivers.netapp.options import netapp_basicauth_opts
@@ -512,6 +513,7 @@ class Driver(driver.ISCSIDriver):
         raise exception.NetAppDriverException(
             msg % self._client.get_system_id())
 
+    @cinder_utils.synchronized('map_es_volume')
     def _map_volume_to_host(self, vol, initiator):
         """Maps the e-series volume to host with initiator."""
         host = self._get_or_create_host(initiator)