summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--installclass.py3
-rw-r--r--kickstart.py49
3 files changed, 57 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 5f7752fee..da4b2a500 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2004-10-01 Jeremy Katz <katzj@redhat.com>
+ * installclass.py (BaseInstallClass.setZFCP): Add method for use
+ in kickstart setting of zfcp config.
+
+ * kickstart.py (KickstartBase.doZFCP):
+ Add syntax for defining zfcp volumes in kickstart.
+ Use --devnum=, --scsiid=, --wwpn=, --scsilun=, --fcplun=.
+ All are required. (#130070, #133288)
+ (KickstartBase.doAutoPart): Skip zfcpconfig (#133288)
+ (KickstartBase.definePartition): Skip zfcpconfig (#133288)
+
* isys/nfsmount.c (HAVE_NFSV3): Let's use NFSv3. Will fix using
the DVD iso via nfsiso (#122032)
diff --git a/installclass.py b/installclass.py
index a687ee058..e05d6ec61 100644
--- a/installclass.py
+++ b/installclass.py
@@ -226,6 +226,9 @@ class BaseInstallClass:
def setGroupSelection(self, grpset, intf):
pass
+ def setZFCP(self, id, devnum, scsiid, wwpn, scsilun, fcplun):
+ id.zfcp.fcpdevices.append( (devnum, scsiid, wwpn, scsilun, fcplun) )
+
def getMakeBootdisk(self):
return self.makeBootdisk
diff --git a/kickstart.py b/kickstart.py
index 4fbc4745f..1c30d618a 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -175,10 +175,48 @@ class KickstartBase(BaseInstallClass):
self.setSELinux(id, sel)
- # FIXME KH add ZFCP support
def doZFCP(self, id, args):
- return
-
+ (args, extra) = isys.getopt(args, '',
+ ["devnum", "scsiid", "wwpn", "scsilun",
+ "fcplun"])
+
+ devnum = None
+ scsiid = None
+ wwpn = None
+ scsilun = None
+ fcplun = None
+
+ for n in args:
+ (str, arg) = n
+ if str == "--devnum":
+ devnum = id.zfcp.sanitizeDeviceInput(arg)
+ elif str == "--scsid":
+ scsiid = id.zfcp.sanitizeHexInput(arg)
+ elif str == "--wwpn":
+ wwpn = id.zfcp.sanitizeHexInput(arg)
+ elif str == "--scsilun":
+ scsilun = id.zfcp.sanitizeHexInput(arg)
+ elif str == "--fcplun":
+ fcplun = id.zfcp.sanitizeFCPLInput(arg)
+
+ if id.zfcp.checkValidDevice(devnum) == -1:
+ raise KickstartValueError, "Invalid devnum specified"
+ if id.zfcp.checkValidID(scsiid) == -1:
+ raise KickstartValueError, "Invalid scsiid specified"
+ if id.zfcp.checkValid64BitHex(wwpn) == -1:
+ raise KickstartValueError, "Invalid wwpn specified"
+ if id.zfcp.checkValidID(scsilun) == -1:
+ raise KickstartValueError, "Invalid scsilun specified"
+ if id.zfcp.checkValid64BitHex(fcplun) == -1:
+ raise KickstartValueError, "Invalid fcplun specified"
+
+ if ((devnum is None) or (scsiid is None) or (wwpn is None)
+ or (scsilun is None) or (fcplun is None)):
+ raise KickstartError, "ZFCP config must specify all of devnum, scsiid, wwpn, scsilun, and fcplun"
+
+ self.setZFCP(id, devnum, scsiid, wwpn, scsilun, fcplun)
+ self.skipSteps.append("zfcpconfig")
+
def doAuthconfig(self, id, args):
(args, extra) = isys.getopt(args, '',
[ 'useshadow', 'enableshadow',
@@ -286,7 +324,7 @@ class KickstartBase(BaseInstallClass):
'password=', 'md5pass=', 'linear', 'nolinear',
'upgrade', 'driveorder='])
- validLocations = [ "mbr", "partition", "none" ]
+ validLocations = [ "mbr", "partition", "none", "boot" ]
appendLine = ""
location = "mbr"
password = None
@@ -872,7 +910,7 @@ class KickstartBase(BaseInstallClass):
self.skipSteps.append("partitionmethodsetup")
self.skipSteps.append("fdisk")
self.skipSteps.append("autopartition")
-
+ self.skipSteps.append("zfcpconfig")
def defineLogicalVolume(self, id, args):
(args, extra) = isys.getopt(args, '', [ 'vgname=',
@@ -1286,6 +1324,7 @@ class KickstartBase(BaseInstallClass):
self.skipSteps.append("partitionmethodsetup")
self.skipSteps.append("fdisk")
self.skipSteps.append("autopartition")
+ self.skipSteps.append("zfcpconfig")
def doIgnoreDisk(self, id, args):
# add disks to ignore list