[PATCH 1/4] setup bootloader and partitioning for kickstart
Vratislav Podzimek
vpodzime at redhat.com
Fri Jul 20 07:45:25 UTC 2012
On Thu, 2012-07-19 at 18:33 -0700, Brian C. Lane wrote:
> 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)
Shouldn't these iterations be over StorageChecker.errors and
StorageChecker.warnings?
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list