Example #1
0
    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
Example #2
0
    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
Example #3
0
    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
Example #4
0
    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