Merge "Set LVM driver default overprovisioning ratio to 1.0"
This commit is contained in:
commit
cbc99485fc
@ -6612,6 +6612,7 @@ class GenericVolumeDriverTestCase(DriverTestCase):
|
|||||||
db.volume_destroy(self.context, dest_vol['id'])
|
db.volume_destroy(self.context, dest_vol['id'])
|
||||||
|
|
||||||
|
|
||||||
|
@ddt.ddt
|
||||||
class LVMVolumeDriverTestCase(DriverTestCase):
|
class LVMVolumeDriverTestCase(DriverTestCase):
|
||||||
"""Test case for VolumeDriver"""
|
"""Test case for VolumeDriver"""
|
||||||
driver_name = "cinder.volume.drivers.lvm.LVMVolumeDriver"
|
driver_name = "cinder.volume.drivers.lvm.LVMVolumeDriver"
|
||||||
@ -7367,6 +7368,26 @@ class LVMVolumeDriverTestCase(DriverTestCase):
|
|||||||
ret = self.volume.driver.unmanage(volume)
|
ret = self.volume.driver.unmanage(volume)
|
||||||
self.assertIsNone(ret)
|
self.assertIsNone(ret)
|
||||||
|
|
||||||
|
# Global setting, LVM setting, expected outcome
|
||||||
|
@ddt.data((10.0, 2.0, 2.0))
|
||||||
|
@ddt.data((10.0, None, 10.0))
|
||||||
|
@ddt.unpack
|
||||||
|
def test_lvm_max_over_subscription_ratio(self,
|
||||||
|
global_value,
|
||||||
|
lvm_value,
|
||||||
|
expected_value):
|
||||||
|
configuration = conf.Configuration(fake_opt, 'fake_group')
|
||||||
|
configuration.max_over_subscription_ratio = global_value
|
||||||
|
configuration.lvm_max_over_subscription_ratio = lvm_value
|
||||||
|
|
||||||
|
fake_vg = mock.Mock(fake_lvm.FakeBrickLVM('cinder-volumes', False,
|
||||||
|
None, 'default'))
|
||||||
|
lvm_driver = lvm.LVMVolumeDriver(configuration=configuration,
|
||||||
|
vg_obj=fake_vg, db=db)
|
||||||
|
|
||||||
|
self.assertEqual(expected_value,
|
||||||
|
lvm_driver.configuration.max_over_subscription_ratio)
|
||||||
|
|
||||||
|
|
||||||
class ISCSITestCase(DriverTestCase):
|
class ISCSITestCase(DriverTestCase):
|
||||||
"""Test Case for ISCSIDriver"""
|
"""Test Case for ISCSIDriver"""
|
||||||
|
@ -60,7 +60,15 @@ volume_opts = [
|
|||||||
help='LVM conf file to use for the LVM driver in Cinder; '
|
help='LVM conf file to use for the LVM driver in Cinder; '
|
||||||
'this setting is ignored if the specified file does '
|
'this setting is ignored if the specified file does '
|
||||||
'not exist (You can also specify \'None\' to not use '
|
'not exist (You can also specify \'None\' to not use '
|
||||||
'a conf file even if one exists).')
|
'a conf file even if one exists).'),
|
||||||
|
cfg.FloatOpt('lvm_max_over_subscription_ratio',
|
||||||
|
# This option exists to provide a default value for the
|
||||||
|
# LVM driver which is different than the global default.
|
||||||
|
default=1.0,
|
||||||
|
help='max_over_subscription_ratio setting for the LVM '
|
||||||
|
'driver. If set, this takes precedence over the '
|
||||||
|
'general max_over_subscription_ratio option. If '
|
||||||
|
'None, the general option is used.')
|
||||||
]
|
]
|
||||||
|
|
||||||
CONF = cfg.CONF
|
CONF = cfg.CONF
|
||||||
@ -101,6 +109,10 @@ class LVMVolumeDriver(driver.VolumeDriver):
|
|||||||
self.protocol = self.target_driver.protocol
|
self.protocol = self.target_driver.protocol
|
||||||
self._sparse_copy_volume = False
|
self._sparse_copy_volume = False
|
||||||
|
|
||||||
|
if self.configuration.lvm_max_over_subscription_ratio is not None:
|
||||||
|
self.configuration.max_over_subscription_ratio = \
|
||||||
|
self.configuration.lvm_max_over_subscription_ratio
|
||||||
|
|
||||||
def _sizestr(self, size_in_g):
|
def _sizestr(self, size_in_g):
|
||||||
return '%sg' % size_in_g
|
return '%sg' % size_in_g
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user