def createSuggestedVolumeGroupName(self): """ Return a reasonable, unused VG name. """ # try to create a volume group name incorporating the hostname hostname = ctx.installData.hostName release=open("/etc/pardus-release").read().split() releaseHostName = "".join(release[:2]).lower() vgnames = [vg.name for vg in self.vgs] if hostname is not None and hostname != '': if hostname == releaseHostName: vgtemplate = "VolGroup" elif hostname.find('.') != -1: template = "vg_%s" % (hostname.split('.')[0].lower(),) vgtemplate = lvm.safeLvmName(template) else: template = "vg_%s" % (hostname.lower(),) vgtemplate = lvm.safeLvmName(template) else: vgtemplate = "VolGroup" if vgtemplate not in vgnames and \ vgtemplate not in lvm.lvm_vg_blacklist: return vgtemplate else: i = 0 while 1: tmpname = "%s%02d" % (vgtemplate, i,) if not tmpname in vgnames and \ tmpname not in lvm.lvm_vg_blacklist: break i += 1 if i > 99: tmpname = "" return tmpname
def createSuggestedLogicalVolumeName(self, vg, swap=None, mountpoint=None): """ Return a suitable, unused name for a new logical volume. """ # FIXME: this is not at all guaranteed to work if mountpoint: # try to incorporate the mountpoint into the name if mountpoint == '/': lvtemplate = 'lv_root' else: if mountpoint.startswith("/"): template = "lv_%s" % mountpoint[1:] else: template = "lv_%s" % (mountpoint,) lvtemplate = lvm.safeLvmName(template) else: if swap: if len([s for s in self.swaps if s in vg.lvs]): idx = len([s for s in self.swaps if s in vg.lvs]) while True: lvtemplate = "lv_swap%02d" % idx if lvtemplate in [lv.lvname for lv in vg.lvs]: idx += 1 else: break else: lvtemplate = "lv_swap" else: idx = len(vg.lvs) while True: lvtemplate = "LogVol%02d" % idx if lvtemplate in [l.lvname for l in vg.lvs]: idx += 1 else: break return lvtemplate