Example #1
0
    def extend(self, devlist):
        mapping = self.readMetadataMapping().values()
        if self.getVersion() in VERS_METADATA_LV:
            if len(mapping) + len(devlist) > MAX_PVS:
                raise se.StorageDomainIsMadeFromTooManyPVs()

        self._extendlock.acquire()
        try:

            knowndevs = list(multipath.getMPDevNamesIter())
            devices = []

            for dev in devlist:
                if dev in knowndevs:
                    devices.append(dev)
                else:
                    raise se.InvalidPhysDev(dev)

            lvm.extendVG(self.sdUUID, devices)
            self.updateMapping()
            newsize = self.metaSize(self.sdUUID)
            lvm.extendLV(self.sdUUID, sd.METADATA, newsize)

        finally:
            self._extendlock.release()
Example #2
0
 def extendVolume(self, volumeUUID, size, isShuttingDown=None):
     self._extendlock.acquire()
     try:
         # FIXME: following line.
         lvm.extendLV(self.sdUUID, volumeUUID, size)  # , isShuttingDown)
     finally:
         self._extendlock.release()
Example #3
0
 def extendVolume(self, volumeUUID, size, isShuttingDown=None):
     self._extendlock.acquire()
     try:
         # FIXME: following line.
         lvm.extendLV(self.sdUUID, volumeUUID, size)  # , isShuttingDown)
     finally:
         self._extendlock.release()
Example #4
0
    def extend(self, devlist):
        mapping = self.readMetadataMapping().values()
        if self.getVersion() in VERS_METADATA_LV:
            if len(mapping) + len(devlist) > MAX_PVS:
                raise se.StorageDomainIsMadeFromTooManyPVs()

        self._extendlock.acquire()
        try:

            knowndevs = list(multipath.getMPDevNamesIter())
            devices = []

            for dev in devlist:
                if dev in knowndevs:
                    devices.append(dev)
                else:
                    raise se.InvalidPhysDev(dev)

            lvm.extendVG(self.sdUUID, devices)
            self.updateMapping()
            newsize = self.metaSize(self.sdUUID)
            lvm.extendLV(self.sdUUID, sd.METADATA, newsize)

        finally:
            self._extendlock.release()
Example #5
0
 def extend(self, newSize):
     """Extend a logical volume
         'newSize' - new size in blocks
     """
     self.log.info("Request to extend LV %s of image %s in VG %s with size = %s",
                   self.volUUID, self.imgUUID, self.sdUUID, newSize)
     # we should return: Success/Failure
     # Backend APIs:
     sizemb = (newSize + 2047) / 2048
     lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
Example #6
0
 def extend(self, newSize):
     """Extend a logical volume
         'newSize' - new size in blocks
     """
     self.log.info(
         "Request to extend LV %s of image %s in VG %s with "
         "size = %s", self.volUUID, self.imgUUID, self.sdUUID, newSize)
     # we should return: Success/Failure
     # Backend APIs:
     sizemb = (newSize + SECTORS_TO_MB - 1) / SECTORS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
Example #7
0
    def extend(self, devlist, force):
        with self._extendlock:
            if self.getVersion() in VERS_METADATA_LV:
                mapping = self.readMetadataMapping().values()
                if len(mapping) + len(devlist) > MAX_PVS:
                    raise se.StorageDomainIsMadeFromTooManyPVs()

            knowndevs = set(multipath.getMPDevNamesIter())
            unknowndevs = set(devlist) - knowndevs
            if unknowndevs:
                raise se.InaccessiblePhysDev(unknowndevs)

            lvm.extendVG(self.sdUUID, devlist, force)
            self.updateMapping()
            newsize = self.metaSize(self.sdUUID)
            lvm.extendLV(self.sdUUID, sd.METADATA, newsize)
Example #8
0
    def extend(self, devlist, force):
        with self._extendlock:
            if self.getVersion() in VERS_METADATA_LV:
                mapping = self.readMetadataMapping().values()
                if len(mapping) + len(devlist) > MAX_PVS:
                    raise se.StorageDomainIsMadeFromTooManyPVs()

            knowndevs = set(multipath.getMPDevNamesIter())
            unknowndevs = set(devlist) - knowndevs
            if unknowndevs:
                raise se.InaccessiblePhysDev(unknowndevs)

            lvm.extendVG(self.sdUUID, devlist, force)
            self.updateMapping()
            newsize = self.metaSize(self.sdUUID)
            lvm.extendLV(self.sdUUID, sd.METADATA, newsize)
Example #9
0
 def _extendSizeRaw(self, newSize):
     # Since this method relies on lvm.extendLV (lvextend) when the
     # requested size is equal or smaller than the current size, the
     # request is siliently ignored.
     newSizeMb = (newSize + SECTORS_TO_MB - 1) / SECTORS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, newSizeMb)
Example #10
0
 def _extendSizeRaw(self, newSize):
     # Since this method relies on lvm.extendLV (lvextend) when the
     # requested size is equal or smaller than the current size, the
     # request is siliently ignored.
     newSizeMb = (newSize + SECTORS_TO_MB - 1) / SECTORS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, newSizeMb)