]>
git.proxmox.com Git - ceph.git/blob - ceph/src/ceph-volume/ceph_volume/tests/devices/lvm/strategies/test_validate.py
2 from ceph_volume
.util
import disk
3 from ceph_volume
.devices
.lvm
.strategies
import validators
6 class TestMinimumDeviceSize(object):
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
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
)
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
25 msg
= "LVs would be smaller than 5GB"
26 assert msg
in str(error
)
29 class TestMinimumCollocatedDeviceSize(object):
32 self
.journal_size
= disk
.Size(gb
=5)
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
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
)
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
51 msg
= "LVs would be smaller than 5GB"
52 assert msg
in str(error
)