]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: add filtered_devices and used_by_ceph to all batch reports
authorAndrew Schoen <aschoen@redhat.com>
Tue, 2 Oct 2018 14:48:27 +0000 (09:48 -0500)
committerAndrew Schoen <aschoen@redhat.com>
Mon, 15 Oct 2018 16:55:50 +0000 (11:55 -0500)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit 0718d2e2663c8e807dbb5171a58759c76ed92c08)

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

index b126ba3e2580fe4e2edc20aacead47cb6d395321..2cf401ec5c023c52ae1ce3cc34eaf5c7da27727d 100644 (file)
@@ -20,7 +20,7 @@ class SingleType(object):
         # TODO: add --fast-devices and --slow-devices so these can be customized
         self.hdds = [device for device in devices if device.sys_api['rotational'] == '1']
         self.ssds = [device for device in devices if device.sys_api['rotational'] == '0']
-        self.computed = {'osds': [], 'vgs': []}
+        self.computed = {'osds': [], 'vgs': [], 'filtered_devices': args.filtered_devices}
         self.validate()
         self.compute()
 
@@ -73,7 +73,7 @@ class SingleType(object):
         osds = self.computed['osds']
         for device in self.hdds:
             for hdd in range(self.osds_per_device):
-                osd = {'data': {}, 'block.db': {}}
+                osd = {'data': {}, 'block.db': {}, 'used_by_ceph': device.used_by_ceph}
                 osd['data']['path'] = device.abspath
                 osd['data']['size'] = device.sys_api['size'] / self.osds_per_device
                 osd['data']['parts'] = self.osds_per_device
@@ -86,7 +86,7 @@ class SingleType(object):
         for device in self.ssds:
             extents = lvm.sizing(device.sys_api['size'], parts=self.osds_per_device)
             for ssd in range(self.osds_per_device):
-                osd = {'data': {}, 'block.db': {}}
+                osd = {'data': {}, 'block.db': {}, 'used_by_ceph': device.used_by_ceph}
                 osd['data']['path'] = device.abspath
                 osd['data']['size'] = extents['sizes']
                 osd['data']['parts'] = extents['parts']
@@ -94,6 +94,8 @@ class SingleType(object):
                 osd['data']['human_readable_size'] = str(disk.Size(b=extents['sizes']))
                 osds.append(osd)
 
+        self.computed['changed'] = len(osds) > 0
+
     def execute(self):
         """
         Create vgs/lvs from the incoming set of devices, assign their roles
@@ -135,7 +137,7 @@ class MixedType(object):
         # TODO: add --fast-devices and --slow-devices so these can be customized
         self.hdds = [device for device in devices if device.sys_api['rotational'] == '1']
         self.ssds = [device for device in devices if device.sys_api['rotational'] == '0']
-        self.computed = {'osds': []}
+        self.computed = {'osds': [], 'filtered_devices': args.filtered_devices}
         self.block_db_size = self.get_block_size()
         self.system_vgs = lvm.VolumeGroups()
         self.dbs_needed = len(self.hdds) * self.osds_per_device
@@ -213,7 +215,7 @@ class MixedType(object):
 
         for device in self.hdds:
             for hdd in range(self.osds_per_device):
-                osd = {'data': {}, 'block.db': {}}
+                osd = {'data': {}, 'block.db': {}, 'used_by_ceph': device.used_by_ceph}
                 osd['data']['path'] = device.abspath
                 osd['data']['size'] = device.sys_api['size'] / self.osds_per_device
                 osd['data']['percentage'] = 100 / self.osds_per_device
@@ -226,6 +228,8 @@ class MixedType(object):
                 osd['block.db']['percentage'] = self.vg_extents['percentages']
                 osds.append(osd)
 
+        self.computed['changed'] = len(osds) > 0
+
     def execute(self):
         """
         Create vgs/lvs from the incoming set of devices, assign their roles
index d2a3bd54fe71aed2b0ae085c1a76b0603bb2bf18..8751150aeb83ffdaa27222ba6412a2ee9358b7c6 100644 (file)
@@ -178,7 +178,7 @@ class MixedType(object):
         self.devices = devices
         self.hdds = [device for device in devices if device.sys_api['rotational'] == '1']
         self.ssds = [device for device in devices if device.sys_api['rotational'] == '0']
-        self.computed = {'osds': [], 'vg': None}
+        self.computed = {'osds': [], 'vg': None, 'filtered_devices': args.filtered_devices}
         self.blank_ssds = []
         self.journals_needed = len(self.hdds) * self.osds_per_device
         self.journal_size = get_journal_size(args)
@@ -320,7 +320,7 @@ class MixedType(object):
             for osd in range(self.osds_per_device):
                 device_size = disk.Size(b=device.sys_api['size'])
                 data_size = device_size / self.osds_per_device
-                osd = {'data': {}, 'journal': {}}
+                osd = {'data': {}, 'journal': {}, 'used_by_ceph': device.used_by_ceph}
                 osd['data']['path'] = device.path
                 osd['data']['size'] = data_size.b
                 osd['data']['percentage'] = 100 / self.osds_per_device
@@ -331,6 +331,8 @@ class MixedType(object):
                 osd['journal']['human_readable_size'] = str(self.journal_size)
                 osds.append(osd)
 
+        self.computed['changed'] = len(osds) > 0
+
     def execute(self):
         """
         Create vgs/lvs from the incoming set of devices, assign their roles