Hi,
On 07/06/2009 04:27 PM, Chris Lumens wrote:
pykickstart/commands/fcoe.py | 69 +++++++++++++++++++++++++++++++++++++++
pykickstart/handlers/control.py | 1 +
2 files changed, 70 insertions(+), 0 deletions(-)
create mode 100644 pykickstart/commands/fcoe.py
You also need to add an import in pykickstart/commands/__init__.py.
Ah, good one thanks.
+class F12_Fcoe(KickstartCommand):
+ removedKeywords = KickstartCommand.removedKeywords
+ removedAttrs = KickstartCommand.removedAttrs
+
+ def __init__(self, writePriority=0, *args, **kwargs):
+ KickstartCommand.__init__(self, writePriority, *args, **kwargs)
+ self.op = self._getParser()
+ self.fcoe = kwargs.get("fcoe", [])
When writing out a kickstart file, does the "fcoe" command need to come
before or after any in particular, or can it just get wrtten out
wherever? If you have requirements on where it gets written out, you'll
need to adjust the writePriority. I should probably make a quick tool
to print out what command has what priority to aid in this.
Another good one I modelled this after zfcp, which uses a writepriority of
0, but looking at iscsi this might be wrong, iscsi uses a write prio of 71,
which makes more sense as this must be written before any commands which
refer to disks (so before any partitioning commands).
So would 71 be a good prio for this too ? (and should we fix zfcp ?)
+ def parse(self, args):
+ zd = self.handler.FcoeData()
+ (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
+ self._setToObj(self.op, opts, zd)
+ return zd
Depending on how picky you want to be, you should check that extra
options were not provided. I like to do something like this just after
calling self.op.parse_args:
if len(extra)> 0:
mapping = {"command": "repo", "options": extra}
raise KickstartValueError, formatErrorMsg(self.lineno, msg=_("Unexpected arguments to %( command)s command: %(options)s") % mapping)
Will do.
diff --git a/pykickstart/handlers/control.py b/pykickstart/handlers/control.py
index 8e1ab66..be6d6f3 100644
--- a/pykickstart/handlers/control.py
+++ b/pykickstart/handlers/control.py
@@ -541,6 +541,7 @@ commandMap = {
"deviceprobe": deviceprobe.FC3_DeviceProbe,
"dmraid": dmraid.FC6_DmRaid,
"driverdisk": driverdisk.FC3_DriverDisk,
+ "fcoe": fcoe.F12_Fcoe,
"firewall": firewall.F10_Firewall,
"firstboot": firstboot.FC3_Firstboot,
"graphical": displaymode.FC3_DisplayMode,
You need to add a similar line to the correct version in the dataMap,
too. Otherwise, that self.handler.FcoeData() call in the previous chunk
is going to fail.
And another good catch, thanks!
I'll do a new version as soon as I know which writePriotity to use.
Regards,
Hans
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list