Disable multiattach for all drivers
This patch disables setting multiattach flag to True in driver capabilities. Since we reworked the driver attach/detach API, we need to ensure that the issue of detaching a shared volume works properly on the Nova side. A shared flag might need to be required to return in initialize_connection to support multiattach, so for now we will disable the capability. Change-Id: I4f8229a4465d009e06de86da255f442020151113
This commit is contained in:
parent
898c4a768c
commit
e499ab995d
@ -419,7 +419,7 @@ class PSSeriesISCSIDriverTestCase(test.TestCase):
|
||||
self.assertEqual(not thin_enabled,
|
||||
stats['thick_provisioning_support'])
|
||||
self.assertEqual('Dell EMC', stats['vendor_name'])
|
||||
self.assertTrue(stats['multiattach'])
|
||||
self.assertFalse(stats['multiattach'])
|
||||
|
||||
def test_get_space_in_gb(self):
|
||||
self.assertEqual(123.0, self.driver._get_space_in_gb('123.0GB'))
|
||||
|
@ -1185,7 +1185,7 @@ class VSPHORCMFCDriverTest(test.TestCase):
|
||||
"""Normal case: Refreshing data required."""
|
||||
stats = self.driver.get_volume_stats(True)
|
||||
self.assertEqual('Hitachi', stats['vendor_name'])
|
||||
self.assertTrue(stats['multiattach'])
|
||||
self.assertFalse(stats['multiattach'])
|
||||
|
||||
@mock.patch.object(vsp_utils, 'execute', side_effect=_execute)
|
||||
def test_get_volume_stats_no_refresh(self, execute):
|
||||
|
@ -1256,7 +1256,7 @@ class VSPHORCMISCSIDriverTest(test.TestCase):
|
||||
"""Normal case: Refreshing data required."""
|
||||
stats = self.driver.get_volume_stats(True)
|
||||
self.assertEqual('Hitachi', stats['vendor_name'])
|
||||
self.assertTrue(stats['multiattach'])
|
||||
self.assertFalse(stats['multiattach'])
|
||||
|
||||
@mock.patch.object(vsp_utils, 'execute', side_effect=_execute)
|
||||
def test_get_volume_stats_no_refresh(self, execute):
|
||||
|
@ -1194,7 +1194,7 @@ class DS8KProxyTest(test.TestCase):
|
||||
"reserved_percentage": 0,
|
||||
"consistencygroup_support": True,
|
||||
"consistent_group_snapshot_enabled": True,
|
||||
"multiattach": True
|
||||
"multiattach": False
|
||||
}
|
||||
|
||||
self.driver._update_stats()
|
||||
|
@ -375,7 +375,7 @@ FAKE_7MODE_POOLS = [
|
||||
'total_capacity_gb': 0.0,
|
||||
'free_capacity_gb': 0.0,
|
||||
'max_over_subscription_ratio': 20.0,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'thin_provisioning_support': False,
|
||||
'thick_provisioning_support': True,
|
||||
'provisioned_capacity_gb': 0.0,
|
||||
|
@ -580,7 +580,7 @@ class NetAppBlockStorage7modeLibraryTestCase(test.TestCase):
|
||||
'total_capacity_gb': 1342.21,
|
||||
'reserved_percentage': 5,
|
||||
'max_over_subscription_ratio': 10.0,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'utilization': 30.0,
|
||||
'filter_function': 'filter',
|
||||
'goodness_function': 'goodness',
|
||||
|
@ -403,7 +403,7 @@ class NetAppBlockStorageCmodeLibraryTestCase(test.TestCase):
|
||||
'consistencygroup_support': True,
|
||||
'reserved_percentage': 5,
|
||||
'max_over_subscription_ratio': 10.0,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'total_capacity_gb': 10.0,
|
||||
'free_capacity_gb': 2.0,
|
||||
'provisioned_capacity_gb': 8.0,
|
||||
|
@ -125,7 +125,7 @@ class NetApp7modeNfsDriverTestCase(test.TestCase):
|
||||
'total_capacity_gb': 4468.0,
|
||||
'reserved_percentage': 7,
|
||||
'max_over_subscription_ratio': 19.0,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'provisioned_capacity_gb': 4456.0,
|
||||
'utilization': 30.0,
|
||||
'filter_function': 'filter',
|
||||
|
@ -212,7 +212,7 @@ class NetAppCmodeNfsDriverTestCase(test.TestCase):
|
||||
'QoS_support': True,
|
||||
'reserved_percentage': fake.RESERVED_PERCENTAGE,
|
||||
'max_over_subscription_ratio': fake.MAX_OVER_SUBSCRIPTION_RATIO,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'total_capacity_gb': total_capacity_gb,
|
||||
'free_capacity_gb': free_capacity_gb,
|
||||
'provisioned_capacity_gb': provisioned_capacity_gb,
|
||||
|
@ -2698,7 +2698,7 @@ class PureVolumeUpdateStatsTestCase(PureBaseSharedDriverTestCase):
|
||||
'storage_protocol': None,
|
||||
'consistencygroup_support': True,
|
||||
'thin_provisioning_support': True,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'QoS_support': False,
|
||||
'total_capacity_gb': TOTAL_CAPACITY,
|
||||
'free_capacity_gb': TOTAL_CAPACITY - USED_SPACE,
|
||||
|
@ -299,7 +299,7 @@ class PSSeriesISCSIDriver(san.SanISCSIDriver):
|
||||
|
||||
data['total_capacity_gb'] = 0
|
||||
data['free_capacity_gb'] = 0
|
||||
data['multiattach'] = True
|
||||
data['multiattach'] = False
|
||||
|
||||
provisioned_capacity = 0
|
||||
|
||||
|
@ -523,7 +523,7 @@ class XtremIOVolumeDriver(san.SanDriver):
|
||||
'reserved_percentage':
|
||||
self.configuration.reserved_percentage,
|
||||
'QoS_support': False,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
}
|
||||
self._stats.update(self.client.get_extra_capabilities())
|
||||
|
||||
|
@ -903,7 +903,7 @@ class FJDXCommon(object):
|
||||
self.stats['total_capacity_gb'] = 0
|
||||
self.stats['free_capacity_gb'] = 0
|
||||
|
||||
self.stats['multiattach'] = True
|
||||
self.stats['multiattach'] = False
|
||||
|
||||
LOG.debug('update_volume_stats, '
|
||||
'eternus_pool:%(eternus_pool)s, '
|
||||
|
@ -519,7 +519,7 @@ class VSPCommon(object):
|
||||
data['free_capacity_gb'] = free_gb
|
||||
data['reserved_percentage'] = self.conf.safe_get('reserved_percentage')
|
||||
data['QoS_support'] = False
|
||||
data['multiattach'] = True
|
||||
data['multiattach'] = False
|
||||
LOG.debug("Updating volume status. (%s)", data)
|
||||
self._stats = data
|
||||
|
||||
|
@ -1343,7 +1343,7 @@ class HPE3PARCommon(object):
|
||||
AVG_BUSY_PERC: stat_capabilities[AVG_BUSY_PERC],
|
||||
'filter_function': filter_function,
|
||||
'goodness_function': goodness_function,
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'consistencygroup_support': True,
|
||||
}
|
||||
|
||||
|
@ -386,7 +386,7 @@ class DS8KProxy(proxy.IBMStorageProxy):
|
||||
"reserved_percentage": self.configuration.reserved_percentage,
|
||||
"consistencygroup_support": True,
|
||||
"consistent_group_snapshot_enabled": True,
|
||||
"multiattach": True
|
||||
"multiattach": False
|
||||
}
|
||||
|
||||
if self._replication_enabled:
|
||||
|
@ -1460,7 +1460,7 @@ class XIVProxy(proxy.IBMStorageProxy):
|
||||
self.meta['stat']["vendor_name"] = 'IBM'
|
||||
self.meta['stat']["driver_version"] = self.full_version
|
||||
self.meta['stat']["storage_protocol"] = connection_type
|
||||
self.meta['stat']['multiattach'] = True # XIV xupports multiattach
|
||||
self.meta['stat']['multiattach'] = False
|
||||
self.meta['stat']['QoS_support'] = (
|
||||
self._check_storage_version_for_qos_support())
|
||||
|
||||
|
@ -272,7 +272,7 @@ class LVMVolumeDriver(driver.VolumeDriver):
|
||||
total_volumes=total_volumes,
|
||||
filter_function=self.get_filter_function(),
|
||||
goodness_function=self.get_goodness_function(),
|
||||
multiattach=True
|
||||
multiattach=False
|
||||
))
|
||||
data["pools"].append(single_pool)
|
||||
|
||||
|
@ -324,7 +324,7 @@ class NetAppBlockStorage7modeLibrary(block_base.NetAppBlockStorageLibrary):
|
||||
pool = dict()
|
||||
pool['pool_name'] = volume_name
|
||||
pool['QoS_support'] = False
|
||||
pool['multiattach'] = True
|
||||
pool['multiattach'] = False
|
||||
pool['reserved_percentage'] = (
|
||||
self.reserved_percentage)
|
||||
pool['max_over_subscription_ratio'] = (
|
||||
|
@ -291,7 +291,7 @@ class NetAppBlockStorageCmodeLibrary(block_base.NetAppBlockStorageLibrary,
|
||||
|
||||
# Add driver capabilities and config info
|
||||
pool['QoS_support'] = True
|
||||
pool['multiattach'] = True
|
||||
pool['multiattach'] = False
|
||||
pool['consistencygroup_support'] = True
|
||||
pool['reserved_percentage'] = self.reserved_percentage
|
||||
pool['max_over_subscription_ratio'] = (
|
||||
|
@ -156,7 +156,7 @@ class NetApp7modeNfsDriver(nfs_base.NetAppNfsDriver):
|
||||
pool = dict()
|
||||
pool['pool_name'] = nfs_share
|
||||
pool['QoS_support'] = False
|
||||
pool['multiattach'] = True
|
||||
pool['multiattach'] = False
|
||||
pool.update(capacity)
|
||||
|
||||
thick = not self.configuration.nfs_sparsed_volumes
|
||||
|
@ -269,7 +269,7 @@ class NetAppCmodeNfsDriver(nfs_base.NetAppNfsDriver,
|
||||
# Add driver capabilities and config info
|
||||
pool['QoS_support'] = True
|
||||
pool['consistencygroup_support'] = True
|
||||
pool['multiattach'] = True
|
||||
pool['multiattach'] = False
|
||||
|
||||
# Add up-to-date capacity info
|
||||
nfs_share = ssc_vol_info['pool_name']
|
||||
|
@ -542,7 +542,7 @@ class PureBaseVolumeDriver(san.SanDriver):
|
||||
# Add flags for supported features
|
||||
data['consistencygroup_support'] = True
|
||||
data['thin_provisioning_support'] = True
|
||||
data['multiattach'] = True
|
||||
data['multiattach'] = False
|
||||
data['QoS_support'] = False
|
||||
|
||||
# Add capacity info for scheduler
|
||||
|
@ -361,7 +361,7 @@ class ReduxioISCSIDriver(san.SanISCSIDriver):
|
||||
"reserved_percentage":
|
||||
self.configuration.reserved_percentage,
|
||||
"QoS_support": False,
|
||||
'multiattach': True
|
||||
'multiattach': False
|
||||
}]}
|
||||
|
||||
return self._stats
|
||||
|
@ -663,7 +663,7 @@ class ZTEVolumeDriver(driver.VolumeDriver):
|
||||
'vendor_name': sys_info['cVendor'],
|
||||
'driver_version': sys_info['cVersionName'],
|
||||
'storage_protocol': 'iSCSI',
|
||||
'multiattach': True,
|
||||
'multiattach': False,
|
||||
'total_capacity_gb': pool_info['total'],
|
||||
'free_capacity_gb': pool_info['free'],
|
||||
'reserved_percentage': 0,
|
||||
|
Loading…
Reference in New Issue
Block a user