]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: use correct extents when using db-devices and >1 osds_per_device 32874/head
authorFabian Niepelt <f.niepelt@mittwald.de>
Wed, 11 Dec 2019 13:19:14 +0000 (14:19 +0100)
committerShyukri Shyukriev <shshyukriev@suse.com>
Sat, 8 Feb 2020 20:33:43 +0000 (22:33 +0200)
Actual data size depending on osds_per_device needs to be calculated here. Otherwise, if osds_per_device is greater than 1, ceph-volume will allocate 100% of the device to the first osd and then fail to create the LV for the second because the volume group is already full.

Fixes: https://tracker.ceph.com/issues/39442
Signed-off-by: Fabian Niepelt <f.niepelt@mittwald.de>
(cherry picked from commit ecde6cd619605003706f545b0b5ad4e2e8932f28)

 Conflicts:
src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py

I've removed `data_uuid` since it's not in nautilus already

src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py

index 547421083125048df972e0c3900830040d86be62..83e42dce4736c82f9722955e80bee1d588349e45 100644 (file)
@@ -355,7 +355,7 @@ class MixedType(MixedStrategy):
         for osd in self.computed['osds']:
             data_path = osd['data']['path']
             data_vg = data_vgs[data_path]
-            data_lv_extents = data_vg.sizing(parts=1)['extents']
+            data_lv_extents = data_vg.sizing(parts=self.osds_per_device)['extents']
             data_lv = lvm.create_lv(
                 'osd-block', data_vg.name, extents=data_lv_extents, uuid_name=True
             )
@@ -537,4 +537,3 @@ class MixedType(MixedStrategy):
                 self.block_wal_size,
             )
             raise RuntimeError(msg)
-