Exemple #1
0
    def tmpVolumeGroup(self):
        pvs = [copy.deepcopy(pv) for pv in self.parent.pvs]
        vg = VolumeGroup('tmp-%s' % self.origrequest.name,
                         parents=pvs, peSize=self.parent.peSize)
        for lv in self.parent.lvs.values():
            logicalVolume = LogicalVolume(lv['name'], vg,
                               format=lv['format'], size=lv['size'],
                               exists=lv['exists'], stripes=lv['stripes'],
                               logSize=lv['logSize'], snapshotSpace=lv['snapshotSpace'])
            logicalVolume.originalFormat = lv['originalFormat']

        return vg
Exemple #2
0
    def newVolumeGroup(self, *args, **kwargs):
        """ Return a new VolumeGroup instance. """
        pvs = kwargs.pop("pvs", [])
        for pv in pvs:
            if pv not in self.devices:
                raise ValueError("pv is not in the device tree")

        if kwargs.has_key("name"):
            name = kwargs.pop("name")
        else:
            name = self.createSuggestedVolumeGroupName()

        if name in [d.name for d in self.devices]:
            raise ValueError("name already in use")

        return VolumeGroup(name, pvs, *args, **kwargs)