]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: use Device.lvm_size in batch strategies
authorAndrew Schoen <aschoen@redhat.com>
Thu, 6 Dec 2018 15:56:58 +0000 (09:56 -0600)
committerJan Fajerski <jfajerski@suse.com>
Fri, 19 Jul 2019 10:43:47 +0000 (12:43 +0200)
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 <aschoen@redhat.com>
(cherry picked from commit 071e7ce41a58702c0eb84c35bd9388e2ec24ac13)

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

index 42c10296962f5bd0b7ce109fc76224a9473ce61c..39465f71e1b40705ca3fac28ee0c8fbc0c45e5a5 100644 (file)
@@ -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
 
index c01e83721383158f6862cc8614e0bcf0ec777b9c..59a068f28e1b81852bd91d86d8189ff4dee7e078 100644 (file)
@@ -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