+++ /dev/null
-#
-# Chris Lumens <clumens@redhat.com>
-#
-# Copyright 2005, 2006, 2007, 2008 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use, modify,
-# copy, or redistribute it subject to the terms and conditions of the GNU
-# General Public License v.2. This program is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
-# implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat
-# trademarks that are incorporated in the source code or documentation are not
-# subject to the GNU General Public License and may only be used or replicated
-# with the express permission of Red Hat, Inc.
-#
-from pykickstart.base import *
-from pykickstart.options import *
-
-import gettext
-_ = lambda x: gettext.ldgettext("pykickstart", x)
-
-class FC3_DriverDiskData(BaseData):
- removedKeywords = BaseData.removedKeywords
- removedAttrs = BaseData.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- BaseData.__init__(self, *args, **kwargs)
-
- self.partition = kwargs.get("partition", "")
- self.source = kwargs.get("source", "")
- self.type = kwargs.get("type", "")
-
- def _getArgsAsStr(self):
- retval = ""
-
- if self.partition:
- retval += "%s" % self.partition
-
- if hasattr(self, "type") and self.type:
- retval += " --type=%s" % self.type
- elif self.source:
- retval += "--source=%s" % self.source
- return retval
-
- def __str__(self):
- retval = BaseData.__str__(self)
- retval += "driverdisk %s\n" % self._getArgsAsStr()
- return retval
-
-class FC4_DriverDiskData(FC3_DriverDiskData):
- removedKeywords = FC3_DriverDiskData.removedKeywords
- removedAttrs = FC3_DriverDiskData.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- FC3_DriverDiskData.__init__(self, *args, **kwargs)
- self.deleteRemovedAttrs()
-
- self.biospart = kwargs.get("biospart", "")
-
- def _getArgsAsStr(self):
- retval = ""
-
- if self.partition:
- retval += "%s" % self.partition
-
- if hasattr(self, "type") and self.type:
- retval += " --type=%s" % self.type
- elif self.source:
- retval += "--source=%s" % self.source
- elif self.biospart:
- retval += "--biospart=%s" % self.biospart
-
- return retval
-
-class F12_DriverDiskData(FC4_DriverDiskData):
- removedKeywords = FC4_DriverDiskData.removedKeywords + ["type"]
- removedAttrs = FC4_DriverDiskData.removedAttrs + ["type"]
-
- def __init__(self, *args, **kwargs):
- FC4_DriverDiskData.__init__(self, *args, **kwargs)
- self.deleteRemovedAttrs()
-
-F14_DriverDiskData = F12_DriverDiskData
-
-class FC3_DriverDisk(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.driverdiskList = kwargs.get("driverdiskList", [])
-
- def __str__(self):
- retval = ""
- for dd in self.driverdiskList:
- retval += dd.__str__()
-
- return retval
-
- def _getParser(self):
- op = KSOptionParser()
- op.add_option("--source")
- op.add_option("--type")
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
-
- if len(extra) > 1:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one partition may be specified for driverdisk command.")))
-
- if len(extra) == 1 and opts.source:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one of --source and partition may be specified for driverdisk command.")))
-
- if not extra and not opts.source:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("One of --source or partition must be specified for driverdisk command.")))
-
- ddd = self.handler.DriverDiskData()
- self._setToObj(self.op, opts, ddd)
- ddd.lineno = self.lineno
- if len(extra) == 1:
- ddd.partition = extra[0]
-
- return ddd
-
- def dataList(self):
- return self.driverdiskList
-
-class FC4_DriverDisk(FC3_DriverDisk):
- removedKeywords = FC3_DriverDisk.removedKeywords
- removedAttrs = FC3_DriverDisk.removedKeywords
-
- def _getParser(self):
- op = FC3_DriverDisk._getParser(self)
- op.add_option("--biospart")
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
-
- if len(extra) > 1:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one partition may be specified for driverdisk command.")))
-
- if len(extra) == 1 and opts.source:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one of --source and partition may be specified for driverdisk command.")))
- elif len(extra) == 1 and opts.biospart:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one of --biospart and partition may be specified for driverdisk command.")))
- elif opts.source and opts.biospart:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Only one of --biospart and --source may be specified for driverdisk command.")))
-
- if not extra and not opts.source and not opts.biospart:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("One of --source, --biospart, or partition must be specified for driverdisk command.")))
-
- ddd = self.handler.DriverDiskData()
- self._setToObj(self.op, opts, ddd)
- ddd.lineno = self.lineno
- if len(extra) == 1:
- ddd.partition = extra[0]
-
- return ddd
-
-class F12_DriverDisk(FC4_DriverDisk):
- removedKeywords = FC4_DriverDisk.removedKeywords
- removedAttrs = FC4_DriverDisk.removedKeywords
-
- def _getParser(self):
- op = FC4_DriverDisk._getParser(self)
- op.add_option("--type", deprecated=1)
- return op
-
-class F14_DriverDisk(F12_DriverDisk):
- removedKeywords = F12_DriverDisk.removedKeywords
- removedAttrs = F12_DriverDisk.removedKeywords
-
- def _getParser(self):
- op = F12_DriverDisk._getParser(self)
- op.remove_option("--type")
- return op
+++ /dev/null
-#
-# Chris Lumens <clumens@redhat.com>
-#
-# Copyright 2005, 2006, 2007, 2008 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use, modify,
-# copy, or redistribute it subject to the terms and conditions of the GNU
-# General Public License v.2. This program is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
-# implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat
-# trademarks that are incorporated in the source code or documentation are not
-# subject to the GNU General Public License and may only be used or replicated
-# with the express permission of Red Hat, Inc.
-#
-from pykickstart.base import *
-from pykickstart.constants import *
-from pykickstart.errors import *
-from pykickstart.options import *
-
-import gettext
-import warnings
-_ = lambda x: gettext.ldgettext("pykickstart", x)
-
-class FC3_NetworkData(BaseData):
- removedKeywords = BaseData.removedKeywords
- removedAttrs = BaseData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- BaseData.__init__(self, *args, **kwargs)
- self.bootProto = kwargs.get("bootProto", BOOTPROTO_DHCP)
- self.dhcpclass = kwargs.get("dhcpclass", "")
- self.device = kwargs.get("device", "")
- self.essid = kwargs.get("essid", "")
- self.ethtool = kwargs.get("ethtool", "")
- self.gateway = kwargs.get("gateway", "")
- self.hostname = kwargs.get("hostname", "")
- self.ip = kwargs.get("ip", "")
- self.mtu = kwargs.get("mtu", "")
- self.nameserver = kwargs.get("nameserver", "")
- self.netmask = kwargs.get("netmask", "")
- self.nodns = kwargs.get("nodns", False)
- self.onboot = kwargs.get("onboot", True)
- self.wepkey = kwargs.get("wepkey", "")
-
- def __eq__(self, y):
- return self.device and self.device == y.device
-
- def _getArgsAsStr(self):
- retval = ""
-
- if self.bootProto != "":
- retval += " --bootproto=%s" % self.bootProto
- if self.dhcpclass != "":
- retval += " --dhcpclass=%s" % self.dhcpclass
- if self.device != "":
- retval += " --device=%s" % self.device
- if self.essid != "":
- retval += " --essid=\"%s\"" % self.essid
- if self.ethtool != "":
- retval += " --ethtool=\"%s\"" % self.ethtool
- if self.gateway != "":
- retval += " --gateway=%s" % self.gateway
- if self.hostname != "":
- retval += " --hostname=%s" % self.hostname
- if self.ip != "":
- retval += " --ip=%s" % self.ip
- if self.mtu != "":
- retval += " --mtu=%s" % self.mtu
- if self.nameserver != "":
- retval += " --nameserver=%s" % self.nameserver
- if self.netmask != "":
- retval += " --netmask=%s" % self.netmask
- if self.nodns:
- retval += " --nodns"
- if not self.onboot:
- retval += " --onboot=off"
- if self.wepkey != "":
- retval += " --wepkey=%s" % self.wepkey
-
- return retval
-
- def __str__(self):
- retval = BaseData.__str__(self)
- retval += "network %s\n" % self._getArgsAsStr()
- return retval
-
-class FC4_NetworkData(FC3_NetworkData):
- removedKeywords = FC3_NetworkData.removedKeywords
- removedAttrs = FC3_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC3_NetworkData.__init__(self, *args, **kwargs)
- self.notksdevice = kwargs.get("notksdevice", False)
-
- def _getArgsAsStr(self):
- retval = FC3_NetworkData._getArgsAsStr(self)
-
- if self.notksdevice:
- retval += " --notksdevice"
-
- return retval
-
-class FC6_NetworkData(FC4_NetworkData):
- removedKeywords = FC4_NetworkData.removedKeywords
- removedAttrs = FC4_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC4_NetworkData.__init__(self, *args, **kwargs)
- self.noipv4 = kwargs.get("noipv4", False)
- self.noipv6 = kwargs.get("noipv6", False)
-
- def _getArgsAsStr(self):
- retval = FC4_NetworkData._getArgsAsStr(self)
-
- if self.noipv4:
- retval += " --noipv4"
- if self.noipv6:
- retval += " --noipv6"
-
- return retval
-
-class F8_NetworkData(FC6_NetworkData):
- removedKeywords = FC6_NetworkData.removedKeywords
- removedAttrs = FC6_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC6_NetworkData.__init__(self, *args, **kwargs)
- self.ipv6 = kwargs.get("ipv6", "")
-
- def _getArgsAsStr(self):
- retval = FC6_NetworkData._getArgsAsStr(self)
-
- if self.ipv6 != "":
- retval += " --ipv6" % self.ipv6
-
- return retval
-
-class F16_NetworkData(F8_NetworkData):
- removedKeywords = F8_NetworkData.removedKeywords
- removedAttrs = F8_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- F8_NetworkData.__init__(self, *args, **kwargs)
- self.activate = kwargs.get("activate", False)
- self.nodefroute = kwargs.get("nodefroute", False)
- self.wpakey = kwargs.get("wpakey", "")
-
- def _getArgsAsStr(self):
- retval = F8_NetworkData._getArgsAsStr(self)
-
- if self.activate:
- retval += " --activate"
- if self.nodefroute:
- retval += " --nodefroute"
- if self.wpakey != "":
- retval += "--wpakey=%s" % self.wpakey
-
- return retval
-
-class RHEL4_NetworkData(FC3_NetworkData):
- removedKeywords = FC3_NetworkData.removedKeywords
- removedAttrs = FC3_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC3_NetworkData.__init__(self, *args, **kwargs)
- self.notksdevice = kwargs.get("notksdevice", False)
-
- def _getArgsAsStr(self):
- retval = FC3_NetworkData._getArgsAsStr(self)
-
- if self.notksdevice:
- retval += " --notksdevice"
-
- return retval
-
-class RHEL6_NetworkData(F8_NetworkData):
- removedKeywords = F8_NetworkData.removedKeywords
- removedAttrs = F8_NetworkData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- F8_NetworkData.__init__(self, *args, **kwargs)
- self.activate = kwargs.get("activate", False)
- self.nodefroute = kwargs.get("nodefroute", False)
-
- def _getArgsAsStr(self):
- retval = F8_NetworkData._getArgsAsStr(self)
-
- if self.activate:
- retval += " --activate"
- if self.nodefroute:
- retval += " --nodefroute"
-
- return retval
-
-class FC3_Network(KickstartCommand):
- removedKeywords = KickstartCommand.removedKeywords
- removedAttrs = KickstartCommand.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- KickstartCommand.__init__(self, writePriority, *args, **kwargs)
- self.bootprotoList = [BOOTPROTO_DHCP, BOOTPROTO_BOOTP,
- BOOTPROTO_STATIC]
-
- self.op = self._getParser()
-
- self.network = kwargs.get("network", [])
-
- def __str__(self):
- retval = ""
-
- for nic in self.network:
- retval += nic.__str__()
-
- if retval != "":
- return "# Network information\n" + retval
- else:
- return ""
-
- def _getParser(self):
- op = KSOptionParser()
- op.add_option("--bootproto", dest="bootProto",
- default=BOOTPROTO_DHCP,
- choices=self.bootprotoList)
- op.add_option("--dhcpclass", dest="dhcpclass")
- op.add_option("--device", dest="device")
- op.add_option("--essid", dest="essid")
- op.add_option("--ethtool", dest="ethtool")
- op.add_option("--gateway", dest="gateway")
- op.add_option("--hostname", dest="hostname")
- op.add_option("--ip", dest="ip")
- op.add_option("--mtu", dest="mtu")
- op.add_option("--nameserver", dest="nameserver")
- op.add_option("--netmask", dest="netmask")
- op.add_option("--nodns", dest="nodns", action="store_true",
- default=False)
- op.add_option("--onboot", dest="onboot", action="store",
- type="ksboolean")
- op.add_option("--wepkey", dest="wepkey")
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
- nd = self.handler.NetworkData()
- self._setToObj(self.op, opts, nd)
- nd.lineno = self.lineno
-
- # Check for duplicates in the data list.
- if nd in self.dataList():
- warnings.warn(_("A network device with the name %s has already been defined.") % nd.device)
-
- return nd
-
- def dataList(self):
- return self.network
-
-class FC4_Network(FC3_Network):
- removedKeywords = FC3_Network.removedKeywords
- removedAttrs = FC3_Network.removedAttrs
-
- def _getParser(self):
- op = FC3_Network._getParser(self)
- op.add_option("--notksdevice", dest="notksdevice", action="store_true",
- default=False)
- return op
-
-class FC6_Network(FC4_Network):
- removedKeywords = FC4_Network.removedKeywords
- removedAttrs = FC4_Network.removedAttrs
-
- def _getParser(self):
- op = FC4_Network._getParser(self)
- op.add_option("--noipv4", dest="noipv4", action="store_true",
- default=False)
- op.add_option("--noipv6", dest="noipv6", action="store_true",
- default=False)
- return op
-
-class F8_Network(FC6_Network):
- removedKeywords = FC6_Network.removedKeywords
- removedAttrs = FC6_Network.removedAttrs
-
- def _getParser(self):
- op = FC6_Network._getParser(self)
- op.add_option("--ipv6", dest="ipv6")
- return op
-
-class F9_Network(F8_Network):
- removedKeywords = F8_Network.removedKeywords
- removedAttrs = F8_Network.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- F8_Network.__init__(self, writePriority, *args, **kwargs)
- self.bootprotoList.append(BOOTPROTO_QUERY)
-
- def _getParser(self):
- op = F8_Network._getParser(self)
- op.add_option("--bootproto", dest="bootProto",
- default=BOOTPROTO_DHCP,
- choices=self.bootprotoList)
- return op
-
-class F16_Network(F9_Network):
- removedKeywords = F9_Network.removedKeywords
- removedAttrs = F9_Network.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- F9_Network.__init__(self, writePriority, *args, **kwargs)
- self.bootprotoList.append(BOOTPROTO_IBFT)
-
- def _getParser(self):
- op = F9_Network._getParser(self)
- op.add_option("--activate", dest="activate", action="store_true",
- default=False)
- op.add_option("--nodefroute", dest="nodefroute", action="store_true",
- default=False)
- op.add_option("--wpakey", dest="wpakey", action="store", default="")
- return op
-
-class RHEL4_Network(FC3_Network):
- removedKeywords = FC3_Network.removedKeywords
- removedAttrs = FC3_Network.removedAttrs
-
- def _getParser(self):
- op = FC3_Network._getParser(self)
- op.add_option("--notksdevice", dest="notksdevice", action="store_true",
- default=False)
- return op
-
-class RHEL5_Network(FC6_Network):
- removedKeywords = FC6_Network.removedKeywords
- removedAttrs = FC6_Network.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- FC6_Network.__init__(self, writePriority, *args, **kwargs)
- self.bootprotoList.append(BOOTPROTO_QUERY)
-
- def _getParser(self):
- op = FC6_Network._getParser(self)
- op.add_option("--bootproto", dest="bootProto",
- default=BOOTPROTO_DHCP,
- choices=self.bootprotoList)
- return op
-
-class RHEL6_Network(F9_Network):
- removedKeywords = F9_Network.removedKeywords
- removedAttrs = F9_Network.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- F9_Network.__init__(self, writePriority, *args, **kwargs)
- self.bootprotoList.append(BOOTPROTO_IBFT)
-
- def _getParser(self):
- op = F9_Network._getParser(self)
- op.add_option("--activate", dest="activate", action="store_true",
- default=False)
- op.add_option("--nodefroute", dest="nodefroute", action="store_true",
- default=False)
- return op
+++ /dev/null
-#
-# Chris Lumens <clumens@redhat.com>
-#
-# Copyright 2005, 2006, 2007, 2008 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use, modify,
-# copy, or redistribute it subject to the terms and conditions of the GNU
-# General Public License v.2. This program is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
-# implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat
-# trademarks that are incorporated in the source code or documentation are not
-# subject to the GNU General Public License and may only be used or replicated
-# with the express permission of Red Hat, Inc.
-#
-from pykickstart.base import *
-from pykickstart.errors import *
-from pykickstart.options import *
-
-import gettext
-import warnings
-_ = lambda x: gettext.ldgettext("pykickstart", x)
-
-class FC3_PartData(BaseData):
- removedKeywords = BaseData.removedKeywords
- removedAttrs = BaseData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- BaseData.__init__(self, *args, **kwargs)
- self.active = kwargs.get("active", False)
- self.primOnly = kwargs.get("primOnly", False)
- self.end = kwargs.get("end", 0)
- self.fstype = kwargs.get("fstype", "")
- self.grow = kwargs.get("grow", False)
- self.maxSizeMB = kwargs.get("maxSizeMB", 0)
- self.format = kwargs.get("format", True)
- self.onbiosdisk = kwargs.get("onbiosdisk", "")
- self.disk = kwargs.get("disk", "")
- self.onPart = kwargs.get("onPart", "")
- self.recommended = kwargs.get("recommended", False)
- self.size = kwargs.get("size", None)
- self.start = kwargs.get("start", 0)
- self.mountpoint = kwargs.get("mountpoint", "")
-
- def __eq__(self, y):
- if self.mountpoint:
- return self.mountpoint == y.mountpoint
- else:
- return False
-
- def _getArgsAsStr(self):
- retval = ""
-
- if self.active:
- retval += " --active"
- if self.primOnly:
- retval += " --asprimary"
- if hasattr(self, "end") and self.end != 0:
- retval += " --end=%s" % self.end
- if self.fstype != "":
- retval += " --fstype=\"%s\"" % self.fstype
- if self.grow:
- retval += " --grow"
- if self.maxSizeMB > 0:
- retval += " --maxsize=%d" % self.maxSizeMB
- if not self.format:
- retval += " --noformat"
- if self.onbiosdisk != "":
- retval += " --onbiosdisk=%s" % self.onbiosdisk
- if self.disk != "":
- retval += " --ondisk=%s" % self.disk
- if self.onPart != "":
- retval += " --onpart=%s" % self.onPart
- if self.recommended:
- retval += " --recommended"
- if self.size and self.size != 0:
- retval += " --size=%s" % self.size
- if hasattr(self, "start") and self.start != 0:
- retval += " --start=%s" % self.start
-
- return retval
-
- def __str__(self):
- retval = BaseData.__str__(self)
- if self.mountpoint:
- mountpoint_str = "%s" % self.mountpoint
- else:
- mountpoint_str = "(No mount point)"
- retval += "part %s%s\n" % (mountpoint_str, self._getArgsAsStr())
- return retval
-
-class FC4_PartData(FC3_PartData):
- removedKeywords = FC3_PartData.removedKeywords
- removedAttrs = FC3_PartData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC3_PartData.__init__(self, *args, **kwargs)
- self.bytesPerInode = kwargs.get("bytesPerInode", 4096)
- self.fsopts = kwargs.get("fsopts", "")
- self.label = kwargs.get("label", "")
- self.fslabel = kwargs.get("fslabel", "")
-
- def _getArgsAsStr(self):
- retval = FC3_PartData._getArgsAsStr(self)
-
- if hasattr(self, "bytesPerInode") and self.bytesPerInode != 0:
- retval += " --bytes-per-inode=%d" % self.bytesPerInode
- if self.fsopts != "":
- retval += " --fsoptions=\"%s\"" % self.fsopts
- if self.label != "":
- retval += " --label=%s" % self.label
- if self.fslabel != "":
- retval += " --fslabel=%s" % self.fslabel
-
- return retval
-
-class RHEL5_PartData(FC4_PartData):
- removedKeywords = FC4_PartData.removedKeywords
- removedAttrs = FC4_PartData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- FC4_PartData.__init__(self, *args, **kwargs)
- self.encrypted = kwargs.get("encrypted", False)
- self.passphrase = kwargs.get("passphrase", "")
-
- def _getArgsAsStr(self):
- retval = FC4_PartData._getArgsAsStr(self)
-
- if self.encrypted:
- retval += " --encrypted"
-
- if self.passphrase != "":
- retval += " --passphrase=\"%s\"" % self.passphrase
-
- return retval
-
-class F9_PartData(FC4_PartData):
- removedKeywords = FC4_PartData.removedKeywords + ["bytesPerInode"]
- removedAttrs = FC4_PartData.removedAttrs + ["bytesPerInode"]
-
- def __init__(self, *args, **kwargs):
- FC4_PartData.__init__(self, *args, **kwargs)
- self.deleteRemovedAttrs()
-
- self.fsopts = kwargs.get("fsopts", "")
- self.label = kwargs.get("label", "")
- self.fsprofile = kwargs.get("fsprofile", "")
- self.encrypted = kwargs.get("encrypted", False)
- self.passphrase = kwargs.get("passphrase", "")
-
- def _getArgsAsStr(self):
- retval = FC4_PartData._getArgsAsStr(self)
-
- if self.fsprofile != "":
- retval += " --fsprofile=\"%s\"" % self.fsprofile
- if self.encrypted:
- retval += " --encrypted"
-
- if self.passphrase != "":
- retval += " --passphrase=\"%s\"" % self.passphrase
-
- return retval
-
-class F11_PartData(F9_PartData):
- removedKeywords = F9_PartData.removedKeywords + ["start", "end"]
- removedAttrs = F9_PartData.removedAttrs + ["start", "end"]
-
-class F12_PartData(F11_PartData):
- removedKeywords = F11_PartData.removedKeywords
- removedAttrs = F11_PartData.removedAttrs
-
- def __init__(self, *args, **kwargs):
- F11_PartData.__init__(self, *args, **kwargs)
-
- self.escrowcert = kwargs.get("escrowcert", "")
- self.backuppassphrase = kwargs.get("backuppassphrase", False)
-
- def _getArgsAsStr(self):
- retval = F11_PartData._getArgsAsStr(self)
-
- if self.encrypted and self.escrowcert != "":
- retval += " --escrowcert=\"%s\"" % self.escrowcert
-
- if self.backuppassphrase:
- retval += " --backuppassphrase"
-
- return retval
-
-F14_PartData = F12_PartData
-
-class FC3_Partition(KickstartCommand):
- removedKeywords = KickstartCommand.removedKeywords
- removedAttrs = KickstartCommand.removedAttrs
-
- def __init__(self, writePriority=130, *args, **kwargs):
- KickstartCommand.__init__(self, writePriority, *args, **kwargs)
- self.op = self._getParser()
-
- self.partitions = kwargs.get("partitions", [])
-
- def __str__(self):
- retval = ""
-
- for part in self.partitions:
- retval += part.__str__()
-
- if retval != "":
- return "# Disk partitioning information\n" + retval
- else:
- return ""
-
- def _getParser(self):
- def part_cb (option, opt_str, value, parser):
- if value.startswith("/dev/"):
- parser.values.ensure_value(option.dest, value[5:])
- else:
- parser.values.ensure_value(option.dest, value)
-
- op = KSOptionParser()
- op.add_option("--active", dest="active", action="store_true",
- default=False)
- op.add_option("--asprimary", dest="primOnly", action="store_true",
- default=False)
- op.add_option("--end", dest="end", action="store", type="int",
- nargs=1)
- op.add_option("--fstype", "--type", dest="fstype")
- op.add_option("--grow", dest="grow", action="store_true", default=False)
- op.add_option("--maxsize", dest="maxSizeMB", action="store", type="int",
- nargs=1)
- op.add_option("--noformat", dest="format", action="store_false",
- default=True)
- op.add_option("--onbiosdisk", dest="onbiosdisk")
- op.add_option("--ondisk", "--ondrive", dest="disk")
- op.add_option("--onpart", "--usepart", dest="onPart", action="callback",
- callback=part_cb, nargs=1, type="string")
- op.add_option("--recommended", dest="recommended", action="store_true",
- default=False)
- op.add_option("--size", dest="size", action="store", type="int",
- nargs=1)
- op.add_option("--start", dest="start", action="store", type="int",
- nargs=1)
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
-
- pd = self.handler.PartData()
- self._setToObj(self.op, opts, pd)
- pd.lineno = self.lineno
- if extra:
- pd.mountpoint = extra[0]
- if pd in self.dataList():
- warnings.warn(_("A partition with the mountpoint %s has already been defined.") % pd.mountpoint)
- else:
- pd.mountpoint = None
-
- return pd
-
- def dataList(self):
- return self.partitions
-
-class FC4_Partition(FC3_Partition):
- removedKeywords = FC3_Partition.removedKeywords
- removedAttrs = FC3_Partition.removedAttrs
-
- def __init__(self, writePriority=130, *args, **kwargs):
- FC3_Partition.__init__(self, writePriority, *args, **kwargs)
-
- def part_cb (option, opt_str, value, parser):
- if value.startswith("/dev/"):
- parser.values.ensure_value(option.dest, value[5:])
- else:
- parser.values.ensure_value(option.dest, value)
-
- def _getParser(self):
- op = FC3_Partition._getParser(self)
- op.add_option("--bytes-per-inode", dest="bytesPerInode", action="store",
- type="int", nargs=1)
- op.add_option("--fsoptions", dest="fsopts")
- op.add_option("--label", dest="label")
- op.add_option("--fslabel", dest="fslabel")
- return op
-
-class RHEL5_Partition(FC4_Partition):
- removedKeywords = FC4_Partition.removedKeywords
- removedAttrs = FC4_Partition.removedAttrs
-
- def __init__(self, writePriority=130, *args, **kwargs):
- FC4_Partition.__init__(self, writePriority, *args, **kwargs)
-
- def part_cb (option, opt_str, value, parser):
- if value.startswith("/dev/"):
- parser.values.ensure_value(option.dest, value[5:])
- else:
- parser.values.ensure_value(option.dest, value)
-
- def _getParser(self):
- op = FC4_Partition._getParser(self)
- op.add_option("--encrypted", action="store_true", default=False)
- op.add_option("--passphrase")
- return op
-
-class F9_Partition(FC4_Partition):
- removedKeywords = FC4_Partition.removedKeywords
- removedAttrs = FC4_Partition.removedAttrs
-
- def __init__(self, writePriority=130, *args, **kwargs):
- FC4_Partition.__init__(self, writePriority, *args, **kwargs)
-
- def part_cb (option, opt_str, value, parser):
- if value.startswith("/dev/"):
- parser.values.ensure_value(option.dest, value[5:])
- else:
- parser.values.ensure_value(option.dest, value)
-
- def _getParser(self):
- op = FC4_Partition._getParser(self)
- op.add_option("--bytes-per-inode", deprecated=1)
- op.add_option("--fsprofile")
- op.add_option("--encrypted", action="store_true", default=False)
- op.add_option("--passphrase")
- return op
-
-class F11_Partition(F9_Partition):
- removedKeywords = F9_Partition.removedKeywords
- removedAttrs = F9_Partition.removedAttrs
-
- def _getParser(self):
- op = F9_Partition._getParser(self)
- op.add_option("--start", deprecated=1)
- op.add_option("--end", deprecated=1)
- return op
-
-class F12_Partition(F11_Partition):
- removedKeywords = F11_Partition.removedKeywords
- removedAttrs = F11_Partition.removedAttrs
-
- def _getParser(self):
- op = F11_Partition._getParser(self)
- op.add_option("--escrowcert")
- op.add_option("--backuppassphrase", action="store_true", default=False)
- return op
-
-class F14_Partition(F12_Partition):
- removedKeywords = F12_Partition.removedKeywords
- removedAttrs = F12_Partition.removedAttrs
-
- def _getParser(self):
- op = F12_Partition._getParser(self)
- op.remove_option("--bytes-per-inode")
- op.remove_option("--start")
- op.remove_option("--end")
- return op
+++ /dev/null
-#
-# Chris Lumens <clumens@redhat.com>
-#
-# Copyright 2005, 2006, 2007 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use, modify,
-# copy, or redistribute it subject to the terms and conditions of the GNU
-# General Public License v.2. This program is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
-# implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat
-# trademarks that are incorporated in the source code or documentation are not
-# subject to the GNU General Public License and may only be used or replicated
-# with the express permission of Red Hat, Inc.
-#
-from pykickstart.base import *
-from pykickstart.errors import *
-from pykickstart.options import *
-
-import gettext
-_ = lambda x: gettext.ldgettext("pykickstart", x)
-
-class FC3_Upgrade(KickstartCommand):
- removedKeywords = KickstartCommand.removedKeywords
- removedAttrs = KickstartCommand.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- KickstartCommand.__init__(self, writePriority, *args, **kwargs)
- self.upgrade = kwargs.get("upgrade", None)
- self.op = self._getParser()
-
- def __str__(self):
- retval = KickstartCommand.__str__(self)
-
- if self.upgrade is None:
- return retval
-
- if self.upgrade:
- retval += "# Upgrade existing installation\nupgrade\n"
- else:
- retval += "# Install OS instead of upgrade\ninstall\n"
-
- return retval
-
- def _getParser(self):
- op = KSOptionParser()
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
-
- if len(extra) > 0:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Kickstart command %s does not take any arguments") % "upgrade"))
-
- if self.currentCmd == "upgrade":
- self.upgrade = True
- else:
- self.upgrade = False
-
- return self
-
-class F11_Upgrade(FC3_Upgrade):
- removedKeywords = FC3_Upgrade.removedKeywords
- removedAttrs = FC3_Upgrade.removedAttrs
-
- def __init__(self, writePriority=0, *args, **kwargs):
- FC3_Upgrade.__init__(self, writePriority, *args, **kwargs)
-
- self.op = self._getParser()
- self.root_device = kwargs.get("root_device", None)
-
- def __str__(self):
- if self.upgrade and (self.root_device is not None):
- retval = KickstartCommand.__str__(self)
- retval += "# Upgrade existing installation\nupgrade --root-device=%s\n" % self.root_device
- else:
- retval = FC3_Upgrade.__str__(self)
-
- return retval
-
- def _getParser(self):
- op = KSOptionParser()
- op.add_option("--root-device", dest="root_device")
- return op
-
- def parse(self, args):
- (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno)
-
- if len(extra) > 0:
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Kickstart command %s does not take any arguments") % "upgrade"))
-
- if (opts.root_device is not None) and (opts.root_device == ""):
- raise KickstartValueError (formatErrorMsg(self.lineno, msg=_("Kickstart command %s does not accept empty parameter %s") % ("upgrade", "--root-device")))
- else:
- self.root_device = opts.root_device
-
- if self.currentCmd == "upgrade":
- self.upgrade = True
- else:
- self.upgrade = False
-
- return self
+++ /dev/null
-#
-# Chris Lumens <clumens@redhat.com>
-#
-# Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
-#
-# This copyrighted material is made available to anyone wishing to use, modify,
-# copy, or redistribute it subject to the terms and conditions of the GNU
-# General Public License v.2. This program is distributed in the hope that it
-# will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the
-# implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat
-# trademarks that are incorporated in the source code or documentation are not
-# subject to the GNU General Public License and may only be used or replicated
-# with the express permission of Red Hat, Inc.
-#
-from pykickstart.version import *
-from pykickstart.commands import *
-from mic.kickstart.custom_commands.micrepo import *
-
-# This map is keyed on kickstart syntax version as provided by
-# pykickstart.version. Within each sub-dict is a mapping from command name
-# to the class that handles it. This is an onto mapping - that is, multiple
-# command names can map to the same class. However, the Handler will ensure
-# that only one instance of each class ever exists.
-commandMap = {
- FC3: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC3_Bootloader,
- "cdrom": method.FC3_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "driverdisk": driverdisk.FC3_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC3_Reboot,
- "harddrive": method.FC3_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC3_LangSupport,
- "lilo": bootloader.FC3_Bootloader,
- "lilocheck": lilocheck.FC3_LiloCheck,
- "logvol": logvol.FC3_LogVol,
- "monitor": monitor.FC3_Monitor,
- "mouse": mouse.FC3_Mouse,
- "network": network.FC3_Network,
- "nfs": method.FC3_Method,
- "part": partition.FC3_Partition,
- "partition": partition.FC3_Partition,
- "poweroff": reboot.FC3_Reboot,
- "raid": raid.FC3_Raid,
- "reboot": reboot.FC3_Reboot,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "shutdown": reboot.FC3_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC3_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC3_Method,
- "vnc": vnc.FC3_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC3_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on fc3
- FC4: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC4_Bootloader,
- "cdrom": method.FC3_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC3_Reboot,
- "harddrive": method.FC3_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC3_LangSupport,
- "logvol": logvol.FC4_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC3_Monitor,
- "mouse": mouse.FC3_Mouse,
- "network": network.FC4_Network,
- "nfs": method.FC3_Method,
- "part": partition.FC4_Partition,
- "partition": partition.FC4_Partition,
- "poweroff": reboot.FC3_Reboot,
- "raid": raid.FC4_Raid,
- "reboot": reboot.FC3_Reboot,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "shutdown": reboot.FC3_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC3_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC3_Method,
- "vnc": vnc.FC3_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC3_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on fc4
- FC5: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC4_Bootloader,
- "cdrom": method.FC3_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC3_Reboot,
- "harddrive": method.FC3_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC5_LangSupport,
- "logvol": logvol.FC4_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC3_Monitor,
- "mouse": mouse.FC3_Mouse,
- "network": network.FC4_Network,
- "nfs": method.FC3_Method,
- "part": partition.FC4_Partition,
- "partition": partition.FC4_Partition,
- "poweroff": reboot.FC3_Reboot,
- "raid": raid.FC5_Raid,
- "reboot": reboot.FC3_Reboot,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "shutdown": reboot.FC3_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC3_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC3_Method,
- "vnc": vnc.FC3_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC3_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on fc5
- FC6: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC4_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.FC6_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC5_LangSupport,
- "logging": logging.FC6_Logging,
- "logvol": logvol.FC4_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC6_Monitor,
- "mouse": mouse.FC3_Mouse,
- "multipath": multipath.FC6_MultiPath,
- "network": network.FC6_Network,
- "nfs": method.FC6_Method,
- "part": partition.FC4_Partition,
- "partition": partition.FC4_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.FC5_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.FC6_Repo,
- "tpk_repo": Mic_Tpk_Repo,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "user": user.FC6_User,
- "url": method.FC6_Method,
- "vnc": vnc.FC6_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC6_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on fc6
- F7: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC4_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.FC6_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.FC4_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC6_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.FC6_Network,
- "nfs": method.FC6_Method,
- "part": partition.FC4_Partition,
- "partition": partition.FC4_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F7_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.FC6_Repo,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC6_Method,
- "user": user.FC6_User,
- "vnc": vnc.FC6_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC6_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f7
- F8: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F8_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.FC6_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.FC4_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC6_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F8_Network,
- "nfs": method.FC6_Method,
- "part": partition.FC4_Partition,
- "partition": partition.FC4_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F7_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F8_Repo,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC6_Method,
- "user": user.F8_User,
- "vnc": vnc.FC6_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC6_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f8
- F9: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F9_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F8_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.F9_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.FC6_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F9_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC6_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.FC6_Method,
- "part": partition.F9_Partition,
- "partition": partition.F9_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F9_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F8_Repo,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC6_Method,
- "user": user.F8_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F9_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f9
- F10: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F9_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F8_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.F10_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F9_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.FC6_Method,
- "part": partition.F9_Partition,
- "partition": partition.F9_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F9_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F8_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC6_Method,
- "user": user.F8_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F10_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f10
- F11: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F9_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F8_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.F10_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F9_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.FC6_Method,
- "part": partition.F11_Partition,
- "partition": partition.F11_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F9_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F11_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.FC6_Method,
- "user": user.F8_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F10_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f11
- F12: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F12_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F12_DriverDisk,
- "fcoe": fcoe.F12_Fcoe,
- "firewall": firewall.F10_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F12_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.FC6_Method,
- "part": partition.F12_Partition,
- "partition": partition.F12_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F12_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F11_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.FC6_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F10_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F12_ZFCP,
- },
-
- # based on f12
- F13: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F12_Bootloader,
- "cdrom": method.F13_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F12_DriverDisk,
- "fcoe": fcoe.F13_Fcoe,
- "firewall": firewall.F10_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.F13_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F12_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.F13_Method,
- "part": partition.F12_Partition,
- "partition": partition.F12_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F13_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F13_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "sshpw": sshpw.F13_SshPw,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.F13_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F10_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F12_ZFCP,
- },
-
- # based on f13
- F14: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F14_Bootloader,
- "cdrom": method.F14_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F14_DriverDisk,
- "fcoe": fcoe.F13_Fcoe,
- "firewall": firewall.F14_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.F14_Method,
- "ignoredisk": ignoredisk.F14_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "interactive": interactive.F14_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F14_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.F14_Method,
- "part": partition.F14_Partition,
- "partition": partition.F14_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F14_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F14_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "sshpw": sshpw.F13_SshPw,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.F14_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F14_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F14_ZFCP,
- },
-
- # based on f14
- F15: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F15_Bootloader,
- "cdrom": method.F14_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F14_DriverDisk,
- "fcoe": fcoe.F13_Fcoe,
- "firewall": firewall.F14_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.F14_Method,
- "ignoredisk": ignoredisk.F14_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F15_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F9_Network,
- "nfs": method.F14_Method,
- "part": partition.F14_Partition,
- "partition": partition.F14_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F15_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F15_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "sshpw": sshpw.F13_SshPw,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.F14_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F14_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F14_ZFCP,
- },
-
- # based on f15
- F16: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.F15_Bootloader,
- "cdrom": method.F14_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F14_DriverDisk,
- "fcoe": fcoe.F13_Fcoe,
- "firewall": firewall.F14_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.F14_Method,
- "ignoredisk": ignoredisk.F14_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F15_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.F16_Network,
- "nfs": method.F14_Method,
- "part": partition.F14_Partition,
- "partition": partition.F14_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F15_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.F15_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "sshpw": sshpw.F13_SshPw,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.F14_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F14_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F14_ZFCP,
- },
-
- # based on fc1
- RHEL3: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC3_Bootloader,
- "cdrom": method.FC3_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "driverdisk": driverdisk.FC3_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC3_Reboot,
- "harddrive": method.FC3_Method,
- "ignoredisk": ignoredisk.FC3_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC3_LangSupport,
- "lilo": bootloader.FC3_Bootloader,
- "lilocheck": lilocheck.FC3_LiloCheck,
- "logvol": logvol.FC3_LogVol,
- "monitor": monitor.FC3_Monitor,
- "mouse": mouse.RHEL3_Mouse,
- "network": network.FC3_Network,
- "nfs": method.FC3_Method,
- "part": partition.FC3_Partition,
- "partition": partition.FC3_Partition,
- "poweroff": reboot.FC3_Reboot,
- "raid": raid.FC3_Raid,
- "reboot": reboot.FC3_Reboot,
- "rootpw": rootpw.FC3_RootPw,
- "shutdown": reboot.FC3_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC3_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC3_Method,
- "vnc": vnc.FC3_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC3_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- },
-
- # based on fc3
- RHEL4: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.FC3_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.FC3_Bootloader,
- "cdrom": method.FC3_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "driverdisk": driverdisk.FC4_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC3_Reboot,
- "harddrive": method.FC3_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC3_LangSupport,
- "lilo": bootloader.FC3_Bootloader,
- "lilocheck": lilocheck.FC3_LiloCheck,
- "logvol": logvol.FC3_LogVol,
- "monitor": monitor.FC3_Monitor,
- "mouse": mouse.FC3_Mouse,
- "network": network.RHEL4_Network,
- "nfs": method.FC3_Method,
- "part": partition.FC3_Partition,
- "partition": partition.FC3_Partition,
- "poweroff": reboot.FC3_Reboot,
- "raid": raid.FC3_Raid,
- "reboot": reboot.FC3_Reboot,
- "rootpw": rootpw.FC3_RootPw,
- "selinux": selinux.FC3_SELinux,
- "shutdown": reboot.FC3_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC3_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "url": method.FC3_Method,
- "vnc": vnc.FC3_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC3_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on fc6
- RHEL5: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F9_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.RHEL5_Bootloader,
- "cdrom": method.FC6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.FC3_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F12_DriverDisk,
- "firewall": firewall.FC3_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.FC6_Method,
- "ignoredisk": ignoredisk.F8_IgnoreDisk,
- "install": upgrade.FC3_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.FC6_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "key": key.RHEL5_Key,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "langsupport": langsupport.FC5_LangSupport,
- "logging": logging.FC6_Logging,
- "logvol": logvol.RHEL5_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.FC6_Monitor,
- "mouse": mouse.FC3_Mouse,
- "multipath": multipath.FC6_MultiPath,
- "network": network.RHEL5_Network,
- "nfs": method.FC6_Method,
- "part": partition.RHEL5_Partition,
- "partition": partition.RHEL5_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.RHEL5_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.FC6_Repo,
- "rootpw": rootpw.FC3_RootPw,
- "services": services.FC6_Services,
- "selinux": selinux.FC3_SELinux,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "upgrade": upgrade.FC3_Upgrade,
- "user": user.FC6_User,
- "url": method.FC6_Method,
- "vnc": vnc.FC6_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.FC6_XConfig,
- "zerombr": zerombr.FC3_ZeroMbr,
- "zfcp": zfcp.FC3_ZFCP,
- },
-
- # based on f13ish
- RHEL6: {
- "auth": authconfig.FC3_Authconfig,
- "authconfig": authconfig.FC3_Authconfig,
- "autopart": autopart.F12_AutoPart,
- "autostep": autostep.FC3_AutoStep,
- "bootloader": bootloader.RHEL6_Bootloader,
- "cdrom": method.RHEL6_Method,
- "clearpart": clearpart.FC3_ClearPart,
- "cmdline": displaymode.FC3_DisplayMode,
- "device": device.F8_Device,
- "deviceprobe": deviceprobe.FC3_DeviceProbe,
- "dmraid": dmraid.FC6_DmRaid,
- "driverdisk": driverdisk.F12_DriverDisk,
- "fcoe": fcoe.F13_Fcoe,
- "firewall": firewall.F10_Firewall,
- "firstboot": firstboot.FC3_Firstboot,
- "graphical": displaymode.FC3_DisplayMode,
- "group": group.F12_Group,
- "halt": reboot.FC6_Reboot,
- "harddrive": method.RHEL6_Method,
- "ignoredisk": ignoredisk.RHEL6_IgnoreDisk,
- "install": upgrade.F11_Upgrade,
- "interactive": interactive.FC3_Interactive,
- "iscsi": iscsi.F10_Iscsi,
- "iscsiname": iscsiname.FC6_IscsiName,
- "keyboard": keyboard.FC3_Keyboard,
- "lang": lang.FC3_Lang,
- "logging": logging.FC6_Logging,
- "logvol": logvol.F12_LogVol,
- "mediacheck": mediacheck.FC4_MediaCheck,
- "monitor": monitor.F10_Monitor,
- "multipath": multipath.FC6_MultiPath,
- "network": network.RHEL6_Network,
- "nfs": method.RHEL6_Method,
- "part": partition.F12_Partition,
- "partition": partition.F12_Partition,
- "poweroff": reboot.FC6_Reboot,
- "raid": raid.F13_Raid,
- "reboot": reboot.FC6_Reboot,
- "repo": repo.RHEL6_Repo,
- "rescue": rescue.F10_Rescue,
- "rootpw": rootpw.F8_RootPw,
- "selinux": selinux.FC3_SELinux,
- "services": services.FC6_Services,
- "shutdown": reboot.FC6_Reboot,
- "skipx": skipx.FC3_SkipX,
- "sshpw": sshpw.F13_SshPw,
- "text": displaymode.FC3_DisplayMode,
- "timezone": timezone.FC6_Timezone,
- "updates": updates.F7_Updates,
- "upgrade": upgrade.F11_Upgrade,
- "url": method.RHEL6_Method,
- "user": user.F12_User,
- "vnc": vnc.F9_Vnc,
- "volgroup": volgroup.FC3_VolGroup,
- "xconfig": xconfig.F10_XConfig,
- "zerombr": zerombr.F9_ZeroMbr,
- "zfcp": zfcp.F12_ZFCP,
- }
-}
-
-# This map is keyed on kickstart syntax version as provided by
-# pykickstart.version. Within each sub-dict is a mapping from a data object
-# name to the class that provides it. This is a bijective mapping - that is,
-# each name maps to exactly one data class and all data classes have a name.
-# More than one instance of each class is allowed to exist, however.
-dataMap = {
- FC3: {
- "DriverDiskData": driverdisk.FC3_DriverDiskData,
- "LogVolData": logvol.FC3_LogVolData,
- "NetworkData": network.FC3_NetworkData,
- "PartData": partition.FC3_PartData,
- "RaidData": raid.FC3_RaidData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- FC4: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "LogVolData": logvol.FC4_LogVolData,
- "NetworkData": network.FC4_NetworkData,
- "PartData": partition.FC4_PartData,
- "RaidData": raid.FC4_RaidData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- FC5: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "LogVolData": logvol.FC4_LogVolData,
- "NetworkData": network.FC4_NetworkData,
- "PartData": partition.FC4_PartData,
- "RaidData": raid.FC5_RaidData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- FC6: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.FC6_IscsiData,
- "LogVolData": logvol.FC4_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.FC6_NetworkData,
- "PartData": partition.FC4_PartData,
- "RaidData": raid.FC5_RaidData,
- "RepoData": repo.FC6_RepoData,
- "TpkRepoData": Mic_Tpk_RepoData,
- "UserData": user.FC6_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F7: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.FC6_IscsiData,
- "LogVolData": logvol.FC4_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.FC6_NetworkData,
- "PartData": partition.FC4_PartData,
- "RaidData": raid.F7_RaidData,
- "RepoData": repo.FC6_RepoData,
- "UserData": user.FC6_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F8: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.FC6_IscsiData,
- "LogVolData": logvol.FC4_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.FC4_PartData,
- "RaidData": raid.F7_RaidData,
- "RepoData": repo.F8_RepoData,
- "UserData": user.F8_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F9: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.FC6_IscsiData,
- "LogVolData": logvol.F9_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F9_PartData,
- "RaidData": raid.F9_RaidData,
- "RepoData": repo.F8_RepoData,
- "UserData": user.F8_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F10: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F9_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F9_PartData,
- "RaidData": raid.F9_RaidData,
- "RepoData": repo.F8_RepoData,
- "UserData": user.F8_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F11: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F9_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F11_PartData,
- "RaidData": raid.F9_RaidData,
- "RepoData": repo.F11_RepoData,
- "UserData": user.F8_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- F12: {
- "DriverDiskData": driverdisk.F12_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F12_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F12_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F12_PartData,
- "RaidData": raid.F12_RaidData,
- "RepoData": repo.F11_RepoData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F12_ZFCPData,
- },
- F13: {
- "DriverDiskData": driverdisk.F12_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F13_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F12_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F12_PartData,
- "RaidData": raid.F13_RaidData,
- "RepoData": repo.F13_RepoData,
- "SshPwData": sshpw.F13_SshPwData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F12_ZFCPData,
- },
- F14: {
- "DriverDiskData": driverdisk.F14_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F13_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F14_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F14_PartData,
- "RaidData": raid.F14_RaidData,
- "RepoData": repo.F14_RepoData,
- "SshPwData": sshpw.F13_SshPwData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F14_ZFCPData,
- },
- F15: {
- "DriverDiskData": driverdisk.F14_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F13_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F15_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F8_NetworkData,
- "PartData": partition.F14_PartData,
- "RaidData": raid.F15_RaidData,
- "RepoData": repo.F15_RepoData,
- "SshPwData": sshpw.F13_SshPwData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F14_ZFCPData,
- },
- F16: {
- "DriverDiskData": driverdisk.F14_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F13_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F15_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.F16_NetworkData,
- "PartData": partition.F14_PartData,
- "RaidData": raid.F15_RaidData,
- "RepoData": repo.F15_RepoData,
- "SshPwData": sshpw.F13_SshPwData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F14_ZFCPData,
- },
- RHEL3: {
- "DriverDiskData": driverdisk.FC3_DriverDiskData,
- "LogVolData": logvol.FC3_LogVolData,
- "NetworkData": network.RHEL4_NetworkData,
- "PartData": partition.FC3_PartData,
- "RaidData": raid.FC3_RaidData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- RHEL4: {
- "DriverDiskData": driverdisk.FC4_DriverDiskData,
- "LogVolData": logvol.FC3_LogVolData,
- "NetworkData": network.RHEL4_NetworkData,
- "PartData": partition.FC3_PartData,
- "RaidData": raid.FC3_RaidData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- RHEL5: {
- "DriverDiskData": driverdisk.F12_DriverDiskData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "IscsiData": iscsi.FC6_IscsiData,
- "LogVolData": logvol.RHEL5_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.FC6_NetworkData,
- "PartData": partition.RHEL5_PartData,
- "RaidData": raid.RHEL5_RaidData,
- "RepoData": repo.FC6_RepoData,
- "UserData": user.FC6_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.FC3_ZFCPData,
- },
- RHEL6: {
- "DriverDiskData": driverdisk.F12_DriverDiskData,
- "DeviceData": device.F8_DeviceData,
- "DmRaidData": dmraid.FC6_DmRaidData,
- "FcoeData": fcoe.F13_FcoeData,
- "GroupData": group.F12_GroupData,
- "IscsiData": iscsi.F10_IscsiData,
- "LogVolData": logvol.F12_LogVolData,
- "MultiPathData": multipath.FC6_MultiPathData,
- "NetworkData": network.RHEL6_NetworkData,
- "PartData": partition.F12_PartData,
- "RaidData": raid.F13_RaidData,
- "RepoData": repo.RHEL6_RepoData,
- "SshPwData": sshpw.F13_SshPwData,
- "UserData": user.F12_UserData,
- "VolGroupData": volgroup.FC3_VolGroupData,
- "ZFCPData": zfcp.F12_ZFCPData,
- }
-}
self.errorOnFail = kwargs.get("errorOnFail", False)
self.type = kwargs.get("type", constants.KS_SCRIPT_PRE)
- def __str__(self):
- """Return a string formatted for output to a kickstart file."""
- retval = ""
-
- if self.type == constants.KS_SCRIPT_PRE:
- retval += '\n%pre'
- elif self.type == constants.KS_SCRIPT_POST:
- retval += '\n%post'
- elif self.type == constants.KS_SCRIPT_TRACEBACK:
- retval += '\n%traceback'
- elif self.type == constants.KS_SCRIPT_RUN:
- retval += '\n%runscript'
- elif self.type == constants.KS_SCRIPT_UMOUNT:
- retval += '\n%post-umount'
-
- if self.interp != "/bin/sh" and self.interp != "":
- retval += " --interpreter=%s" % self.interp
- if self.type == constants.KS_SCRIPT_POST and not self.inChroot:
- retval += " --nochroot"
- if self.logfile != None:
- retval += " --logfile %s" % self.logfile
- if self.errorOnFail:
- retval += " --erroronfail"
-
- if self.script.endswith("\n"):
- if ver >= version.F8:
- return retval + "\n%s%%end\n" % self.script
- else:
- return retval + "\n%s\n" % self.script
- else:
- if ver >= version.F8:
- return retval + "\n%s\n%%end\n" % self.script
- else:
- return retval + "\n%s\n" % self.script
-
##
## PACKAGE HANDLING
return env
- def _stage_final_image(self):
-
- if self.pack_to or self.shrink_image:
- self._resparse(0)
- else:
- self._resparse()
-
- for item in self._instloops:
- imgfile = os.path.join(self._imgdir, item['name'])
-
- if item['aft_fstype'] in AFTER_MNT_FS.keys():
- mountpoint = misc.mkdtemp()
- ext4img = os.path.join(self._imgdir, item['name'])
- runner.show('mount -t ext4 %s %s' % (ext4img, mountpoint))
- runner.show('ls -al %s' % (mountpoint))
-# item['loop'].mount(None, 'not_create')
-# point_mnt = os.path.join(self._instroot, item['mountpoint'].lstrip('/'))
-
- fs_suffix = AFTER_MNT_FS[item['aft_fstype']]
- if item['aft_fstype'] == "squashfs":
-# fs.mksquashfs(mountpoint, self._outdir+"/"+item['label']+fs_suffix)
- args = "mksquashfs " + mountpoint + " " + self._imgdir+"/"+item['label']+fs_suffix
- if item['squashfsopts']:
- squashfsopts=item['squashfsopts'].replace(',', ' ')
- runner.show("mksquashfs --help")
- runner.show("%s %s" % (args, squashfsopts))
- else:
- runner.show("%s " % args)
-
- if item['squashfsoptions_maxsize']:
- squashfsoptions_maxsize=int(item['squashfsoptions_maxsize']) * 1024 * 1024
- imgsize = os.stat(self._imgdir+"/"+item['label']+fs_suffix).st_size
- if imgsize > squashfsoptions_maxsize:
- msger.error("squashfs img size is too large (%d > %d)" % (imgsize, squashfsoptions_maxsize))
- sys.exit()
-
- if item['aft_fstype'] == "vdfs":
- ##FIXME temporary code - replace this with fs.mkvdfs()
- if item['vdfsopts']:
- vdfsopts=item['vdfsopts'].replace(',', ' ')
- else:
- vdfsopts="-i -z 1024M"
-
- fullpathmkvdfs = "mkfs.vdfs" #find_binary_path("mkfs.vdfs")
- runner.show("%s --help" % fullpathmkvdfs)
-# fs.mkvdfs(mountpoint, self._outdir+"/"+item['label']+fs_suffix, vdfsopts)
- ret = runner.show('%s %s -r %s %s' % (fullpathmkvdfs, vdfsopts, mountpoint, self._imgdir+"/"+item['label']+fs_suffix))
- if ret != 0:
- runner.show("mkfs.vdfs return error")
- raise VdfsError("' %s' exited with error (%d)" % (fullpathmkvdfs, ret))
-
- runner.show('umount %s' % mountpoint)
-# os.unlink(mountpoint)
- runner.show('mv %s %s' % (self._imgdir+"/"+item['label']+fs_suffix, self._imgdir+"/"+item['label']+".img") )
- runner.show('ls -al %s' % self._imgdir)
-
- if item['fstype'] == "ext4":
- if not item['cpioopts']:
- runner.show('/sbin/tune2fs -O ^huge_file,extents,uninit_bg %s '
- % imgfile)
- runner.quiet(["/sbin/e2fsck", "-f", "-y", imgfile])
- self.image_files.setdefault('partitions', {}).update(
- {item['mountpoint']: item['label']})
- if self.compress_image:
- compressing(imgfile, self.compress_image)
- self.image_files.setdefault('image_files', []).append(
- '.'.join([item['name'], self.compress_image]))
- else:
- self.image_files.setdefault('image_files', []).append(item['name'])
-
- for item in os.listdir(self._imgdir):
- imgfile = os.path.join(self._imgdir, item)
- imgsize = os.path.getsize(imgfile)
- msger.info("filesystem size of %s : %s bytes" % (item, imgsize))
-
- self.run_sign_scripts()
- if not self.pack_to:
- for item in os.listdir(self._imgdir):
- shutil.move(os.path.join(self._imgdir, item),
- os.path.join(self._outdir, item))
- else:
- msger.info("Pack all loop images together to %s" % self.pack_to)
- dstfile = os.path.join(self._outdir, self.pack_to)
- packing(dstfile, self._imgdir)
- self.image_files['image_files'] = [self.pack_to]
-
-
- if self.pack_to:
- mountfp_xml = os.path.splitext(self.pack_to)[0]
- mountfp_xml = misc.strip_end(mountfp_xml, '.tar') + ".xml"
- else:
- mountfp_xml = self.name + ".xml"
- # save mount points mapping file to xml
- save_mountpoints(os.path.join(self._outdir, mountfp_xml),
- self._instloops,
- self.target_arch)
def copy_attachment(self):
if not hasattr(self, '_attachment') or not self._attachment:
found = True
break
if not found:
- raise MountError("Your system can't mount f2fs filesystem, please make sure your kernel has f2fs support and the module f2fs.ko has been loaded.")
-
- def __parse_field(self, output, field):
- for line in output.split(" "):
- if line.startswith(field + "="):
- return line[len(field) + 1:].strip().replace("\"", "")
-
- raise KeyError("Failed to find field '%s' in output" % field)
-
- def __format_filesystem(self):
- if self.skipformat:
- msger.debug("Skip filesystem format.")
- return
-
- msger.verbose("Formating %s filesystem on %s" % (self.fstype, self.disk.device))
+# raise MountError("Your system can't mount f2fs filesystem, please make sure your kernel has f2fs support and the module f2fs.ko has been loaded.")
+#
+# def __parse_field(self, output, field):
+# for line in output.split(" "):
+# if line.startswith(field + "="):
+# return line[len(field) + 1:].strip().replace("\"", "")
+#
+# raise KeyError("Failed to find field '%s' in output" % field)
+#
+# def __format_filesystem(self):
+# if self.skipformat:
+# msger.debug("Skip filesystem format.")
+# return
+#
+# msger.verbose("Formating %s filesystem on %s" % (self.fstype, self.disk.device))
cmdlist = [self.mkfscmd, "-l", self.fslabel]
if self.__f2fsopts:
self.uuid = self.__parse_field(runner.outs([self.blkidcmd, self.disk.device]), "UUID")
- def __resize_filesystem(self, size = None):
- msger.info("Resizing filesystem ...")
- current_size = os.stat(self.disk.lofile)[stat.ST_SIZE]
-
- if size is None:
- size = self.disk.size
-
- if size == current_size:
- return
-
- if size > current_size:
- self.disk.expand(size=size)
-
- self.__fsck()
-
- return size
-
- def __create(self):
- resize = False
- if not self.disk.fixed() and self.disk.exists():
- resize = True
-
- self.disk.create()
-
- if resize:
- self.__resize_filesystem()
- else:
- self.__format_filesystem()
-
- def mount(self, options = None, init_expand = False):
- self.__create()
- if init_expand:
- expand_size = long(self.disk.size * 1.5)
- msger.info("Initial partition size expanded : %ld -> %ld" % (self.disk.size, expand_size))
- self.__resize_filesystem(expand_size)
- self.disk.reread_size()
- DiskMount.mount(self, options)
-
def __fsck(self):
msger.info("Checking filesystem %s" % self.disk.lofile)
runner.quiet([self.fsckcmd, self.disk.lofile])
def __resize_to_minimal(self):
msger.info("Resizing filesystem to minimal ...")
- self.__fsck()
-
- return self.__get_size_from_filesystem()
-
- def resparse(self, size = None):
- self.cleanup()
- if size == 0:
- minsize = 0
- else:
- minsize = self.__resize_to_minimal()
- self.disk.truncate(minsize)
- self.__resize_filesystem(size)
- return minsize
-
+# self.__fsck()
+#
+# return self.__get_size_from_filesystem()
+#
+# def resparse(self, size = None):
+# self.cleanup()
+# if size == 0:
+# minsize = 0
+# else:
+# minsize = self.__resize_to_minimal()
+# self.disk.truncate(minsize)
+# self.__resize_filesystem(size)
+# return minsize
+#
class ExtDiskMount(DiskMount):
"""A DiskMount object that is able to format/resize ext[23] filesystems."""
def __init__(self, disk, mountdir, fstype, blocksize, fslabel, rmmountdir=True, skipformat = False, fsopts = None, fsuuid=None):
def __resize_to_minimal(self):
msger.info("Resizing filesystem to minimal ...")
self.__fsck()
- resize2fs(self.disk.lofile, 0)
- return self.__get_size_from_filesystem()
-
- def resparse(self, size = None):
- self.cleanup()
- if size == 0:
- minsize = 0
- else:
- minsize = self.__resize_to_minimal()
- self.disk.truncate(minsize)
-
- self.__resize_filesystem(size)
- return minsize
+# resize2fs(self.disk.lofile, 0)
+# return self.__get_size_from_filesystem()
+#
+# def resparse(self, size = None):
+# self.cleanup()
+# if size == 0:
+# minsize = 0
+# else:
+# minsize = self.__resize_to_minimal()
+# self.disk.truncate(minsize)
+#
+# self.__resize_filesystem(size)
+# return minsize
class VfatDiskMount(DiskMount):
"""A DiskMount object that is able to format vfat/msdos filesystems."""
msger.verbose("Tuning filesystem on %s" % self.disk.device)
- def __resize_filesystem(self, size = None):
- current_size = os.stat(self.disk.lofile)[stat.ST_SIZE]
-
- if size is None:
- size = self.disk.size
-
- if size == current_size:
- return
-
- if size > current_size:
- self.disk.expand(size=size)
-
- self.__fsck()
-
- #resize2fs(self.disk.lofile, size)
- return size
-
- def __create(self):
- resize = False
- if not self.disk.fixed() and self.disk.exists():
- resize = True
-
- self.disk.create()
-
- if resize:
- self.__resize_filesystem()
- else:
- self.__format_filesystem()
-
- def mount(self, options = None, init_expand = False):
- self.__create()
- if init_expand:
- expand_size = long(self.disk.size * 1.5)
- msger.info("Initial partition size expanded : %ld -> %ld" % (self.disk.size, expand_size))
- self.__resize_filesystem(expand_size)
- self.disk.reread_size()
- DiskMount.mount(self, options)
def __fsck(self):
msger.debug("Checking filesystem %s" % self.disk.lofile)
# disable selinux, selinux will block write
if os.path.exists("/usr/sbin/setenforce"):
- runner.show(["/usr/sbin/setenforce", "0"])
-
- def __parse_field(self, output, field):
- for line in output.split(" "):
- if line.startswith(field + "="):
- return line[len(field) + 1:].strip().replace("\"", "")
-
- raise KeyError("Failed to find field '%s' in output" % field)
-
- def __format_filesystem(self):
- if self.skipformat:
- msger.debug("Skip filesystem format.")
- return
-
- msger.verbose("Formating %s filesystem on %s" % (self.fstype, self.disk.device))
+# runner.show(["/usr/sbin/setenforce", "0"])
+#
+# def __parse_field(self, output, field):
+# for line in output.split(" "):
+# if line.startswith(field + "="):
+# return line[len(field) + 1:].strip().replace("\"", "")
+#
+# raise KeyError("Failed to find field '%s' in output" % field)
+#
+# def __format_filesystem(self):
+# if self.skipformat:
+# msger.debug("Skip filesystem format.")
+# return
+#
+# msger.verbose("Formating %s filesystem on %s" % (self.fstype, self.disk.device))
rc = runner.show([self.mkfscmd, "-L", self.fslabel, "-m", "single", self.disk.device])
if rc != 0:
raise MountError("Error creating %s filesystem on disk %s" % (self.fstype,self.disk.device))
self.uuid = self.__parse_field(runner.outs([self.blkidcmd, self.disk.device]), "UUID")
- def __resize_filesystem(self, size = None):
- current_size = os.stat(self.disk.lofile)[stat.ST_SIZE]
-
- if size is None:
- size = self.disk.size
-
- if size == current_size:
- return
-
- if size > current_size:
- self.disk.expand(size=size)
-
- self.__fsck()
- return size
-
- def __create(self):
- resize = False
- if not self.disk.fixed() and self.disk.exists():
- resize = True
-
- self.disk.create()
-
- if resize:
- self.__resize_filesystem()
- else:
- self.__format_filesystem()
-
- def mount(self, options = None, init_expand = False):
- self.__create()
- if init_expand:
- expand_size = long(self.disk.size * 1.5)
- msger.info("Initial partition size expanded : %ld -> %ld" % (self.disk.size, expand_size))
- self.__resize_filesystem(expand_size)
- self.disk.reread_size()
- DiskMount.mount(self, options)
-
def __fsck(self):
msger.debug("Checking filesystem %s" % self.disk.lofile)
runner.quiet([self.btrfsckcmd, self.disk.lofile])
return uniq_arch, archlist
-def get_package(pkg, repometadata, arch = None):
- ver = ""
- priority = 99
- target_repo = None
- if not arch:
- arches = []
- elif arch not in rpmmisc.archPolicies:
- arches = [arch]
- else:
- arches = rpmmisc.archPolicies[arch].split(':')
- arches.append('noarch')
-
- for repo in repometadata:
- if repo["primary"].endswith(".xml"):
- root = xmlparse(repo["primary"])
- ns = root.getroot().tag
- ns = ns[0:ns.rindex("}")+1]
- for elm in root.getiterator("%spackage" % ns):
- if elm.find("%sname" % ns).text == pkg and elm.find("%sarch" % ns).text in arches:
- if repo["priority"] != None:
- tmpprior = int(repo["priority"])
- if tmpprior < priority:
- priority = tmpprior
- location = elm.find("%slocation" % ns)
- pkgpath = "%s" % location.attrib['href']
- target_repo = repo
- break
- elif tmpprior > priority:
- break
- version = elm.find("%sversion" % ns)
- tmpver = "%s-%s" % (version.attrib['ver'], version.attrib['rel'])
- if tmpver > ver:
- ver = tmpver
- location = elm.find("%slocation" % ns)
- pkgpath = "%s" % location.attrib['href']
- target_repo = repo
- break
- if repo["primary"].endswith(".sqlite"):
- con = sqlite.connect(repo["primary"])
- if arch:
- sql = 'select version, release, location_href from packages ' \
- 'where name = "%s" and arch IN ("%s")' % \
- (pkg, '","'.join(arches))
- for row in con.execute(sql):
- tmpver = "%s-%s" % (row[0], row[1])
- if tmpver > ver:
- ver = tmpver
- pkgpath = "%s" % row[2]
- target_repo = repo
- break
- else:
- sql = 'select version, release, location_href from packages ' \
- 'where name = "%s"' % pkg
- for row in con.execute(sql):
- tmpver = "%s-%s" % (row[0], row[1])
- if tmpver > ver:
- ver = tmpver
- pkgpath = "%s" % row[2]
- target_repo = repo
- break
- con.close()
- if target_repo:
- makedirs("%s/packages/%s" % (target_repo["cachedir"], target_repo["name"]))
- url = target_repo["baseurl"].join(pkgpath)
- filename = str("%s/packages/%s/%s" % (target_repo["cachedir"], target_repo["name"], os.path.basename(pkgpath)))
- if os.path.exists(filename):
- ret = rpmmisc.checkRpmIntegrity('rpm', filename)
- if ret == 0:
- return filename
-
- msger.warning("package %s is damaged: %s" %
- (os.path.basename(filename), filename))
- os.unlink(filename)
-
- pkg = myurlgrab(url.full, filename, target_repo["proxies"])
- return pkg
- else:
- return None
def get_source_name(pkg, repometadata):
self.partitions.append(part)
self.__add_disk(part['disk_name'])
- def add_partition(self, size, disk_name, mountpoint, fstype = None,
- label=None, fsopts = None, boot = False, align = None,
- part_type = None):
- """ Add the next partition. Partitions have to be added in the
- first-to-last order. """
-
- ks_pnum = len(self.partitions)
-
- # Converting MB to sectors for parted
- size = size * 1024 * 1024 / self.sector_size
-
- # We need to handle subvolumes for btrfs
- if fstype == "btrfs" and fsopts and fsopts.find("subvol=") != -1:
- self.btrfscmd = find_binary_path("btrfs")
- subvol = None
- opts = fsopts.split(",")
- for opt in opts:
- if opt.find("subvol=") != -1:
- subvol = opt.replace("subvol=", "").strip()
- break
- if not subvol:
- raise MountError("No subvolume: %s" % fsopts)
- self.subvolumes.append({'size': size, # In sectors
- 'mountpoint': mountpoint, # Mount relative to chroot
- 'fstype': fstype, # Filesystem type
- 'fsopts': fsopts, # Filesystem mount options
- 'disk_name': disk_name, # physical disk name holding partition
- 'device': None, # kpartx device node for partition
- 'mapper_device': None, # mapper device node
- 'mpath_device': None, # multipath device of device mapper
- 'mount': None, # Mount object
- 'subvol': subvol, # Subvolume name
- 'boot': boot, # Bootable flag
- 'mounted': False # Mount flag
- })
-
- # We still need partition for "/" or non-subvolume
- if mountpoint == "/" or not fsopts or fsopts.find("subvol=") == -1:
- # Don't need subvolume for "/" because it will be set as default subvolume
- if fsopts and fsopts.find("subvol=") != -1:
- opts = fsopts.split(",")
- for opt in opts:
- if opt.strip().startswith("subvol="):
- opts.remove(opt)
- break
- fsopts = ",".join(opts)
-
- part = { 'ks_pnum' : ks_pnum, # Partition number in the KS file
- 'size': size, # In sectors
- 'mountpoint': mountpoint, # Mount relative to chroot
- 'fstype': fstype, # Filesystem type
- 'fsopts': fsopts, # Filesystem mount options
- 'label': label, # Partition label
- 'disk_name': disk_name, # physical disk name holding partition
- 'device': None, # kpartx device node for partition
- 'mapper_device': None, # mapper device node
- 'mpath_device': None, # multipath device of device mapper
- 'mount': None, # Mount object
- 'num': None, # Partition number
- 'boot': boot, # Bootable flag
- 'align': align, # Partition alignment
- 'part_type' : part_type, # Partition type
- 'uuid': None, # Partition UUID (no-GPT use)
- 'partuuid': None } # Partition UUID (GPT-only)
-
- self.__add_partition(part)
-
- def layout_partitions(self, ptable_format = "msdos"):
- """ Layout the partitions, meaning calculate the position of every
- partition on the disk. The 'ptable_format' parameter defines the
- partition table format, and may be either "msdos" or "gpt". """
-
- msger.debug("Assigning %s partitions to disks" % ptable_format)
-
- if ptable_format not in ('msdos', 'gpt'):
- raise MountError("Unknown partition table format '%s', supported " \
- "formats are: 'msdos' and 'gpt'" % ptable_format)
-
- if self._partitions_layed_out:
- return
-
- self._partitions_layed_out = True
-
- # Go through partitions in the order they are added in .ks file
- for n in range(len(self.partitions)):
- p = self.partitions[n]
-
- if not self.disks.has_key(p['disk_name']):
- raise MountError("No disk %s for partition %s" \
- % (p['disk_name'], p['mountpoint']))
-
- if p['part_type'] and ptable_format != 'gpt':
- # The --part-type can also be implemented for MBR partitions,
- # in which case it would map to the 1-byte "partition type"
- # filed at offset 3 of the partition entry.
- raise MountError("setting custom partition type is only " \
- "implemented for GPT partitions")
-
- # Get the disk where the partition is located
- d = self.disks[p['disk_name']]
- d['numpart'] += 1
- d['ptable_format'] = ptable_format
-
- if d['numpart'] == 1:
- if ptable_format == "msdos":
- overhead = MBR_OVERHEAD
- else:
- overhead = GPT_OVERHEAD
-
- # Skip one sector required for the partitioning scheme overhead
- d['offset'] += overhead
- # Steal few sectors from the first partition to offset for the
- # partitioning overhead
- p['size'] -= overhead
-
- if p['align']:
- # If not first partition and we do have alignment set we need
- # to align the partition.
- # FIXME: This leaves a empty spaces to the disk. To fill the
- # gaps we could enlarge the previous partition?
-
- # Calc how much the alignment is off.
- align_sectors = d['offset'] % (p['align'] * 1024 / self.sector_size)
- # We need to move forward to the next alignment point
- align_sectors = (p['align'] * 1024 / self.sector_size) - align_sectors
-
- msger.debug("Realignment for %s%s with %s sectors, original"
- " offset %s, target alignment is %sK." %
- (p['disk_name'], d['numpart'], align_sectors,
- d['offset'], p['align']))
-
- # increase the offset so we actually start the partition on right alignment
- d['offset'] += align_sectors
-
- p['start'] = d['offset']
- d['offset'] += p['size']
-
- p['type'] = 'primary'
- p['num'] = d['numpart']
-
- if d['ptable_format'] == "msdos":
- if d['numpart'] > 2:
- # Every logical partition requires an additional sector for
- # the EBR, so steal the last sector from the end of each
- # partition starting from the 3rd one for the EBR. This
- # will make sure the logical partitions are aligned
- # correctly.
- p['size'] -= 1
-
- if d['numpart'] > 3:
- p['type'] = 'logical'
- p['num'] = d['numpart'] + 1
-
- d['partitions'].append(n)
- msger.debug("Assigned %s to %s%d, sectors range %d-%d size %d "
- "sectors (%d bytes)." \
- % (p['mountpoint'], p['disk_name'], p['num'],
- p['start'], p['start'] + p['size'] - 1,
- p['size'], p['size'] * self.sector_size))
-
- # Once all the partitions have been laid out, we can calculate the
- # minimum disk sizes.
- for disk_name, d in self.disks.items():
- d['min_size'] = d['offset']
- if d['ptable_format'] == 'gpt':
- # Account for the backup partition table at the end of the disk
- d['min_size'] += GPT_OVERHEAD
-
- d['min_size'] *= self.sector_size
def __run_parted(self, args):
""" Run parted with arguments specified in the 'args' list. """
del gpt_parser
- def __map_partitions(self):
- """Load it if dm_snapshot isn't loaded. """
- load_module("dm_snapshot")
-
- for dev in self.disks.keys():
- d = self.disks[dev]
- if d['mapped']:
- continue
-
- msger.debug("Running kpartx on %s" % d['disk'].device )
- rc, kpartx_output = runner.runtool([self.kpartx, "-l", "-v", d['disk'].device])
- kpartx_output = kpartx_output.splitlines()
-
- if rc != 0:
- raise MountError("Failed to query partition mapping for '%s'" %
- d['disk'].device)
-
- # Strip trailing blank and mask verbose output
- i = 0
- while i < len(kpartx_output) and kpartx_output[i][0:4] != "loop":
- i = i + 1
- kpartx_output = kpartx_output[i:]
-
- # Make sure kpartx reported the right count of partitions
- if len(kpartx_output) != d['numpart']:
- # If this disk has more than 3 partitions, then in case of MBR
- # paritions there is an extended parition. Different versions
- # of kpartx behave differently WRT the extended partition -
- # some map it, some ignore it. This is why we do the below hack
- # - if kpartx reported one more partition and the partition
- # table type is "msdos" and the amount of partitions is more
- # than 3, we just assume kpartx mapped the extended parition
- # and we remove it.
- if len(kpartx_output) == d['numpart'] + 1 \
- and d['ptable_format'] == 'msdos' and len(kpartx_output) > 3:
- kpartx_output.pop(3)
- else:
- raise MountError("Unexpected number of partitions from " \
- "kpartx: %d != %d" % \
- (len(kpartx_output), d['numpart']))
-
- for i in range(len(kpartx_output)):
- line = kpartx_output[i]
- newdev = line.split()[0]
- mapperdev = "/dev/mapper/" + newdev
- loopdev = d['disk'].device + newdev[-1]
-
- msger.debug("Dev %s: %s -> %s" % (newdev, loopdev, mapperdev))
- pnum = d['partitions'][i]
- self.partitions[pnum]['device'] = loopdev
- self.partitions[pnum]['mapper_device'] = mapperdev
-
- # grub's install wants partitions to be named
- # to match their parent device + partition num
- # kpartx doesn't work like this, so we add compat
- # symlinks to point to /dev/mapper
- if os.path.lexists(loopdev):
- os.unlink(loopdev)
- os.symlink(mapperdev, loopdev)
-
- msger.debug("Adding partx mapping for %s" % d['disk'].device)
- rc = runner.show([self.kpartx, "-v", "-sa", d['disk'].device])
-
- if rc != 0:
- # Make sure that the device maps are also removed on error case.
- # The d['mapped'] isn't set to True if the kpartx fails so
- # failed mapping will not be cleaned on cleanup either.
- runner.quiet([self.kpartx, "-sd", d['disk'].device])
- raise MountError("Failed to map partitions for '%s'" %
- d['disk'].device)
-
- for p in self.partitions:
- if p['mapper_device'] and os.path.islink(p['mapper_device']):
- p['mpath_device'] = resolve_ref(p['mapper_device'])
- else:
- p['mpath_device'] = ''
-
- # FIXME: need a better way to fix the latency
- import time
- time.sleep(1)
-
- if not os.path.exists(mapperdev):
- # load mapper device if not updated
- runner.quiet([self.dmsetup, "mknodes"])
- # still not updated, roll back
- if not os.path.exists(mapperdev):
- runner.quiet([self.kpartx, "-sd", d['disk'].device])
- raise MountError("Failed to load mapper devices for '%s'" %
- d['disk'].device)
-
- d['mapped'] = True
def __unmap_partitions(self):
for dev in self.disks.keys():
return True
return False
-def _set_noproxy_list():
- global _my_noproxy, _my_noproxy_list
- _my_noproxy_list = []
- if not _my_noproxy:
- return
-
- #solve in /etc/enviroment contains command like `echo 165.xxx.xxx.{1..255} | sed 's/ /,/g'``
- _my_noproxy_bak = _my_noproxy
- start = _my_noproxy.find("`")
- while(start < len(_my_noproxy) and start != -1):
- start = _my_noproxy.find("`",start)
- end = _my_noproxy.find("`",start+1)
- cmd = _my_noproxy[start+1:end]
- pstr = _my_noproxy[start:end+1]
- start = end + 1
-
- _my_noproxy=_my_noproxy.replace(pstr,len(pstr)*" ")
- try:
- c_result = os.popen(cmd).readlines()
- if len(c_result) == 0:
- continue
- except Exception as e:
- msger.warning(str(e))
- continue
- to_list = c_result[0].strip("\n").split(",")
- _my_noproxy_list.extend(to_list)
-
- for item in _my_noproxy.split(","):
- item = item.strip()
- if not item:
- continue
-
- if item[0] != '.' and item.find("/") == -1:
- # Need to match it
- _my_noproxy_list.append({"match":0, "needle":item})
-
- elif item[0] == '.':
- # Need to match at tail
- _my_noproxy_list.append({"match":1, "needle":item})
-
- elif item.find("/") > 3:
- # IP/MASK, need to match at head
- needle = item[0:item.find("/")].strip()
- ip = _ip_to_int(needle)
- netmask = 0
- mask = item[item.find("/")+1:].strip()
-
- if mask.isdigit():
- netmask = int(mask)
- netmask = ~((1<<(32-netmask)) - 1)
- ip &= netmask
- else:
- shift = 24
- netmask = 0
- for dec in mask.split("."):
- if not dec.isdigit():
- continue
- netmask |= int(dec) << shift
- shift -= 8
- ip &= netmask
-
- _my_noproxy_list.append({"match":2, "needle":ip, "netmask":netmask})
- _my_noproxy = _my_noproxy_bak
-
def _isnoproxy(url):
host = urlparse.urlparse(url)[1]
# urlparse.urlparse(url) returns (scheme, host, path, parm, query, frag)
if bytes == 6:
self.total_actions = total
- elif what == rpm.RPMCALLBACK_TRANS_PROGRESS:
- pass
+ #elif what == rpm.RPMCALLBACK_TRANS_PROGRESS:
+ # pass
- elif what == rpm.RPMCALLBACK_TRANS_STOP:
- pass
+ #elif what == rpm.RPMCALLBACK_TRANS_STOP:
+ # pass
- elif what == rpm.RPMCALLBACK_INST_OPEN_FILE:
+ #elif what == rpm.RPMCALLBACK_INST_OPEN_FILE:
self.lastmsg = None
hdr = None
- if h is not None:
+ #if h is not None:
try:
hdr, rpmloc = h
except:
hdr = readRpmHeader(self.ts, h)
m = re.match("(.*)-(\d+.*)-(\d+\.\d+)\.(.+)\.rpm", os.path.basename(rpmloc))
- if m:
+ #if m:
pkgname = m.group(1)
- else:
+ #else:
pkgname = os.path.basename(rpmloc)
msger.info("Next install: %s " % pkgname)
else:
self._localprint("No header - huh?")
- elif what == rpm.RPMCALLBACK_INST_CLOSE_FILE:
+ #elif what == rpm.RPMCALLBACK_INST_CLOSE_FILE:
hdr = None
- if h is not None:
+ #if h is not None:
try:
hdr, rpmloc = h
except:
pass
elif what == rpm.RPMCALLBACK_INST_PROGRESS:
- if h is not None:
+ #if h is not None:
percent = (self.total_installed*100)/self.total_actions
- if total > 0:
+ #if total > 0:
try:
hdr, rpmloc = h
except:
rpmloc = h
m = re.match("(.*)-(\d+.*)-(\d+\.\d+)\.(.+)\.rpm", os.path.basename(rpmloc))
- if m:
+ #if m:
pkgname = m.group(1)
- else:
+ #else:
pkgname = os.path.basename(rpmloc)
- if self.output:
+ #if self.output:
fmt = self._makefmt(percent)
msg = fmt % (self.headmsg, pkgname)
- if msg != self.lastmsg:
+ #if msg != self.lastmsg:
self.lastmsg = msg
msger.info(msg)
- if self.total_installed == self.total_actions:
+ #if self.total_installed == self.total_actions:
msger.raw('')
msger.verbose('\n'.join(self.logString))
return False
- def runInstall(self, checksize = 0):
- os.environ["HOME"] = "/"
- os.environ["LD_PRELOAD"] = ""
- try:
- (res, resmsg) = self.buildTransaction()
- except yum.Errors.RepoError as e:
- raise CreatorError("Unable to download from repo : %s" %(e,))
-
- if res != 2:
- raise CreatorError("Failed to build transaction : %s" \
- % str.join("\n", resmsg))
-
- dlpkgs = map(
- lambda x: x.po,
- filter(
- lambda txmbr: txmbr.ts_state in ("i", "u"),
- self.tsInfo.getMembers()))
-
- # record all pkg and the content
- for pkg in dlpkgs:
- pkg_long_name = misc.RPM_FMT % {
- 'name': pkg.name,
- 'arch': pkg.arch,
- 'version': pkg.version,
- 'release': pkg.release
- }
- self.__pkgs_content[pkg_long_name] = pkg.files
- license = pkg.license
- if license in self.__pkgs_license.keys():
- self.__pkgs_license[license].append(pkg_long_name)
- else:
- self.__pkgs_license[license] = [pkg_long_name]
-
- if pkg.name in self.check_pkgs:
- self.check_pkgs.remove(pkg.name)
-
- if self.check_pkgs:
- raise CreatorError('Packages absent in image: %s' % ','.join(self.check_pkgs))
-
- total_count = len(dlpkgs)
- cached_count = 0
- download_total_size = sum(map(lambda x: int(x.packagesize), dlpkgs))
-
- msger.info("\nChecking packages cached ...")
- for po in dlpkgs:
- local = po.localPkg()
- repo = filter(lambda r: r.id == po.repoid, self.repos.listEnabled())[0]
- if repo.nocache and os.path.exists(local):
- os.unlink(local)
- if not os.path.exists(local):
- continue
- if not self.verifyPkg(local, po, False):
- msger.warning("Package %s is damaged: %s" \
- % (os.path.basename(local), local))
- else:
- download_total_size -= int(po.packagesize)
- cached_count += 1
-
- cache_avail_size = misc.get_filesystem_avail(self.cachedir)
- if cache_avail_size < download_total_size:
- raise CreatorError("No enough space used for downloading.")
-
- # record the total size of installed pkgs
- pkgs_total_size = 0
- for x in dlpkgs:
- if hasattr(x, 'installedsize'):
- pkgs_total_size += int(x.installedsize)
- else:
- pkgs_total_size += int(x.size)
-
- # check needed size before actually download and install
- if checksize and pkgs_total_size > checksize:
- raise CreatorError("No enough space used for installing, "
- "please resize partition size in ks file")
-
- msger.info("Packages: %d Total, %d Cached, %d Missed" \
- % (total_count, cached_count, total_count - cached_count))
-
- try:
- repos = self.repos.listEnabled()
- for repo in repos:
- repo.setCallback(TextProgress(total_count - cached_count))
-
- self.downloadPkgs(dlpkgs)
- # FIXME: sigcheck?
-
- self.initActionTs()
- self.populateTs(keepold=0)
-
- deps = self.ts.check()
- if len(deps) != 0:
- # This isn't fatal, Ubuntu has this issue but it is ok.
- msger.debug(deps)
- msger.warning("Dependency check failed!")
-
- rc = self.ts.order()
- if rc != 0:
- raise CreatorError("ordering packages for installation failed")
-
- # FIXME: callback should be refactored a little in yum
- cb = rpmmisc.RPMInstallCallback(self.ts)
- cb.tsInfo = self.tsInfo
- cb.filelog = False
-
- msger.warning('\nCaution, do NOT interrupt the installation, '
- 'else mic cannot finish the cleanup.')
-
- installlogfile = "%s/__catched_stderr.buf" % (self.instroot)
- msger.enable_logstderr(installlogfile)
- transactionResult = self.runTransaction(cb)
- if transactionResult.return_code != 0 and self.strict_mode:
- raise CreatorError("mic failes to install some packages")
- self._cleanupRpmdbLocks(self.conf.installroot)
-
- except rpmUtils.RpmUtilsError as e:
- raise CreatorError("mic does NOT support delta rpm: %s" % e)
- except yum.Errors.RepoError as e:
- raise CreatorError("Unable to download from repo : %s" % e)
- except yum.Errors.YumBaseError as e:
- raise CreatorError("Unable to install: %s" % e)
- finally:
- msger.disable_logstderr()
def getVcsInfo(self):
if self.__pkgs_vcsinfo:
except:
pass
- def setup(self):
- self._cleanupRpmdbLocks(self.instroot)
- # '/var/tmp' is used by zypp to build cache, so make sure
- # if it exists
- if not os.path.exists(self.tmp_file_path ):
- os.makedirs(self.tmp_file_path)
-
- def whatObsolete(self, pkg):
- query = zypp.PoolQuery()
- query.addKind(zypp.ResKind.package)
- query.addDependency(zypp.SolvAttr.obsoletes, pkg.name(), pkg.edition())
+# def setup(self):
+# self._cleanupRpmdbLocks(self.instroot)
+# # '/var/tmp' is used by zypp to build cache, so make sure
+# # if it exists
+# if not os.path.exists(self.tmp_file_path ):
+# os.makedirs(self.tmp_file_path)
+#
+# def whatObsolete(self, pkg):
+# query = zypp.PoolQuery()
+# query.addKind(zypp.ResKind.package)
+# query.addDependency(zypp.SolvAttr.obsoletes, pkg.name(), pkg.edition())
query.setMatchExact()
for pi in query.queryResults(self.Z.pool()):
return pi
else:
q.setMatchExact()
- q.addAttribute(zypp.SolvAttr.name, pkg)
-
- for pitem in sorted(
- q.queryResults(self.Z.pool()),
- cmp=lambda x,y: cmpEVR(zypp.asKindPackage(x), zypp.asKindPackage(y)),
- reverse=True):
- item = zypp.asKindPackage(pitem)
- if item.name() in self.excpkgs.keys() and \
- self.excpkgs[item.name()] == item.repoInfo().name():
- continue
- if item.name() in self.incpkgs.keys() and \
- self.incpkgs[item.name()] != item.repoInfo().name():
- continue
-
- found = True
- obspkg = self.whatObsolete(item)
+# q.addAttribute(zypp.SolvAttr.name, pkg)
+#
+# for pitem in sorted(
+# q.queryResults(self.Z.pool()),
+# cmp=lambda x,y: cmpEVR(zypp.asKindPackage(x), zypp.asKindPackage(y)),
+# reverse=True):
+# item = zypp.asKindPackage(pitem)
+# if item.name() in self.excpkgs.keys() and \
+# self.excpkgs[item.name()] == item.repoInfo().name():
+# continue
+# if item.name() in self.incpkgs.keys() and \
+# self.incpkgs[item.name()] != item.repoInfo().name():
+# continue
+##
+# found = True
+# obspkg = self.whatObsolete(item)
if arch:
if arch == str(item.arch()):
pitem.status().setToBeInstalled (zypp.ResStatus.USER)
repo.ssl_verify = ssl_verify
repo.nocache = nocache
repo.baseurl.append(url)
- if inc:
- for pkg in inc:
+ #if inc:
+ # for pkg in inc:
self.incpkgs[pkg] = name
- if exc:
- for pkg in exc:
+ # if exc:
+ # for pkg in exc:
self.excpkgs[pkg] = name
if mirrorlist:
host = proxyinfo[0]
port = "80"
- if len(proxyinfo) > 1:
- port = proxyinfo[1]
+ #if len(proxyinfo) > 1:
+ # port = proxyinfo[1]
- if proxy.startswith("socks") and len(proxy.rsplit(':', 1)) == 2:
+ #if proxy.startswith("socks") and len(proxy.rsplit(':', 1)) == 2:
host = proxy.rsplit(':', 1)[0]
port = proxy.rsplit(':', 1)[1]
# parse user/pass from proxy host
proxyinfo = host.rsplit("@", 1)
- if len(proxyinfo) == 2:
+ #if len(proxyinfo) == 2:
host = proxyinfo[1]
# Known Issue: If password contains ":", which should be
# quoted, for example, use '123%3Aabc' instead of 123:abc
userpassinfo = proxyinfo[0].rsplit(":", 1)
- if len(userpassinfo) == 2:
+ #if len(userpassinfo) == 2:
proxy_username = userpassinfo[0]
proxy_password = userpassinfo[1]
- elif len(userpassinfo) == 1:
+ #elif len(userpassinfo) == 1:
proxy_username = userpassinfo[0]
baseurl.setQueryParam ("proxy", host)
baseurl.setQueryParam ("proxyport", port)
- if proxy_username:
+ #if proxy_username:
baseurl.setQueryParam ("proxyuser", proxy_username)
- if proxy_password:
+ #if proxy_password:
baseurl.setQueryParam ("proxypass", proxy_password)
- else:
+ #else:
baseurl.setQueryParam ("proxy", "_none_")
self.repos.append(repo)
repo_info.addBaseUrl(baseurl)
- if repo.priority is not None:
+ #if repo.priority is not None:
repo_info.setPriority(repo.priority)
# this hack is used to change zypp credential file location
self.repo_manager.addRepository(repo_info)
# save back the $HOME env
- if homedir:
+ #if homedir:
os.environ['HOME'] = homedir
- else:
+ #else:
del os.environ['HOME']
self.__build_repo_cache(name)
if self.__pkgs_vcsinfo:
return
- if not self.ts:
- self.__initialize_transaction()
-
- mi = self.ts.dbMatch()
- for hdr in mi:
- lname = misc.RPM_FMT % {
- 'name': hdr['name'],
- 'arch': hdr['arch'],
- 'version': hdr['version'],
- 'release': hdr['release']
- }
+# if not self.ts:
+# self.__initialize_transaction()
+#
+# mi = self.ts.dbMatch()
+# for hdr in mi:
+# lname = misc.RPM_FMT % {
+# 'name': hdr['name'],
+# 'arch': hdr['arch'],
+# 'version': hdr['version'],
+# 'release': hdr['release']
+# }
try:
self.__pkgs_vcsinfo[lname] = hdr['VCS']
except ValueError:
if self.__pkgs_content:
return self.__pkgs_content
- if not self.ts:
- self.__initialize_transaction()
-
- mi = self.ts.dbMatch()
- for hdr in mi:
- lname = misc.RPM_FMT % {
- 'name': hdr['name'],
- 'arch': hdr['arch'],
- 'version': hdr['version'],
- 'release': hdr['release']
- }
+# if not self.ts:
+# self.__initialize_transaction()
+#
+# mi = self.ts.dbMatch()
+# for hdr in mi:
+# lname = misc.RPM_FMT % {
+# 'name': hdr['name'],
+# 'arch': hdr['arch'],
+# 'version': hdr['version'],
+# 'release': hdr['release']
+# }
self.__pkgs_content[lname] = hdr['FILENAMES']
return self.__pkgs_content
creator.configure(creatoropts["repomd"])
creator.copy_kernel()
- creator.unmount()
- creator.package(creatoropts["destdir"])
- creator.create_manifest()
- if creatoropts['release'] is not None:
- creator.release_output(args.ksfile, creatoropts['destdir'],
- creatoropts['release'])
- creator.print_outimage_info()
- except errors.CreatorError:
- raise
- finally:
- creator.cleanup()
-
- #Run script of --run_script after image created
- if creatoropts['run_script']:
- cmd = creatoropts['run_script']
- try:
- runner.show(cmd)
- except OSError as err:
- msger.warning(str(err))
-
-
- msger.info("Finished.")
- return 0
-
+# creator.unmount()
+# creator.package(creatoropts["destdir"])
+# creator.create_manifest()
+# if creatoropts['release'] is not None:
+# creator.release_output(args.ksfile, creatoropts['destdir'],
+# creatoropts['release'])
+# creator.print_outimage_info()
+# except errors.CreatorError:
+# raise
+# finally:
+# creator.cleanup()
+#
+# #Run script of --run_script after image created
+# if creatoropts['run_script']:
+# cmd = creatoropts['run_script']
+# try:
+# runner.show(cmd)
+# except OSError as err:
+# msger.warning(str(err))
+#
+#
+# msger.info("Finished.")
+# return 0
+#
@classmethod
def do_chroot(self, target, cmd=[]):#chroot.py parse opts&args
try:
image_names = [creator.name + ".img"]
image_names.extend(creator.get_image_names())
- self.check_image_exists(creator.destdir,
- creator.pack_to,
- image_names,
- creatoropts['release'])
-
- try:
- creator.check_depend_tools()
- creator.mount(None, creatoropts["cachedir"])
- creator.install()
- creator.tpkinstall()
- creator.configure(creatoropts["repomd"])
- creator.copy_kernel()
- creator.create_cpio_image()
- creator.unmount()
- creator.copy_cpio_image()
- creator.package(creatoropts["destdir"])
- creator.create_manifest()
-
- if creatoropts['release'] is not None:
- creator.release_output(args.ksfile,
- creatoropts['destdir'],
- creatoropts['release'])
- creator.print_outimage_info()
-
- except errors.CreatorError:
- raise
- finally:
- creator.cleanup()
-
- #Run script of --run_script after image created
- if creatoropts['run_script']:
- cmd = creatoropts['run_script']
- try:
- runner.show(cmd)
- except OSError as err:
- msger.warning(str(err))
-
- msger.info("Finished.")
- return 0
-
+# self.check_image_exists(creator.destdir,
+# creator.pack_to,
+# image_names,
+# creatoropts['release'])
+#
+# try:
+# creator.check_depend_tools()
+# creator.mount(None, creatoropts["cachedir"])
+# creator.install()
+# creator.tpkinstall()
+# creator.configure(creatoropts["repomd"])
+# creator.copy_kernel()
+# creator.create_cpio_image()
+# creator.unmount()
+# creator.copy_cpio_image()
+# creator.package(creatoropts["destdir"])
+# creator.create_manifest()
+#
+# if creatoropts['release'] is not None:
+# creator.release_output(args.ksfile,
+# creatoropts['destdir'],
+# creatoropts['release'])
+# creator.print_outimage_info()
+#
+# except errors.CreatorError:
+# raise
+# finally:
+# creator.cleanup()
+#
+# #Run script of --run_script after image created
+# if creatoropts['run_script']:
+# cmd = creatoropts['run_script']
+# try:
+# runner.show(cmd)
+# except OSError as err:
+# msger.warning(str(err))
+#
+# msger.info("Finished.")
+# return 0
+#
@classmethod
def _do_chroot_tar(cls, target, cmd=[]):
mountfp_xml = os.path.splitext(target)[0] + '.xml'
creator.copy_kernel()
creator.create_cpio_image()
creator.unmount()
- creator.copy_cpio_image()
- creator.package(creatoropts["destdir"])
- creator.create_manifest()
-
- if creatoropts['release'] is not None:
- creator.release_output(args.ksfile,
- creatoropts['destdir'],
- creatoropts['release'])
- creator.print_outimage_info()
-
- except errors.CreatorError:
- raise
- finally:
- creator.cleanup()
-
- #Run script of --run_script after image created
- if creatoropts['run_script']:
- cmd = creatoropts['run_script']
- try:
- runner.show(cmd)
- except OSError as err:
- msger.warning(str(err))
-
-
- msger.info("Finished.")
- return 0
-
+# creator.copy_cpio_image()
+# creator.package(creatoropts["destdir"])
+# creator.create_manifest()
+#
+# if creatoropts['release'] is not None:
+# creator.release_output(args.ksfile,
+# creatoropts['destdir'],
+# creatoropts['release'])
+# creator.print_outimage_info()
+#
+# except errors.CreatorError:
+# raise
+# finally:
+# creator.cleanup()
+#
+# #Run script of --run_script after image created
+# if creatoropts['run_script']:
+# cmd = creatoropts['run_script']
+# try:
+# runner.show(cmd)
+# except OSError as err:
+# msger.warning(str(err))
+#
+#
+# msger.info("Finished.")
+# return 0
+#
@classmethod
def do_chroot(cls, target, cmd=[]):
pass
creator.configure(creatoropts["repomd"])
creator.copy_kernel()
creator.unmount()
- creator.generate_bmap()
- creator.package(creatoropts["destdir"])
- creator.create_manifest()
- if creatoropts['release'] is not None:
- creator.release_output(args.ksfile, creatoropts['destdir'], creatoropts['release'])
- creator.print_outimage_info()
-
- except errors.CreatorError:
- raise
- finally:
- creator.cleanup()
+# creator.generate_bmap()
+# creator.package(creatoropts["destdir"])
+# creator.create_manifest()
+# if creatoropts['release'] is not None:
+# creator.release_output(args.ksfile, creatoropts['destdir'], creatoropts['release'])
+# creator.print_outimage_info()
+#
+# except errors.CreatorError:
+# raise
+# finally:
+# creator.cleanup()
#Run script of --run_script after image created
- if creatoropts['run_script']:
- cmd = creatoropts['run_script']
- try:
- runner.show(cmd)
- except OSError as err:
- msger.warning(str(err))
-
-
- msger.info("Finished.")
- return 0
+# if creatoropts['run_script']:
+# cmd = creatoropts['run_script']
+# try:
+# runner.show(cmd)
+# except OSError as err:
+# msger.warning(str(err))
+#
+#
+# msger.info("Finished.")
+# return 0
@classmethod
def do_chroot(cls, target, cmd=[]):