From ddb0ab172cc15d9cf3f90a9fa42717311446f810 Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 2 Oct 2018 09:48:27 -0500 Subject: [PATCH] ceph-volume: add filtered_devices and used_by_ceph to all batch reports Signed-off-by: Andrew Schoen (cherry picked from commit 0718d2e2663c8e807dbb5171a58759c76ed92c08) --- .../devices/lvm/strategies/bluestore.py | 14 +++++++++----- .../devices/lvm/strategies/filestore.py | 6 ++++-- 2 files changed, 13 insertions(+), 7 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 b126ba3e2580f..2cf401ec5c023 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py @@ -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 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 d2a3bd54fe71a..8751150aeb83f 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py @@ -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 -- 2.39.5