def __init__(self, instance=None, disk_name=None, path=None): self.ephemeral_key_uuid = instance.get("ephemeral_key_uuid") if self.ephemeral_key_uuid is not None: self.key_manager = keymgr.API(CONF) else: self.key_manager = None if 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: path = os.path.join("/dev", self.vg, self.lv) else: self.lv_path = os.path.join("/dev", self.vg, self.lv) path = "/dev/mapper/" + dmcrypt.volume_name(self.lv) super(Lvm, self).__init__(path, "block", "raw", is_block_dev=True) # 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 if not self.sparse: self.driver_io = "native"
def setUp(self): super(LibvirtDmcryptTestCase, self).setUp() self.CIPHER = 'cipher' self.KEY_SIZE = 256 self.NAME = 'disk' self.TARGET = dmcrypt.volume_name(self.NAME) self.PATH = '/dev/nova-lvm/instance_disk' self.KEY = range(0, self.KEY_SIZE) self.KEY_STR = ''.join(["%02x" % x for x in range(0, self.KEY_SIZE)])
def setUp(self): super(LibvirtDmcryptTestCase, self).setUp() self.CIPHER = 'cipher' self.KEY_SIZE = 256 self.NAME = 'disk' self.TARGET = dmcrypt.volume_name(self.NAME) self.PATH = '/dev/nova-lvm/instance_disk' self.KEY = bytes(bytearray(x for x in range(0, self.KEY_SIZE))) self.KEY_STR = binascii.hexlify(self.KEY).decode('utf-8')
def __init__(self, instance=None, disk_name=None, path=None): self.ephemeral_key_uuid = instance.get('ephemeral_key_uuid') if self.ephemeral_key_uuid is not None: self.key_manager = keymgr.API(CONF) else: self.key_manager = None if 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: path = os.path.join('/dev', self.vg, self.lv) else: self.lv_path = os.path.join('/dev', self.vg, self.lv) path = '/dev/mapper/' + dmcrypt.volume_name(self.lv) super(Lvm, self).__init__(path, "block", "raw", instance, is_block_dev=True) # 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 if not self.sparse: self.driver_io = "native"
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 if not self.sparse: self.driver_io = "native"
def __init__(self, instance=None, disk_name=None, path=None): self.ephemeral_key_uuid = instance.get('ephemeral_key_uuid') if self.ephemeral_key_uuid is not None: self.key_manager = key_manager.API(CONF) else: self.key_manager = None if 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: path = os.path.join('/dev', self.vg, self.lv) else: self.lv_path = os.path.join('/dev', self.vg, self.lv) path = '/dev/mapper/' + dmcrypt.volume_name(self.lv) super(Lvm, self).__init__(path, "block", "raw", is_block_dev=True) # TODO(sbauza): Remove the config option usage and default the # LVM logical volume creation to preallocate the full size only. self.sparse = CONF.libvirt.sparse_logical_volumes self.preallocate = not self.sparse if not self.sparse: self.driver_io = "native"
def setUp(self): super(LibvirtDmcryptTestCase, self).setUp() self.CIPHER = 'cipher' self.KEY_SIZE = 256 self.NAME = 'disk' self.TARGET = dmcrypt.volume_name(self.NAME) self.PATH = '/dev/nova-lvm/instance_disk' self.KEY = range(0, self.KEY_SIZE) self.KEY_STR = ''.join(["%02x" % x for x in range(0, self.KEY_SIZE)]) self.executes = [] self.kwargs = {} def fake_execute(*cmd, **kwargs): self.executes.append(cmd) self.kwargs = kwargs return None, None def fake_listdir(path): return [self.TARGET, '/dev/mapper/disk'] self.stubs.Set(utils, 'execute', fake_execute) self.stubs.Set(os, 'listdir', fake_listdir)