[master/f20-branch/rhel7-branch] V02, Check that s390x LVM configuration is valid. (#873135, #885011)

Samantha N. Bueno sbueno+anaconda at redhat.com
Mon Oct 28 15:37:04 UTC 2013


On s390x, /boot (or / if /boot isn't a mountpoint) needs to exist on a
single PV if using LVM, so check for this.

Resolves: rhbz#873135
Resolves: rhbz#885011
---
 pyanaconda/bootloader.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index cf769ed..d2704d0 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -40,6 +40,7 @@ import pyanaconda.network
 from pyanaconda.nm import nm_device_hwaddress
 from blivet import platform
 from pyanaconda.i18n import _, N_
+from blivet.errors import SinglePhysicalVolumeError
 
 import logging
 log = logging.getLogger("anaconda")
@@ -2015,6 +2016,22 @@ class ZIPL(BootLoader):
     # configuration
     #
 
+    def is_valid_stage2_device(self, device, linux=True, non_linux=False):
+        valid = super(ZIPL, self).is_valid_stage2_device(self.stage2_device)
+
+        # s390x can only have /boot on a single PV; or if there is no /boot
+        # partition, / must be on a single PV, so check for that here
+        if self.stage2_device.type == "lvmlv":
+            try:
+                self.stage2_device._getSinglePV()
+                valid = True
+            except SinglePhysicalVolumeError as e:
+                msg = str(e)
+                self.errors.append(msg)
+                valid = False
+
+        return valid
+
     @property
     def boot_dir(self):
         return "/boot"
-- 
1.8.3.1



More information about the anaconda-patches mailing list