]> git.proxmox.com Git - ceph.git/blob - ceph/src/ceph-volume/ceph_volume/tests/devices/lvm/strategies/test_validate.py
update sources to 12.2.10
[ceph.git] / ceph / src / ceph-volume / ceph_volume / tests / devices / lvm / strategies / test_validate.py
1 import pytest
2 from ceph_volume.util import disk
3 from ceph_volume.devices.lvm.strategies import validators
4
5
6 class TestMinimumDeviceSize(object):
7
8 def test_size_is_larger_than_5gb(self, fakedevice):
9 devices = [fakedevice(sys_api=dict(size=6073740000))]
10 assert validators.minimum_device_size(devices) is None
11
12 def test_size_is_smaller_than_5gb(self, fakedevice):
13 devices = [fakedevice(sys_api=dict(size=1073740000))]
14 with pytest.raises(RuntimeError) as error:
15 validators.minimum_device_size(devices)
16 msg = "LVs would be smaller than 5GB"
17 assert msg in str(error)
18
19 def test_large_device_multiple_osds_fails(self, fakedevice):
20 devices = [fakedevice(sys_api=dict(size=6073740000))]
21 with pytest.raises(RuntimeError) as error:
22 validators.minimum_device_size(
23 devices, osds_per_device=4
24 )
25 msg = "LVs would be smaller than 5GB"
26 assert msg in str(error)
27
28
29 class TestMinimumCollocatedDeviceSize(object):
30
31 def setup(self):
32 self.journal_size = disk.Size(gb=5)
33
34 def test_size_is_larger_than_5gb_large_journal(self, fakedevice):
35 devices = [fakedevice(sys_api=dict(size=6073740000))]
36 assert validators.minimum_device_collocated_size(devices, disk.Size(mb=1)) is None
37
38 def test_size_is_larger_than_5gb_large_journal_fails(self, fakedevice):
39 devices = [fakedevice(sys_api=dict(size=1073740000))]
40 with pytest.raises(RuntimeError) as error:
41 validators.minimum_device_collocated_size(devices, self.journal_size)
42 msg = "LVs would be smaller than 5GB"
43 assert msg in str(error)
44
45 def test_large_device_multiple_osds_fails(self, fakedevice):
46 devices = [fakedevice(sys_api=dict(size=16073740000))]
47 with pytest.raises(RuntimeError) as error:
48 validators.minimum_device_collocated_size(
49 devices, self.journal_size, osds_per_device=3
50 )
51 msg = "LVs would be smaller than 5GB"
52 assert msg in str(error)