From 8178d5c48ac1a7f3915f0003abab6d625385bd78 Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Fri, 25 Sep 2020 11:35:19 +0200 Subject: [PATCH] ceph-volume batch: fix very_fast_allocation plan and add tests Signed-off-by: Jan Fajerski --- .../ceph_volume/devices/lvm/batch.py | 9 +++--- .../tests/devices/lvm/test_batch.py | 28 +++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/batch.py b/src/ceph-volume/ceph_volume/devices/lvm/batch.py index 3770ee4840760..21fcdd09cd8e1 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/batch.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/batch.py @@ -485,8 +485,7 @@ class Batch(object): osd.add_fast_device(*fast_allocations.pop(), type_=fast_type) if very_fast_devices and args.bluestore: - osd.add_very_fast_device(*very_fast_allocations.pop(), - type_='block.wal') + osd.add_very_fast_device(*very_fast_allocations.pop()) return plan def fast_allocations(self, devices, requested_osds, new_osds, type_): @@ -551,12 +550,12 @@ class Batch(object): slots=slots, type_=type_) - def add_very_fast_device(self, path, rel_size, abs_size, slots, type_): - self.fast = self.VolSpec(path=path, + def add_very_fast_device(self, path, rel_size, abs_size, slots): + self.very_fast = self.VolSpec(path=path, rel_size=rel_size, abs_size=abs_size, slots=slots, - type_=type_) + type_='block_wal') def _get_osd_plan(self): plan = { diff --git a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py index b2b599a4a460e..692bce7456e0f 100644 --- a/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py +++ b/src/ceph-volume/ceph_volume/tests/devices/lvm/test_batch.py @@ -126,3 +126,31 @@ class TestBatch(object): mock_lvs = [mock_lv_device_generator()] osds = batch.get_lvm_osds(mock_lvs, args) assert len(osds) == 1 + + +class TestBatchOsd(object): + + def test_osd_class_ctor(self): + osd = batch.Batch.OSD('/dev/data', 1, '5G', 1, 1, None) + assert osd.data == batch.Batch.OSD.VolSpec('/dev/data', + 1, + '5G', + 1, + 'data') + def test_add_fast(self): + osd = batch.Batch.OSD('/dev/data', 1, '5G', 1, 1, None) + osd.add_fast_device('/dev/db', 1, '5G', 1, 'block_db') + assert osd.fast == batch.Batch.OSD.VolSpec('/dev/db', + 1, + '5G', + 1, + 'block_db') + + def test_add_very_fast(self): + osd = batch.Batch.OSD('/dev/data', 1, '5G', 1, 1, None) + osd.add_very_fast_device('/dev/wal', 1, '5G', 1) + assert osd.very_fast == batch.Batch.OSD.VolSpec('/dev/wal', + 1, + '5G', + 1, + 'block_wal') -- 2.39.5