Ejemplo n.º 1
0
 def _extendSizeRaw(self, new_capacity):
     # 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.
     new_capacity_mb = (utils.round(new_capacity, constants.MEGAB) //
                        constants.MEGAB)
     lvm.extendLV(self.sdUUID, self.volUUID, new_capacity_mb)
Ejemplo n.º 2
0
 def extend(self, new_size):
     """Extend a logical volume
         'new_size' - new size in bytes
     """
     self.log.info(
         "Request to extend LV %s of image %s in VG %s with "
         "size = %s", self.volUUID, self.imgUUID, self.sdUUID, new_size)
     # we should return: Success/Failure
     # Backend APIs:
     sizemb = utils.round(new_size, MiB) // MiB
     lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
Ejemplo n.º 3
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)
Ejemplo n.º 4
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 = utils.round(newSize, BLOCKS_TO_MB) // BLOCKS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
Ejemplo n.º 5
0
 def extend(self, new_size_blk):
     """Extend a logical volume
         'new_size_blk' - new size in blocks
     """
     self.log.info(
         "Request to extend LV %s of image %s in VG %s with "
         "size = %s blocks", self.volUUID, self.imgUUID, self.sdUUID,
         new_size_blk)
     # we should return: Success/Failure
     # Backend APIs:
     sizemb = utils.round(new_size_blk, BLOCKS_TO_MB) // BLOCKS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, sizemb)
Ejemplo n.º 6
0
def test_lv_extend_reduce(tmp_storage):
    dev_size = 20 * 1024**3
    dev = tmp_storage.create_device(dev_size)
    vg_name = str(uuid.uuid4())
    lv_name = str(uuid.uuid4())

    lvm.set_read_only(False)

    lvm.createVG(vg_name, [dev], "initial-tag", 128)

    lvm.createLV(vg_name, lv_name, 1024)

    lvm.extendLV(vg_name, lv_name, 2048)

    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 2 * 1024**3

    # Reducing active LV requires force.
    lvm.reduceLV(vg_name, lv_name, 1024, force=True)
    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 1 * 1024**3
Ejemplo n.º 7
0
def test_lv_extend_reduce(tmp_storage):
    dev_size = 20 * GiB
    dev = tmp_storage.create_device(dev_size)
    vg_name = str(uuid.uuid4())
    lv_name = str(uuid.uuid4())

    lvm.set_read_only(False)

    lvm.createVG(vg_name, [dev], "initial-tag", 128)

    lvm.createLV(vg_name, lv_name, 1024)

    lvm.extendLV(vg_name, lv_name, 2048)

    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 2 * GiB

    # Extending LV to same does nothing.

    lvm.extendLV(vg_name, lv_name, 2048)

    lvm.invalidateVG(vg_name)
    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 2 * GiB

    # Extending LV to smaller size does nothing.

    lvm.extendLV(vg_name, lv_name, 1024)

    lvm.invalidateVG(vg_name)
    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 2 * GiB

    # Reducing active LV requires force.
    lvm.reduceLV(vg_name, lv_name, 1024, force=True)
    lv = lvm.getLV(vg_name, lv_name)
    assert int(lv.size) == 1 * GiB
Ejemplo n.º 8
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)
Ejemplo n.º 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 = utils.round(newSize, BLOCKS_TO_MB) // BLOCKS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, newSizeMb)
Ejemplo n.º 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 = utils.round(newSize, BLOCKS_TO_MB) // BLOCKS_TO_MB
     lvm.extendLV(self.sdUUID, self.volUUID, newSizeMb)
Ejemplo n.º 11
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)