[1/3 pykickstart] Add support for --disklabel to clearpart (#1078537)
Brian C. Lane
bcl at redhat.com
Wed Jun 18 23:27:03 UTC 2014
--disklabel=<disklabel> allows the user to force creation of a
non-default disklabel when relabeling disks.
---
pykickstart/commands/clearpart.py | 18 ++++++++++++++++++
pykickstart/handlers/f21.py | 2 +-
tests/commands/clearpart.py | 7 +++++++
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/pykickstart/commands/clearpart.py b/pykickstart/commands/clearpart.py
index f6af6fb..0164215 100644
--- a/pykickstart/commands/clearpart.py
+++ b/pykickstart/commands/clearpart.py
@@ -108,3 +108,21 @@ class F17_ClearPart(FC3_ClearPart):
op.add_option("--list", dest="devices", action="callback",
callback=list_cb, nargs=1, type="string")
return op
+
+class F21_ClearPart(F17_ClearPart):
+ def __init__(self, *args, **kwargs):
+ super(F21_ClearPart, self).__init__(*args, **kwargs)
+ self.disklabel = kwargs.get("disklabel", "")
+
+ def __str__(self):
+ s = super(F21_ClearPart, self).__str__()
+ if s and self.disklabel:
+ s = s.rstrip()
+ s += " --disklabel=%s\n" % self.disklabel
+ return s
+
+ def _getParser(self):
+ op = F17_ClearPart._getParser(self)
+
+ op.add_option("--disklabel", dest="disklabel", default="")
+ return op
diff --git a/pykickstart/handlers/f21.py b/pykickstart/handlers/f21.py
index 57eeb34..23220ca 100644
--- a/pykickstart/handlers/f21.py
+++ b/pykickstart/handlers/f21.py
@@ -34,7 +34,7 @@ class F21Handler(BaseHandler):
"bootloader": commands.bootloader.F21_Bootloader,
"btrfs": commands.btrfs.F17_BTRFS,
"cdrom": commands.cdrom.FC3_Cdrom,
- "clearpart": commands.clearpart.F17_ClearPart,
+ "clearpart": commands.clearpart.F21_ClearPart,
"cmdline": commands.displaymode.FC3_DisplayMode,
"device": commands.device.F8_Device,
"deviceprobe": commands.deviceprobe.FC3_DeviceProbe,
diff --git a/tests/commands/clearpart.py b/tests/commands/clearpart.py
index 0a63e83..e044085 100644
--- a/tests/commands/clearpart.py
+++ b/tests/commands/clearpart.py
@@ -36,5 +36,12 @@ class F17_TestCase(FC3_TestCase):
self.assert_parse("clearpart --list=sda2,sda3,disk/by-label/foo",
"clearpart --list=sda2,sda3,disk/by-label/foo\n")
+class F21_TestCase(F17_TestCase):
+ def runTest(self):
+ F17_TestCase.runTest(self)
+ self.assert_parse("clearpart --all --initlabel --disklabel=gpt",
+ "clearpart --all --initlabel --disklabel=gpt\n")
+ self.assert_parse_error("clearpart --all --disklabel")
+
if __name__ == "__main__":
unittest.main()
--
1.9.3
More information about the anaconda-patches
mailing list