예제 #1
0
 def test_device_is_lvm_member_fails(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '5120')
     args = factory(osds_per_device=1)
     devices = [
         fakedevice(is_lvm_member=True, sys_api=dict(rotational='1', size=12073740000))
     ]
     with pytest.raises(RuntimeError) as error:
         filestore.SingleType(devices, args)
     assert 'Unable to use device, already a member of LVM' in str(error)
예제 #2
0
 def test_ssd_device_with_small_configured_journal(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '120')
     args = factory(osds_per_device=1)
     devices = [
         fakedevice(is_lvm_member=False, sys_api=dict(rotational='0', size=6073740000))
     ]
     with pytest.raises(RuntimeError) as error:
         filestore.SingleType(devices, args)
     msg = "journal sizes must be larger than 2GB, detected: 120.00 MB"
     assert msg in str(error)
예제 #3
0
 def test_hdd_device_multi_osd(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '5120')
     args = factory(osds_per_device=4)
     devices = [
         fakedevice(is_lvm_member=False, sys_api=dict(rotational='1', size=16073740000))
     ]
     with pytest.raises(RuntimeError) as error:
         filestore.SingleType(devices, args)
     msg = "Unable to use device 14.97 GB /dev/sda, LVs would be smaller than 5GB"
     assert msg in str(error)
예제 #4
0
 def test_ssd_device_with_large_journal(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '5120')
     args = factory(filtered_devices=[], osds_per_device=1, journal_size=None)
     devices = [
         fakedevice(used_by_ceph=False, is_lvm_member=False, sys_api=dict(rotational='0', size=6073740000))
     ]
     with pytest.raises(RuntimeError) as error:
         filestore.SingleType(devices, args)
     msg = "Unable to use device 5.66 GB /dev/sda, LVs would be smaller than 5GB"
     assert msg in str(error)
예제 #5
0
 def test_hdd_device_is_large_enough(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '5120')
     args = factory(osds_per_device=1)
     devices = [
         fakedevice(is_lvm_member=False, sys_api=dict(rotational='1', size=12073740000))
     ]
     computed_osd = filestore.SingleType(devices, args).computed['osds'][0]
     assert computed_osd['data']['percentage'] == 55
     assert computed_osd['data']['parts'] == 1
     assert computed_osd['data']['human_readable_size'] == '6.24 GB'
     assert computed_osd['data']['path'] == '/dev/sda'
예제 #6
0
 def test_device_is_lvm_member_fails(self, fakedevice, factory, conf_ceph):
     conf_ceph(get_safe=lambda *a: '5120')
     args = factory(filtered_devices=[],
                    osds_per_device=1,
                    journal_size=None)
     devices = [
         fakedevice(used_by_ceph=False,
                    is_lvm_member=True,
                    rotational=True,
                    sys_api=dict(size=12073740000))
     ]
     with pytest.raises(RuntimeError) as error:
         filestore.SingleType(devices, args)
     assert 'Unable to use device, already a member of LVM' in str(
         error.value)