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'])
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class LVMVolumeDriverTestCase(DriverTestCase):
|
||||
"""Test case for VolumeDriver"""
|
||||
driver_name = "cinder.volume.drivers.lvm.LVMVolumeDriver"
|
||||
@ -7367,6 +7368,26 @@ class LVMVolumeDriverTestCase(DriverTestCase):
|
||||
ret = self.volume.driver.unmanage(volume)
|
||||
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):
|
||||
"""Test Case for ISCSIDriver"""
|
||||
|
@ -60,7 +60,15 @@ volume_opts = [
|
||||
help='LVM conf file to use for the LVM driver in Cinder; '
|
||||
'this setting is ignored if the specified file does '
|
||||
'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
|
||||
@ -101,6 +109,10 @@ class LVMVolumeDriver(driver.VolumeDriver):
|
||||
self.protocol = self.target_driver.protocol
|
||||
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):
|
||||
return '%sg' % size_in_g
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user