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)
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
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)
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)