]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Avoid LUN ID collisions in NetApp iSCSI drivers
authorRushil Chugh <rushil@netapp.com>
Wed, 22 Apr 2015 22:40:18 +0000 (18:40 -0400)
committerRushil Chugh <rushil@netapp.com>
Wed, 27 May 2015 18:46:59 +0000 (18:46 +0000)
commitc4909c606f3e5c51afb2370561cf00c871e350e2
tree765c7263075ef4ae658d17ad39a28cf6cdb85743
parent40eb00476e69a8672a4f42827fdeec8fcf29fff5
Avoid LUN ID collisions in NetApp iSCSI drivers

Previously, the logic to calculate the LUN ID only considered a single attached
host. Because multiple hosts can be attached to a LUN, the logic needs to
consider multiple hosts. This patchset proposes to choose non-conflicting
LUN IDs across the whole array. This patch first checks for an empty LUN ID
across the array. If it doesn't find one, then it looks for the least used
LUN ID across the whole array.
The value of MAX_LUNS_PER_HOST has been changed here as the range function
iterates from 0 to n-1 LUN IDs. With Eseries backend, a maximum of 256 LUN_IDS
are supported, thus a value of 256 MAX_LUNS_PER_HOST is required.

Closes-bug: 1433825
Closes-bug: 1457995
Change-Id: I033368c12c90d7fbbaf81b065f1a1c8c5975006a
cinder/tests/unit/volume/drivers/netapp/eseries/fakes.py
cinder/tests/unit/volume/drivers/netapp/eseries/test_host_mapper.py
cinder/volume/drivers/netapp/eseries/host_mapper.py
cinder/volume/drivers/netapp/eseries/iscsi.py
cinder/volume/drivers/netapp/eseries/utils.py