# 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()
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
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']
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
# 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
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
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
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)
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
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