def doVolumeGroup(self, args):
        KickstartHandlers.doVolumeGroup(self, args)
        vgd = self.ksdata.vgList[-1]

        pvs = []

        # get the unique ids of each of the physical volumes
        for pv in vgd.physvols:
            if pv not in self.ksPVMapping.keys():
                raise KickstartValueError, formatErrorMsg(self.lineno, msg="Tried to use undefined partition %s in Volume Group specification" % pv)
            pvs.append(self.ksPVMapping[pv])

        if len(pvs) == 0 and not vgd.preexist:
            raise KickstartValueError, formatErrorMsg(self.lineno, msg="Volume group defined without any physical volumes.  Either specify physical volumes or use --useexisting.")

        if vgd.pesize not in lvm.getPossiblePhysicalExtents(floor=1024):
            raise KickstartValueError, formatErrorMsg(self.lineno, msg="Volume group specified invalid pesize")

        # get a sort of hackish id
        uniqueID = self.ksID
        self.ksVGMapping[vgd.vgname] = uniqueID
        self.ksID += 1

        request = partRequests.VolumeGroupRequestSpec(vgname = vgd.vgname,
                                                      physvols = pvs,
                                                      preexist = vgd.preexist,
                                                      format = vgd.format,
                                                      pesize = vgd.pesize)
        request.uniqueID = uniqueID
        self.id.instClass.addPartRequest(self.id.partitions, request)
示例#2
0
    def createPEOptionMenu(self, default=4096):
        peCombo = datacombo.DataComboBox()

        actualPE = lvm.getPossiblePhysicalExtents(floor=1024)
        for curpe in actualPE:
            # don't show PE over 128M, unless it's the default
            if curpe > 131072 and curpe != default:
                continue

            val = self.prettyFormatPESize(curpe)

            peCombo.append(val, curpe)

        # First try to set the combo's active value to the default we're
        # passed.  If that doesn't work, just set it to the first one to
        # prevent TypeErrors everywhere.
        try:
            peCombo.set_active(actualPE.index(default))
        except ValueError:
            peCombo.set_active(0)

        peCombo.set_data("lastidx", peCombo.get_active())
        peCombo.connect("changed", self.peChangeCB)
        peCombo.set_data("lastpe", default)

        return peCombo
示例#3
0
    def createPEOptionMenu(self, default=4096):
        peOption = gtk.OptionMenu()
        peOptionMenu = gtk.Menu()

        idx = 0
        defindex = None
        actualPE = lvm.getPossiblePhysicalExtents(floor=1024)
        for curpe in actualPE:
            # dont show PE over 64M
            if curpe > 65536:
                continue

            val = self.prettyFormatPESize(curpe)

            item = gtk.MenuItem(val)
            item.set_data("value", curpe)
            item.show()
            peOptionMenu.add(item)
            item.connect("activate", self.peChangeCB, peOption)

            if default == curpe:
                defindex = idx

            idx = idx + 1

        peOption.set_menu(peOptionMenu)
        peOption.set_data("lastpe", default)

        if defindex:
            peOption.set_history(defindex)

        peOption.set_data("lastidx", peOption.get_history())

        return (peOption, peOptionMenu)
示例#4
0
    def createPEOptionMenu(self, default=4096):
        peCombo = datacombo.DataComboBox()

        actualPE = lvm.getPossiblePhysicalExtents(floor=1024)
        for curpe in actualPE:
            # don't show PE over 128M, unless it's the default
            if curpe > 131072 and curpe != default:
                continue

            val = self.prettyFormatPESize(curpe)

            peCombo.append(val, curpe)

        # First try to set the combo's active value to the default we're
        # passed.  If that doesn't work, just set it to the first one to
        # prevent TypeErrors everywhere.
        try:
            peCombo.set_active(actualPE.index(default))
        except ValueError:
            peCombo.set_active(0)

        peCombo.set_data("lastidx", peCombo.get_active())
        peCombo.connect("changed", self.peChangeCB)
        peCombo.set_data("lastpe", default)

	return peCombo
示例#5
0
文件: kickstart.py 项目: hocks/core
    def doVolumeGroup(self, args):
        KickstartHandlers.doVolumeGroup(self, args)
        vgd = self.ksdata.vgList[-1]

        pvs = []

        # get the unique ids of each of the physical volumes
        for pv in vgd.physvols:
            if pv not in self.ksPVMapping.keys():
                raise KickstartValueError, formatErrorMsg(
                    self.lineno,
                    msg=
                    "Tried to use undefined partition %s in Volume Group specification"
                    % pv)
            pvs.append(self.ksPVMapping[pv])

        if len(pvs) == 0 and not vgd.preexist:
            raise KickstartValueError, formatErrorMsg(
                self.lineno,
                msg=
                "Volume group defined without any physical volumes.  Either specify physical volumes or use --useexisting."
            )

        if vgd.pesize not in lvm.getPossiblePhysicalExtents(floor=1024):
            raise KickstartValueError, formatErrorMsg(
                self.lineno, msg="Volume group specified invalid pesize")

        # get a sort of hackish id
        uniqueID = self.ksID
        self.ksVGMapping[vgd.vgname] = uniqueID
        self.ksID += 1

        request = partRequests.VolumeGroupRequestSpec(vgname=vgd.vgname,
                                                      physvols=pvs,
                                                      preexist=vgd.preexist,
                                                      format=vgd.format,
                                                      pesize=vgd.pesize)
        request.uniqueID = uniqueID
        self.id.instClass.addPartRequest(self.id.partitions, request)