From: Jan Fajerski Date: Wed, 4 Mar 2020 10:39:40 +0000 (+0100) Subject: ceph-volume: available_lvm: vg space takes precedence X-Git-Tag: v14.2.10~128^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=de54800d13a4be25650936395a42cc95b624e4bc;p=ceph.git ceph-volume: available_lvm: vg space takes precedence 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 (cherry picked from commit c6d71eb0022935731bb9380098c975d9c5f27a86) --- diff --git a/src/ceph-volume/ceph_volume/util/device.py b/src/ceph-volume/ceph_volume/util/device.py index 878a584ce690..4527c11b211c 100644 --- a/src/ceph-volume/ceph_volume/util/device.py +++ b/src/ceph-volume/ceph_volume/util/device.py @@ -403,11 +403,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):