]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: available_lvm: vg space takes precedence
authorJan Fajerski <jfajerski@suse.com>
Wed, 4 Mar 2020 10:39:40 +0000 (11:39 +0100)
committerJan Fajerski <jfajerski@suse.com>
Mon, 30 Mar 2020 07:08:05 +0000 (09:08 +0200)
This changes available_lvm to check for generic reasons only if no VGs
were found. A VG can contain a (mounted) lv, which triggers the
ro/locked test, despite the VG having space available.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit c6d71eb0022935731bb9380098c975d9c5f27a86)

src/ceph-volume/ceph_volume/util/device.py

index fe3fde5605ffe4b35e93a5fbb61713a653b23d8d..4da4257512c73ce82165bbd363845a35bffebc57 100644 (file)
@@ -398,11 +398,16 @@ class Device(object):
         return rejected
 
     def _check_lvm_reject_reasons(self):
-        rejected = self._check_generic_reject_reasons()
+        rejected = []
         available_vgs = [vg for vg in self.vgs if vg.free >= 5368709120]
         if self.vgs and not available_vgs:
             rejected.append('Insufficient space (<5GB) on vgs')
 
+        if not self.vgs:
+            # only check generic if no vgs are present. Vgs might hold lvs and
+            # that might cause 'locked' to trigger
+            rejected.extend(self._check_generic_reject_reasons())
+
         return len(rejected) == 0, rejected
 
     def _check_raw_reject_reasons(self):