[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