]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: fix Batch object in py3 environments
authorJan Fajerski <jfajerski@suse.com>
Fri, 30 Nov 2018 08:22:51 +0000 (09:22 +0100)
committerJan Fajerski <jfajerski@suse.com>
Fri, 14 Dec 2018 08:43:04 +0000 (09:43 +0100)
Fixes: https://tracker.ceph.com/issues/37356
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 851c7693daa315b7972702bedf09dd66a37667d8)

src/ceph-volume/ceph_volume/devices/lvm/batch.py

index cce58b166d05b58eaf4104a627de88dce24acd84..76a52f37dea664eadf60e63df5cf2f3e3d8c427c 100644 (file)
@@ -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(