[PATCH 2/3] add execute methods for partition related ks classes
Brian C. Lane
bcl at redhat.com
Thu Jul 19 00:25:28 UTC 2012
From: "Brian C. Lane" <bcl at redhat.com>
Iterate over the kickstart filesystem and partition data.
---
pyanaconda/kickstart.py | 44 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index d0ddf50..2fe0729 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -289,6 +289,11 @@ class Bootloader(commands.bootloader.F18_Bootloader):
if self.leavebootorder:
flags.leavebootorder = True
+class BTRFS(commands.btrfs.F17_BTRFS):
+ def execute(self, storage, ksdata, instClass):
+ for b in self.btrfsList:
+ b.execute(storage, ksdata, instClass)
+
class BTRFSData(commands.btrfs.F17_BTRFSData):
def execute(self, storage, ksdata, instClass):
devicetree = storage.devicetree
@@ -497,6 +502,11 @@ class IscsiName(commands.iscsiname.FC6_IscsiName):
storage.iscsi.iscsi().initiator = self.iscsiname
return retval
+class LogVol(commands.logvol.F17_LogVol):
+ def execute(self, storage, ksdata, instClass):
+ for l in self.lvList:
+ l.execute(storage, ksdata, instClass)
+
class LogVolData(commands.logvol.F17_LogVolData):
def execute(self, storage, ksdata, instClass):
devicetree = storage.devicetree
@@ -790,6 +800,11 @@ class DmRaid(commands.dmraid.FC6_DmRaid):
def parse(self, args):
raise NotImplementedError("The dmraid kickstart command is not currently supported")
+class Partition(commands.partition.F17_Partition):
+ def execute(self, storage, ksdata, instClass):
+ for p in self.partitions:
+ p.execute(storage, ksdata, instClass)
+
class PartitionData(commands.partition.F17_PartData):
def execute(self, storage, ksdata, instClass):
devicetree = storage.devicetree
@@ -1011,6 +1026,11 @@ class PartitionData(commands.partition.F17_PartData):
parents=request)
storage.createDevice(luksdev)
+class Raid(commands.raid.F15_Raid):
+ def execute(self, storage, ksdata, instClass):
+ for r in self.raidList:
+ r.execute(storage, ksdata, instClass)
+
class RaidData(commands.raid.F15_RaidData):
def execute(self, storage, ksdata, instClass):
raidmems = []
@@ -1182,6 +1202,11 @@ class Timezone(commands.timezone.F18_Timezone):
ntp.save_servers_to_config(self.ntpservers,
conf_file_path=chronyd_conf_path)
+class VolGroup(commands.volgroup.FC16_VolGroup):
+ def execute(self, storage, ksdata, instClass):
+ for v in self.vgList:
+ v.execute(storage, ksdata, instClass)
+
class VolGroupData(commands.volgroup.FC16_VolGroupData):
def execute(self, storage, ksdata, instClass):
pvs = []
@@ -1263,6 +1288,7 @@ class Keyboard(commands.keyboard.F18_Keyboard):
# classes we're overriding in place of the defaults.
commandMap = {
"autopart": AutoPart,
+ "btrfs": BTRFS,
"bootloader": Bootloader,
"clearpart": ClearPart,
"dmraid": DmRaid,
@@ -1273,9 +1299,14 @@ commandMap = {
"iscsiname": IscsiName,
"keyboard": Keyboard,
"logging": Logging,
+ "logvol": LogVol,
"multipath": MultiPath,
+ "part": Partition,
+ "partition": Partition,
+ "raid": Raid,
"services": Services,
"timezone": Timezone,
+ "volgroup": VolGroup,
"xconfig": XConfig,
"zfcp": ZFCP,
}
@@ -1479,9 +1510,14 @@ def selectPackages(ksdata, payload):
except NoSuchGroup:
continue
-def doKickstartStorage(storage, ksdata, instclass):
+def doKickstartStorage(storage, ksdata, instClass):
""" Setup storage state from the kickstart data """
- ksdata.clearpart.execute(storage, ksdata, instclass)
- ksdata.bootloader.execute(storage, ksdata, instclass)
- ksdata.autopart.execute(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.raid.execute(storage, ksdata, instClass)
+ ksdata.volgroup.execute(storage, ksdata, instClass)
+ ksdata.logvol.execute(storage, ksdata, instClass)
+ ksdata.partition.execute(storage, ksdata, instClass)
--
1.7.7.6
More information about the anaconda-patches
mailing list