From 72548c9c4184ad68ddcce05e28e98640dc04b361 Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Thu, 6 Dec 2018 09:56:58 -0600 Subject: [PATCH] ceph-volume: use Device.lvm_size in batch strategies We should show the user what the size of the device will be after lvm creates a pv out of it. This way there isn't a discrepency between the sizes that are reported to the user and what is actually created. Signed-off-by: Andrew Schoen (cherry picked from commit 071e7ce41a58702c0eb84c35bd9388e2ec24ac13) --- .../ceph_volume/devices/lvm/strategies/bluestore.py | 12 ++++++------ .../ceph_volume/devices/lvm/strategies/filestore.py | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py b/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py index 42c10296962f5..39465f71e1b40 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py @@ -66,16 +66,16 @@ class SingleType(Strategy): for hdd in range(self.osds_per_device): osd = {'data': {}, 'block.db': {}} osd['data']['path'] = device.abspath - osd['data']['size'] = device.sys_api['size'] / self.osds_per_device + osd['data']['size'] = device.lvm_size.b / self.osds_per_device osd['data']['parts'] = self.osds_per_device osd['data']['percentage'] = 100 / self.osds_per_device osd['data']['human_readable_size'] = str( - disk.Size(b=device.sys_api['size']) / self.osds_per_device + disk.Size(b=device.lvm_size.b) / self.osds_per_device ) osds.append(osd) for device in self.ssds: - extents = lvm.sizing(device.sys_api['size'], parts=self.osds_per_device) + extents = lvm.sizing(device.lvm_size.b, parts=self.osds_per_device) for ssd in range(self.osds_per_device): osd = {'data': {}, 'block.db': {}} osd['data']['path'] = device.abspath @@ -209,10 +209,10 @@ class MixedType(MixedStrategy): for hdd in range(self.osds_per_device): osd = {'data': {}, 'block.db': {}} osd['data']['path'] = device.abspath - osd['data']['size'] = device.sys_api['size'] / self.osds_per_device + osd['data']['size'] = device.lvm_size.b / self.osds_per_device osd['data']['percentage'] = 100 / self.osds_per_device osd['data']['human_readable_size'] = str( - disk.Size(b=(device.sys_api['size'])) / self.osds_per_device + disk.Size(b=device.lvm_size.b) / self.osds_per_device ) osd['block.db']['path'] = 'vg: %s' % vg_name osd['block.db']['size'] = int(self.block_db_size.b) @@ -320,7 +320,7 @@ class MixedType(MixedStrategy): self.blank_ssds = set(self.ssds).difference(self.vg_ssds) self.total_blank_ssd_size = disk.Size(b=0) for blank_ssd in self.blank_ssds: - self.total_blank_ssd_size += disk.Size(b=blank_ssd.sys_api['size']) + self.total_blank_ssd_size += disk.Size(b=blank_ssd.lvm_size.b) self.total_available_db_space = self.total_blank_ssd_size + common_vg_size diff --git a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py index c01e837213831..59a068f28e1b8 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py @@ -93,7 +93,7 @@ class SingleType(Strategy): osds = self.computed['osds'] for device in devices: for osd in range(self.osds_per_device): - device_size = disk.Size(b=device.sys_api['size']) + device_size = disk.Size(b=device.lvm_size.b) osd_size = device_size / self.osds_per_device journal_size = self.journal_size data_size = osd_size - journal_size @@ -243,7 +243,7 @@ class MixedType(MixedStrategy): self.blank_ssds = set(self.ssds).difference(self.vg_ssds) self.total_blank_ssd_size = disk.Size(b=0) for blank_ssd in self.blank_ssds: - self.total_blank_ssd_size += disk.Size(b=blank_ssd.sys_api['size']) + self.total_blank_ssd_size += disk.Size(b=blank_ssd.lvm_size.b) self.total_available_journal_space = self.total_blank_ssd_size + common_vg_size @@ -292,7 +292,7 @@ class MixedType(MixedStrategy): for device in self.hdds: for osd in range(self.osds_per_device): - device_size = disk.Size(b=device.sys_api['size']) + device_size = disk.Size(b=device.lvm_size.b) data_size = device_size / self.osds_per_device osd = {'data': {}, 'journal': {}} osd['data']['path'] = device.path -- 2.39.5