def _mk_inventory(devices): devs = [] for dev_, name in zip(devices, map(chr, range(ord('a'), ord('z')))): dev = Device.from_json(dev_.to_json()) dev.path = '/dev/sd' + name dev.sys_api = dict(dev_.sys_api, path='/dev/sd' + name) devs.append(dev) return Devices(devices=devs)
def get_dg_spec(self, dg): dg_spec = DriveGroupSpec._from_json_impl(dg) dg_spec.validate() i = Inventory([]) i.main() inventory = i.get_report() devices = [Device.from_json(i) for i in inventory] selection = DriveSelection(dg_spec, devices) return to_ceph_volume(selection)