[PATCH 1/4] setup bootloader and partitioning for kickstart

Brian C. Lane bcl at redhat.com
Fri Jul 20 01:33:56 UTC 2012


From: "Brian C. Lane" <bcl at redhat.com>

after executing the kickstart commands setup the bootloader and
partitions before continuing. Also add logging of any errors found
by storage.sanityCheck
---
 pyanaconda/kickstart.py             |    7 +++++--
 pyanaconda/storage/__init__.py      |    4 ++++
 pyanaconda/ui/gui/spokes/storage.py |    7 +++++++
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 91785d7..fddb6a8 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -24,6 +24,7 @@ from storage.devices import LUKSDevice
 from storage.devicelibs.lvm import getPossiblePhysicalExtents
 from storage.devicelibs.mpath import MultipathConfigWriter, MultipathTopology
 from storage.formats import getFormat
+from storage.partitioning import doPartitioning
 import storage.iscsi
 import storage.fcoe
 import storage.zfcp
@@ -1543,9 +1544,11 @@ def doKickstartStorage(storage, ksdata, instClass):
     ksdata.clearpart.execute(storage, ksdata, instClass)
     ksdata.bootloader.execute(storage, ksdata, instClass)
     ksdata.autopart.execute(storage, ksdata, instClass)
-    ksdata.btrfs.execute(storage, ksdata, instClass)
+    ksdata.partition.execute(storage, ksdata, instClass)
     ksdata.raid.execute(storage, ksdata, instClass)
     ksdata.volgroup.execute(storage, ksdata, instClass)
     ksdata.logvol.execute(storage, ksdata, instClass)
-    ksdata.partition.execute(storage, ksdata, instClass)
+    ksdata.btrfs.execute(storage, ksdata, instClass)
+    storage.setUpBootLoader()
+    doPartitioning(storage)
 
diff --git a/pyanaconda/storage/__init__.py b/pyanaconda/storage/__init__.py
index 758a765..65a691d 100644
--- a/pyanaconda/storage/__init__.py
+++ b/pyanaconda/storage/__init__.py
@@ -97,6 +97,10 @@ def storageInitialize(storage, ksdata, protected):
     if not storage.disks:
         raise NoDisksError
 
+    # kickstart uses all the disks
+    if flags.automatedInstall:
+        ksdata.ignoredisk.onlyuse = [d.name for d in storage.disks]
+
 # dispatch.py helper function
 def storageComplete(anaconda):
     devs = anaconda.storage.devicetree.getDevicesByType("luks/dm-crypt")
diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
index 924bce2..888de2c 100644
--- a/pyanaconda/ui/gui/spokes/storage.py
+++ b/pyanaconda/ui/gui/spokes/storage.py
@@ -60,6 +60,9 @@ _ = lambda x: gettext.ldgettext("anaconda", x)
 N_ = lambda x: x
 P_ = lambda x, y, z: gettext.ldngettext("anaconda", x, y, z)
 
+import logging
+log = logging.getLogger("anaconda")
+
 __all__ = ["StorageSpoke"]
 
 class FakeDiskLabel(object):
@@ -246,6 +249,10 @@ class StorageChecker(object):
         (StorageChecker.errors,
          StorageChecker.warnings) = self.storage.sanityCheck()
         communication.send_ready(self._mainSpokeClass, justUpdate=True)
+        for e in self.errors:
+            log.error(e)
+        for w in self.warnings:
+            log.warn(w)
 
 class StorageSpoke(NormalSpoke, StorageChecker):
     builderObjects = ["storageWindow"]
-- 
1.7.7.6



More information about the anaconda-patches mailing list