From 851c7693daa315b7972702bedf09dd66a37667d8 Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Fri, 30 Nov 2018 09:22:51 +0100 Subject: [PATCH] ceph-volume: fix Batch object in py3 environments Fixes: https://tracker.ceph.com/issues/37356 Signed-off-by: Jan Fajerski --- src/ceph-volume/ceph_volume/devices/lvm/batch.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/batch.py b/src/ceph-volume/ceph_volume/devices/lvm/batch.py index cce58b166d0..76a52f37dea 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/batch.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/batch.py @@ -139,14 +139,11 @@ class Batch(object): self.argv = argv def get_devices(self): - all_devices = disk.get_devices() # remove devices with partitions - # XXX Should be optional when getting device info - for device, detail in all_devices.items(): - if detail.get('partitions') != {}: - del all_devices[device] - devices = sorted(all_devices.items(), key=lambda x: (x[0], x[1]['size'])) - return device_formatter(devices) + devices = [(device, details) for device, details in + disk.get_devices().items() if details.get('partitions') == {}] + size_sort = lambda x: (x[0], x[1]['size']) + return device_formatter(sorted(devices, key=size_sort)) def print_help(self): return self._help.format(