Ejemplo n.º 1
0
    def __init__(self, instance=None, disk_name=None, path=None):
        super(Lvm, self).__init__("block", "raw", is_block_dev=True)

        self.ephemeral_key_uuid = instance.get("ephemeral_key_uuid")

        if self.ephemeral_key_uuid is not None:
            self.key_manager = keymgr.API()
        else:
            self.key_manager = None

        if path:
            self.path = path
            if self.ephemeral_key_uuid is None:
                info = lvm.volume_info(path)
                self.vg = info["VG"]
                self.lv = info["LV"]
            else:
                self.vg = CONF.libvirt.images_volume_group
        else:
            if not CONF.libvirt.images_volume_group:
                raise RuntimeError(_("You should specify" " images_volume_group" " flag to use LVM images."))
            self.vg = CONF.libvirt.images_volume_group
            self.lv = "%s_%s" % (instance["uuid"], self.escape(disk_name))
            if self.ephemeral_key_uuid is None:
                self.path = os.path.join("/dev", self.vg, self.lv)
            else:
                self.lv_path = os.path.join("/dev", self.vg, self.lv)
                self.path = "/dev/mapper/" + dmcrypt.volume_name(self.lv)

        # TODO(pbrady): possibly deprecate libvirt.sparse_logical_volumes
        # for the more general preallocate_images
        self.sparse = CONF.libvirt.sparse_logical_volumes
        self.preallocate = not self.sparse
Ejemplo n.º 2
0
    def __init__(self, instance=None, disk_name=None, path=None):
        super(Lvm, self).__init__("block", "raw", is_block_dev=True)

        if path:
            info = lvm.volume_info(path)
            self.vg = info["VG"]
            self.lv = info["LV"]
            self.path = path
        else:
            if not CONF.libvirt.images_volume_group:
                raise RuntimeError(_("You should specify" " images_volume_group" " flag to use LVM images."))
            self.vg = CONF.libvirt.images_volume_group
            self.lv = "%s_%s" % (instance["uuid"], self.escape(disk_name))
            self.path = os.path.join("/dev", self.vg, self.lv)

        # TODO(pbrady): possibly deprecate libvirt.sparse_logical_volumes
        # for the more general preallocate_images
        self.sparse = CONF.libvirt.sparse_logical_volumes
        self.preallocate = not self.sparse
Ejemplo n.º 3
0
    def __init__(self, instance=None, disk_name=None, path=None):
        super(Lvm, self).__init__("block", "raw", is_block_dev=True)

        if path:
            info = lvm.volume_info(path)
            self.vg = info['VG']
            self.lv = info['LV']
            self.path = path
        else:
            if not CONF.libvirt.images_volume_group:
                raise RuntimeError(
                    _('You should specify'
                      ' images_volume_group'
                      ' flag to use LVM images.'))
            self.vg = CONF.libvirt.images_volume_group
            self.lv = '%s_%s' % (instance['uuid'], self.escape(disk_name))
            self.path = os.path.join('/dev', self.vg, self.lv)

        # TODO(pbrady): possibly deprecate libvirt.sparse_logical_volumes
        # for the more general preallocate_images
        self.sparse = CONF.libvirt.sparse_logical_volumes
        self.preallocate = not self.sparse
Ejemplo n.º 4
0
    def __init__(self, instance=None, disk_name=None, path=None):
        super(Lvm, self).__init__("block", "raw", is_block_dev=True)

        self.ephemeral_key_uuid = instance.get('ephemeral_key_uuid')

        if self.ephemeral_key_uuid is not None:
            self.key_manager = keymgr.API()
        else:
            self.key_manager = None

        if path:
            self.path = path
            if self.ephemeral_key_uuid is None:
                info = lvm.volume_info(path)
                self.vg = info['VG']
                self.lv = info['LV']
            else:
                self.vg = CONF.libvirt.images_volume_group
        else:
            if not CONF.libvirt.images_volume_group:
                raise RuntimeError(_('You should specify'
                                     ' images_volume_group'
                                     ' flag to use LVM images.'))
            self.vg = CONF.libvirt.images_volume_group
            self.lv = '%s_%s' % (instance.uuid,
                                 self.escape(disk_name))
            if self.ephemeral_key_uuid is None:
                self.path = os.path.join('/dev', self.vg, self.lv)
            else:
                self.lv_path = os.path.join('/dev', self.vg, self.lv)
                self.path = '/dev/mapper/' + dmcrypt.volume_name(self.lv)

        # TODO(pbrady): possibly deprecate libvirt.sparse_logical_volumes
        # for the more general preallocate_images
        self.sparse = CONF.libvirt.sparse_logical_volumes
        self.preallocate = not self.sparse