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)
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):