kiwi.volume_manager Package¶
Submodules¶
kiwi.volume_manager.base
Module¶
- class kiwi.volume_manager.base.VolumeManagerBase(device_map, root_dir, volumes, custom_args=None)[source]¶
Bases:
DeviceProvider
Implements base class for volume management interface
- Parameters
mountpoint (str) – root mountpoint for volumes
device_map (object) – dictionary of low level DeviceProvider intances
root_dir (str) – root directory path name
volumes (list) – list of volumes from
XMLState::get_volumes()
volume_group (str) – volume group name
volume_map (map) – map volume name to device node
mount_list (list) – list of volume MountManager’s
device (str) – storage device node name
custom_args (dict) – custom volume manager arguments for all volume manager and filesystem specific tasks
custom_filesystem_args (list) – custom filesystem creation and mount arguments, subset of the custom_args information suitable to be passed to a FileSystem instance
- Raises
KiwiVolumeManagerSetupError – if the given root_dir doesn’t exist
- create_verification_metadata(device_node: str = '') None [source]¶
Write verification block on LVM devices is not supported
- create_verity_layer(blocks: Optional[int] = None, filename: Optional[str] = None)[source]¶
veritysetup on LVM devices is not supported
- create_volume_paths_in_root_dir()[source]¶
Implements creation of volume paths in the given root directory
- create_volumes(filesystem_name)[source]¶
Implements creation of volumes
Implementation in specialized volume manager class required
- Parameters
filesystem_name (str) – unused
- get_canonical_volume_list()[source]¶
Implements hierarchical sorting of volumes according to their paths and provides information about the volume configured as the one eating all the rest space
- Returns
list of canonical_volume_type tuples
- Return type
list
- get_fstab(persistency_type, filesystem_name)[source]¶
Implements setup of the fstab entries. The method should return a list of fstab compatible entries
- Parameters
persistency_type (str) – unused
filesystem_name (str) – unused
- get_mountpoint()[source]¶
Provides mount point directory
Effective use of the directory is guaranteed only after sync_data
- Returns
directory path name
- Return type
string
- get_volume_mbsize(volume, all_volumes, filesystem_name, resize_on_boot=False)[source]¶
Implements size lookup for the given path and desired filesystem according to the specified size type
- Parameters
volume (tuple) – volume to check size for
all_volumes (list) – list of all volume tuples
filesystem_name (str) – filesystem name
resize_on_boot – specify the time of the resize. If the resize happens at boot time the volume size is only the minimum size to just store the data. If the volume size is fixed and does not change at boot time the returned size is the requested size which can be greater than the minimum needed size.
- Returns
mbsize
- Return type
int
- is_loop()[source]¶
Check if storage provider is loop based
The information is taken from the storage provider. If the storage provider is loop based the volume manager is it too
- Returns
True of False
- Return type
bool
- mount_volumes()[source]¶
Implements mounting of all volumes below one master directory
Implementation in specialized volume manager class required
- post_init(custom_args)[source]¶
Post initialization method
Implementation in specialized volume manager class if required
- Parameters
custom_args (dict) – unused
- setup(name=None)[source]¶
Implements setup required prior to the creation of volumes
Implementation in specialized volume manager class required
- Parameters
name (str) – unused
- setup_mountpoint()[source]¶
Implements creation of a master directory holding the mounts of all volumes
kiwi.volume_manager.btrfs
Module¶
- class kiwi.volume_manager.btrfs.VolumeManagerBtrfs(device_map, root_dir, volumes, custom_args=None)[source]¶
Bases:
VolumeManagerBase
Implements btrfs sub-volume management
- Parameters
subvol_mount_list (list) – list of mounted btrfs subvolumes
toplevel_mount (object) –
MountManager
for root mountpoint
- create_volumes(filesystem_name)[source]¶
Create configured btrfs subvolumes
Any btrfs subvolume is of the same btrfs filesystem. There is no way to have different filesystems per btrfs subvolume. Thus the filesystem_name has no effect for btrfs
- Parameters
filesystem_name (string) – unused
- get_fstab(persistency_type='by-label', filesystem_name=None)[source]¶
Implements creation of the fstab entries. The method returns a list of fstab compatible entries
- Parameters
persistency_type (string) – by-label | by-uuid
filesystem_name (string) – unused
- Returns
list of fstab entries
- Return type
list
- get_mountpoint() str [source]¶
Provides btrfs root mount point directory
Effective use of the directory is guaranteed only after sync_data
- Returns
directory path name
- Return type
string
- post_init(custom_args)[source]¶
Post initialization method
Store custom btrfs initialization arguments
- Parameters
custom_args (list) – custom btrfs volume manager arguments
- setup(name=None)[source]¶
Setup btrfs volume management
In case of btrfs a toplevel(@) subvolume is created and marked as default volume. If snapshots are activated via the custom_args the setup method also created the @/.snapshots/1/snapshot subvolumes. There is no concept of a volume manager name, thus the name argument is not used for btrfs
- Parameters
name (string) – unused
kiwi.volume_manager.lvm
Module¶
- class kiwi.volume_manager.lvm.VolumeManagerLVM(device_map, root_dir, volumes, custom_args=None)[source]¶
Bases:
VolumeManagerBase
Implements LVM volume management
- create_volumes(filesystem_name)[source]¶
Create configured lvm volumes and filesystems
All volumes receive the same filesystem
- Parameters
filesystem_name (str) – volumes filesystem name
- get_device()[source]¶
Dictionary of MappedDevice instances per volume
Note: The mapping requires an explicit create_volumes() call
- Returns
root plus volume device map
- Return type
dict
- get_fstab(persistency_type, filesystem_name)[source]¶
Implements creation of the fstab entries. The method returns a list of fstab compatible entries
- Parameters
persistency_type (str) – unused
filesystem_name (str) – volumes filesystem name
- Returns
fstab entries
- Return type
list
- post_init(custom_args)[source]¶
Post initialization method
Store custom lvm initialization arguments
- Parameters
custom_args (list) – custom lvm volume manager arguments
Module Contents¶
- class kiwi.volume_manager.VolumeManager[source]¶
Bases:
object
VolumeManager factory
- Parameters
name (str) – volume management name
device_map (dict) – dictionary of low level DeviceProvider intances
root_dir (str) – root directory path name
volumes (list) – list of volumes from
XMLState::get_volumes()
custom_args (dict) – dictionary of custom volume manager arguments