def test_get_physical_fast_allocs_length_existing(self, num_devs, slots, occupied_prior, factory, conf_ceph_stub, mock_device_generator): conf_ceph_stub('[global]\nfsid=asdf-lkjh') occupied_prior = min(occupied_prior, slots) devs = [mock_device_generator() for _ in range(num_devs)] already_assigned = 0 while already_assigned < occupied_prior: dev_i = random.randint(0, num_devs - 1) dev = devs[dev_i] if len(dev.lvs) < occupied_prior: dev.lvs.append('foo') dev.path = '/dev/bar' already_assigned = sum([len(d.lvs) for d in devs]) args = factory(block_db_slots=None, get_block_db_size=None) expected_num_osds = max(len(devs) * slots - occupied_prior, 0) fast = batch.get_physical_fast_allocs(devs, 'block_db', slots, expected_num_osds, args) assert len(fast) == expected_num_osds expected_assignment_on_used_devices = sum( [slots - len(d.lvs) for d in devs if len(d.lvs) > 0]) assert len([f for f in fast if f[0] == '/dev/bar' ]) == expected_assignment_on_used_devices assert len([ f for f in fast if f[0] != '/dev/bar' ]) == expected_num_osds - expected_assignment_on_used_devices
def test_get_physical_fast_allocs_length(self, factory, conf_ceph_stub, mock_devices_available): conf_ceph_stub('[global]\nfsid=asdf-lkjh') args = factory(block_db_slots=None, get_block_db_size=None) fast = batch.get_physical_fast_allocs(mock_devices_available, 'block_db', 2, 2, args) assert len(fast) == 2
def test_get_physical_fast_allocs_abs_size(self, factory, conf_ceph_stub, mock_devices_available): conf_ceph_stub('[global]\nfsid=asdf-lkjh') args = factory(block_db_slots=None, get_block_db_size=None) fasts = batch.get_physical_fast_allocs(mock_devices_available, 'block_db', 2, 2, args) for fast, dev in zip(fasts, mock_devices_available): assert fast[2] == int(dev.vg_size[0] / 2)