blivet.devices package¶
Submodules¶
blivet.devices.btrfs module¶
- class blivet.devices.btrfs.BTRFSDevice(*args, **kwargs)¶
Bases:
StorageDevice
Base class for BTRFS volume and sub-volume devices.
Passing None or no name means auto-generate one like btrfs.%d
- property current_size¶
Return an attribute of instance, which is of type owner.
- property direct¶
Is this device directly accessible?
- property fstab_spec¶
Return an attribute of instance, which is of type owner.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property path¶
Return an attribute of instance, which is of type owner.
- property status¶
Return an attribute of instance, which is of type owner.
- update_size(newsize=None)¶
Update size, current_size, and target_size to actual size.
:keyword
Size
newsize: new size for deviceNote
Most callers will not pass a new size. It is for special cases like outside resize of inactive LVs, which precludes updating the size from /sys.
- update_sysfs_path()¶
Update this device’s sysfs path.
- class blivet.devices.btrfs.BTRFSSnapShotDevice(*args, **kwargs)¶
Bases:
BTRFSSubVolumeDevice
A btrfs snapshot pseudo-device.
BTRFS snapshots are a specialized type of subvolume that contains a source attribute which identifies which subvolume the snapshot was taken from. They do not have to be removed when removing the source subvolume.
:keyword
Size
size: the device’s size :keywordParentList
parents: a list of parent devices :keyword fmt: this device’s formatting :type fmt:DeviceFormat
:keyword str sysfs_path: sysfs device path :keywordBTRFSDevice
source: the snapshot source :keyword bool read_only: create a read-only snapshotSnapshot source can be either a subvolume or a top-level volume.
- depends_on(dep)¶
Return True if this device depends on dep.
This device depends on another device if the other device is an ancestor of this device. For example, a PartitionDevice depends on the DiskDevice on which it resides.
- Parameters:
dep (
Device
) – the other device- Returns:
whether this device depends on ‘dep’
- Return type:
- source¶
the snapshot’s source subvolume
- class blivet.devices.btrfs.BTRFSSubVolumeDevice(*args, **kwargs)¶
Bases:
BTRFSDevice
A btrfs subvolume pseudo-device.
:keyword
Size
size: the device’s size :keywordParentList
parents: a list of parent devices :keyword fmt: this device’s formatting :type fmt:DeviceFormat
:keyword str sysfs_path: sysfs device path- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- property container¶
Return an attribute of instance, which is of type owner.
- property device_id¶
Return an attribute of instance, which is of type owner.
- populate_ksdata(data)¶
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- setup_parents(orig=False)¶
Run setup method of all parent devices.
- property volume¶
Return the first ancestor that is not a BTRFSSubVolumeDevice.
Note: Assumes that each ancestor in traversal has only one parent.
Raises a DeviceError if the ancestor found is not a BTRFSVolumeDevice.
- class blivet.devices.btrfs.BTRFSVolumeDevice(*args, **kwargs)¶
Bases:
BTRFSDevice
,ContainerDevice
,RaidDevice
:keyword
Size
size: the device’s size :keywordParentList
parents: a list of parent devices :keyword fmt: this device’s formatting :type fmt:DeviceFormat
:keyword str uuid: UUID of top-level filesystem/volume :keyword str sysfs_path: sysfs device path :keyword data_level: RAID level for data :type data_level: any valid raid level descriptor :keyword metadata_level: RAID level for metadata :type metadata_level: any valid raid level descriptor- property data_level¶
Return the RAID level for data.
- Returns:
raid level
- Return type:
an object that represents a raid level
- property default_subvolume¶
Return an attribute of instance, which is of type owner.
- property device_id¶
Return an attribute of instance, which is of type owner.
- property format_immutable¶
Return an attribute of instance, which is of type owner.
- list_subvolumes(snapshots_only=False)¶
- property members¶
Return an attribute of instance, which is of type owner.
- property metadata_level¶
Return the RAID level for metadata.
- Returns:
raid level
- Return type:
an object that represents a raid level
- populate_ksdata(data)¶
- remove_subvolume(name)¶
- vol_id = 5¶
blivet.devices.cache module¶
Module providing common helper classes, functions and other things related to cached devices (like bcache, LVM cache and whatever appears in the future).
- class blivet.devices.cache.Cache¶
Bases:
object
Abstract base class for cache objects providing the cache-related functionality on cached devices. Instances of this class are not expected to be devices (both in what they represent as well as not instances of the
Device
class) since they just provide the cache-related functionality of cached devices and are not devices on their own.- abstract property backing_device_name¶
Name of the backing (big/slow) device of the cache (if any)
- abstract property cache_device_name¶
Name of the cache (small/fast) device of the cache (if any)
- abstract detach()¶
Detach the cache :returns: identifier of the detached cache that can be later used for attaching it back
- abstract property exists¶
Whether the cache (device) exists or not
- abstract property size¶
Size of the cache
- abstract property stats¶
Statistics for the cache :rtype:
CacheStats
- class blivet.devices.cache.CacheRequest¶
Bases:
object
Abstract base class for cache requests specifying cache parameters for a cached device
- abstract property fast_devs¶
Devices (type-specific) to allocate/create the cache on
- abstract property mode¶
Mode the cache should use
- abstract property size¶
Requested size
- class blivet.devices.cache.CacheStats¶
Bases:
object
Abstract base class for common statistics of caches (cached devices). Inheriting classes are expected to add (cache-)type-specific attributes on top of the common set.
- abstract property block_size¶
block size of the cache
- abstract property hits¶
number of hits
- abstract property misses¶
number of misses
- abstract property size¶
size of the cache
- abstract property used¶
how much of the cache is used
blivet.devices.container module¶
- class blivet.devices.container.ContainerDevice(*args, **kwargs)¶
Bases:
StorageDevice
A device that aggregates a set of member devices.
The only interfaces provided by this class are for addition and removal of member devices – one set for modifying the member set of the python objects, and one for writing the changes to disk.
The member set of the instance can be manipulated using the methods
append()
andremove()
of the instance’sparents
attribute.add()
andremove()
remove a member from the container’s on- disk representation. These methods should normally only be called from withindeviceaction.ActionAddMember.execute()
anddeviceaction.ActionRemoveMember.execute()
.- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
major (int) – the device major
minor (int) – the device minor
serial (str) – the ID_SERIAL_SHORT for this device
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
- add(member)¶
Add a member to the container.
- Parameters:
member (
StorageDevice
) – the member device to add
This method writes the member addition to disk.
- remove(member)¶
Remove a member from the container.
- Parameters:
member (
StorageDevice
) – the member device to remove
This method writes the member removal to disk.
blivet.devices.device module¶
- class blivet.devices.device.Device(*args, **kwargs)¶
Bases:
ObjectID
A generic device.
Device instances know which devices they depend upon (parents attribute). They do not know which devices depend upon them, but they do know whether or not they have any dependent devices (isleaf attribute).
A Device’s setup method should set up all parent devices as well as the device itself. It should not run the resident format’s setup method.
- Which Device types rely on their parents’ formats being active?
DMCryptDevice
A Device’s teardown method should accept the keyword argument recursive, which takes a boolean value and indicates whether or not to recursively close parent devices.
A Device’s create method should create all parent devices as well as the device itself. It should also run the Device’s setup method after creating the device. The create method should not create a device’s resident format.
Which device type rely on their parents’ formats to be created before they can be created/assembled?
VolumeGroup DMCryptDevice
A Device’s destroy method should destroy any resident format before destroying the device itself.
- Parameters:
- add_child(child)¶
Increment the child counter for this device.
- property ancestors¶
A list of all of this device’s ancestors, including itself.
- property children¶
List of this device’s immediate descendants.
- create()¶
Create the device.
- depends_on(dep)¶
Return True if this device depends on dep.
This device depends on another device if the other device is an ancestor of this device. For example, a PartitionDevice depends on the DiskDevice on which it resides.
- destroy()¶
Destroy the device.
- property device_id¶
Unique ID for this device.
- Note: This is an internal identifier in Blivet which is designed to be unique
even for devices with the same name or label. This ID is persistent between blivet.reset() calls for existing devices.
- property dict¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property external_dependencies¶
A list of external dependencies of this device and its parents.
- Returns:
the external dependencies of this device and all parents.
- Return type:
- is_name_valid(name)¶
Is the device name valid for the device type?
- property isleaf¶
True if no other device depends on this one.
- property name¶
This device’s name
- property packages¶
List of packages required to manage this device and all its ancestor devices. Does not contain duplicates.
- property parents¶
Devices upon which this device is built
- remove_child(child)¶
Decrement the child counter for this device.
- setup(orig=False)¶
Open, or set up, a device.
- setup_parents(orig=False)¶
Run setup method of all parent devices.
- Parameters:
orig (bool) – set up original format instead of current format
- property status¶
Is this device currently active and ready for use?
- property tags¶
set of (str) tags describing this device.
- teardown(recursive=None)¶
Close, or tear down, a device.
- teardown_parents(recursive=None)¶
Run teardown method of all parent devices.
- Parameters:
recursive (bool) – tear down all ancestor devices recursively
- property type¶
Device type.
- property type_description¶
String describing the device type.
- classmethod type_external_dependencies()¶
A list of external dependencies of this device type.
- Returns:
a set of external dependencies
- Return type:
The external dependencies include the dependencies of this device type and of all superclass device types.
Any unavailable external dependencies of this device or its parents.
- Returns:
A list of unavailable external dependencies.
- Return type:
set of availability.external_resource
Any unavailable external dependencies of this device.
- Returns:
A list of unavailable external dependencies.
- Return type:
set of availability.external_resource
A set of unavailable dependencies for this type.
- Returns:
the unavailable external dependencies for this type
- Return type:
blivet.devices.disk module¶
- class blivet.devices.disk.DASDDevice(*args, **kwargs)¶
Bases:
DiskDevice
A mainframe DASD.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formattingwwn (str) – the disk’s WWN
busid – bus ID
opts (dict with option name keys and option value values) – options
- property description¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- get_opts()¶
- class blivet.devices.disk.DiskDevice(*args, **kwargs)¶
Bases:
StorageDevice
A local/generic disk.
This is not the only kind of device that is treated as a disk. More useful than checking isinstance(device, DiskDevice) is checking device.is_disk.
- Parameters:
name (str) – the device name (generally a device node’s basename)
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
removable (bool) – whether or not this is a removable device
serial (str) – the ID_SERIAL_RAW, ID_SERIAL or ID_SERIAL_SHORT for this device (which one is available)
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
wwn (str) – the disk’s WWN
DiskDevices always exist.
- property description¶
Return an attribute of instance, which is of type owner.
- property media_present¶
Return an attribute of instance, which is of type owner.
- property raid_disk_count¶
Return an attribute of instance, which is of type owner.
- property raid_level¶
Return an attribute of instance, which is of type owner.
- property raid_stripe_size¶
Return an attribute of instance, which is of type owner.
- property raid_system¶
Return an attribute of instance, which is of type owner.
- class blivet.devices.disk.DiskFile(*args, **kwargs)¶
Bases:
DiskDevice
This is a file that we will pretend is a disk.
This is intended only for testing purposes. The benefit of this class is that you can instantiate a disk-like device with a working disklabel class as a non-root user. It is not known how the system will behave if partitions are committed to one of these disks.
- Parameters:
name (str) – the full path to the backing regular file
:keyword
DeviceFormat
fmt: the device’s format- read_current_size()¶
- property sysfs_path¶
Return an attribute of instance, which is of type owner.
- update_sysfs_path()¶
Update this device’s sysfs path.
- class blivet.devices.disk.FcoeDiskDevice(*args, **kwargs)¶
Bases:
DiskDevice
,NetworkStorageDevice
An FCoE disk.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formattingwwn (str) – the disk’s WWN
nic – name of NIC to use
identifier –
???
- dracut_setup_args()¶
- class blivet.devices.disk.MultipathDevice(*args, **kwargs)¶
Bases:
DMDevice
A multipath device
- Parameters:
name (str) – the device name (generally a device node’s basename)
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
wwn (str) – the device’s WWN
MultipathDevices always exist. Blivet cannot create or destroy them.
- add_parent(parent)¶
Add a parent device to the mpath.
- property description¶
Return an attribute of instance, which is of type owner.
- property model¶
Return an attribute of instance, which is of type owner.
- property vendor¶
Return an attribute of instance, which is of type owner.
- class blivet.devices.disk.NVMeController(name, serial, nvme_ver, id, subsysnqn, transport, transport_address)¶
Bases:
tuple
Create new instance of NVMeController(name, serial, nvme_ver, id, subsysnqn, transport, transport_address)
- id¶
Alias for field number 3
- name¶
Alias for field number 0
- nvme_ver¶
Alias for field number 2
- serial¶
Alias for field number 1
- subsysnqn¶
Alias for field number 4
- transport¶
Alias for field number 5
- transport_address¶
Alias for field number 6
- class blivet.devices.disk.NVMeFabricsNamespaceDevice(*args, **kwargs)¶
Bases:
NVMeNamespaceDevice
,NetworkStorageDevice
NVMe fabrics namespace
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formatting
- class blivet.devices.disk.NVMeNamespaceDevice(*args, **kwargs)¶
Bases:
DiskDevice
NVMe namespace
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formattingnsid (int) – namespace ID
- property controllers¶
Return an attribute of instance, which is of type owner.
- class blivet.devices.disk.ZFCPDiskDevice(*args, **kwargs)¶
Bases:
DiskDevice
A mainframe ZFCP disk.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formattingwwn (str) – the disk’s WWN
hba_id –
???
wwpn –
???
fcp_lun –
???
id_path – string from udev-builtin-path_id
- property description¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- class blivet.devices.disk.iScsiDiskDevice(*args, **kwargs)¶
Bases:
DiskDevice
,NetworkStorageDevice
An iSCSI disk.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesformat (
DeviceFormat
or a subclass of it) – this device’s formattingwwn (str) – the disk’s WWN
target (str) – the name of the iscsi target
lun – lun of the target
iface (str) – name of network interface to use for operation
initiator (str) – initiator name
offload – a partial offload device (qla4xxx)
address – ip address of the target
port – port of the target
- Type:
- Type:
- Type:
- dracut_setup_args()¶
blivet.devices.dm module¶
- class blivet.devices.dm.DMCryptDevice(*args, **kwargs)¶
Bases:
DMDevice
A dm-crypt device
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
- class blivet.devices.dm.DMDevice(*args, **kwargs)¶
Bases:
StorageDevice
A device-mapper device
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
dm_uuid (str) – device-mapper UUID (see note below)
target (str) – device mapper table/target name (eg: “linear”)
Note
The dm_uuid is not necessarily persistent, as it is based on map name in many cases. The uuid, however, is a persistent UUID stored in device metadata on disk.
- property device_id¶
Return an attribute of instance, which is of type owner.
- property dict¶
Return an attribute of instance, which is of type owner.
- get_dm_node()¶
Return the dm-X (eg: dm-0) device node for this device.
- property map_name¶
This device’s device-mapper map name
- setup_partitions()¶
- property status¶
Return an attribute of instance, which is of type owner.
- teardown_partitions()¶
- class blivet.devices.dm.DMIntegrityDevice(*args, **kwargs)¶
Bases:
DMDevice
A dm-integrity device
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
- class blivet.devices.dm.DMLinearDevice(*args, **kwargs)¶
Bases:
DMDevice
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
dm_uuid (str) – device-mapper UUID
- deactivate(recursive=False)¶
- property description¶
Return an attribute of instance, which is of type owner.
- teardown(recursive=None)¶
Close, or tear down, a device.
blivet.devices.file module¶
- class blivet.devices.file.DirectoryDevice(*args, **kwargs)¶
Bases:
FileDevice
A directory on a filesystem.
This exists because of bind mounts.
- Parameters:
path (str) – full path to the file
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
- class blivet.devices.file.FileDevice(*args, **kwargs)¶
Bases:
StorageDevice
A file on a filesystem.
This exists because of swap files.
- Parameters:
path (str) – full path to the file
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
- property fstab_spec¶
Return an attribute of instance, which is of type owner.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property path¶
Return an attribute of instance, which is of type owner.
- read_current_size()¶
- update_sysfs_path()¶
Update this device’s sysfs path.
- class blivet.devices.file.SparseFileDevice(*args, **kwargs)¶
Bases:
FileDevice
A sparse file on a filesystem. This exists for sparse disk images.
- Parameters:
path (str) – full path to the file
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
blivet.devices.lib module¶
- class blivet.devices.lib.ParentList(items=None, appendfunc=None, removefunc=None)¶
Bases:
object
A list with auditing and side-effects for additions and removals.
The class provides an ordered list with guaranteed unique members and optional functions to run before adding or removing a member. It provides a subset of the functionality provided by
list
, making it easy to ensure that changes pass through the check functions.The following operations are implemented:
ml.append(x) ml.remove(x) iter(ml) len(ml) x in ml x = ml[i] # not ml[i] = x
- Parameters:
items (any iterable) – initial contents
appendfunc (callable) – a function to call before adding an item
removefunc (callable) – a function to call before removing an item
appendfunc and removefunc should take the item to be added or removed and perform any checks or other processing. The appropriate function will be called immediately before adding or removing the item. The function should raise an exception if the addition/removal should not take place.
ParentList
instance is not passed to the function. While this is not optimal for general-purpose use, it is ideal for the intended use as part ofDevice
. The functions themselves should not modify theParentList
.- append(y)¶
Add an item to the list after running a callback.
- appendfunc¶
a function to call before adding an item
- remove(y)¶
Remove an item from the list after running a callback.
- removefunc¶
a function to call before removing an item
- class blivet.devices.lib.Tags(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
-
Tags that describe various classes of disk.
- local = 'local'¶
- nvme = 'nvme'¶
- remote = 'remote'¶
- removable = 'removable'¶
- ssd = 'ssd'¶
- usb = 'usb'¶
- blivet.devices.lib.device_name_to_disk_by_path(device_name=None)¶
Return a /dev/disk/by-path/ symlink path for the given device name.
- blivet.devices.lib.device_path_to_name(device_path)¶
Return a name based on the given path to a device node.
- blivet.devices.lib.get_device_type_by_major(major)¶
Return a device-type string for the given major number.
Note
Type strings are taken directly from /proc/devices.
blivet.devices.loop module¶
- class blivet.devices.loop.LoopDevice(*args, **kwargs)¶
Bases:
StorageDevice
A loop device.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
Loop devices always exist.
- property size¶
Return an attribute of instance, which is of type owner.
- property status¶
Return an attribute of instance, which is of type owner.
- update_name()¶
Update this device’s name.
blivet.devices.luks module¶
- class blivet.devices.luks.BITLKDevice(*args, **kwargs)¶
Bases:
DMCryptDevice
A mapped BITLK device.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
- class blivet.devices.luks.IntegrityDevice(*args, **kwargs)¶
Bases:
DMIntegrityDevice
A mapped integrity device.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
uuid (str) – the device UUID
- property controllable¶
Return an attribute of instance, which is of type owner.
- property metadata_size¶
Return an attribute of instance, which is of type owner.
- property raw_device¶
Return an attribute of instance, which is of type owner.
- property size¶
Return an attribute of instance, which is of type owner.
- class blivet.devices.luks.LUKSDevice(*args, **kwargs)¶
Bases:
DMCryptDevice
A mapped LUKS device.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
uuid (str) – the device UUID
- property device_id¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property max_size¶
The maximum size this luks device can be. Maximum is based on the maximum size of the backing device.
- populate_ksdata(data)¶
- property raw_device¶
Return an attribute of instance, which is of type owner.
- property resizable¶
Can this device be resized?
- resize()¶
Resize a device to self.target_size.
This method should only be invoked via the ActionResizeDevice.execute method. All the pre-conditions enforced by ActionResizeDevice.__init__ are assumed to hold.
Returns nothing.
- property size¶
Return an attribute of instance, which is of type owner.
- update_name()¶
blivet.devices.lvm module¶
- class blivet.devices.lvm.LVMCache(cached_lv, size=None, md_size=None, exists=False, pvs=None, mode=None)¶
Bases:
Cache
- Parameters:
cached_lv (
LVMLogicalVolumeDevice
) – the LV the cache functionality of which to providesize (
Size
) – size of the cache (useful mainly for non-existing caches that cannot determine their size dynamically)md_size (
Size
or NoneType) – size of the metadata part (LV) of the cache (for non-existing caches that cannot determine their metadata size dynamically) or None to use the default (see note below)exists (bool) – whether the cache exists or not
pvs (list of
LVPVSpec
) – PVs to allocate the cache on/from (ignored for existing)mode (str) – desired mode for non-existing cache (ignored for existing)
Note
If :param:`md_size` is None for a an unexisting cache, the default is used and it is subtracted from the requested :param:`size` so that the whole cache (data+metadata) fits in the space of size :param:`size`.
- property backing_device_name¶
Name of the backing (big/slow) device of the cache (if any)
- property cache_device_name¶
Name of the cache (small/fast) device of the cache (if any)
- detach()¶
Detach the cache :returns: identifier of the detached cache that can be later used for attaching it back
- property exists¶
Whether the cache (device) exists or not
- property fast_pvs¶
- property md_size¶
- property mode¶
- property pv_space_used¶
- property size¶
Size of the cache
- property stats¶
Statistics for the cache :rtype:
CacheStats
- type = 'cache'¶
Class providing the cache-related functionality of a cached LV
- property vg_space_used¶
- class blivet.devices.lvm.LVMCachePoolMixin(metadata_size, cache_mode=None, attach_to=None)¶
Bases:
object
- add_hook(new=True)¶
- autoset_md_size(enforced=False)¶
If self._metadata_size not set already, it calculates the recommended value and sets it while subtracting the size from self.size.
- property direct¶
Is this device directly accessible?
- dracut_setup_args()¶
- property format_immutable¶
- property is_cache_pool¶
- property profile¶
- read_current_size()¶
- remove_hook(modparent=True)¶
- property resizable¶
- property type¶
- class blivet.devices.lvm.LVMCacheRequest(size, pvs, mode=None, cache_type=LVMCacheType.lvmcache)¶
Bases:
CacheRequest
Class representing the LVM cache creation request
- Parameters:
size (
Size
) – requested size of the cachepvs (list of (
StorageDevice
orLVPVSpec
)) – PVs to allocate the cache on/frommode (str) – requested mode for the cache (
None
means the default is used)cache_type (enum
LVMCacheType
) – type of the cache to use (writecache or “normal” cache)
- property cache_type¶
- property fast_devs¶
Devices (type-specific) to allocate/create the cache on
- property mode¶
Mode the cache should use
- property pv_space_requests¶
- property size¶
Requested size
- class blivet.devices.lvm.LVMCacheStats(stats_data)¶
Bases:
CacheStats
- Parameters:
stats_data (
blockdev.LVMCacheStats
) – cache stats data
- property block_size¶
block size of the cache
- property hits¶
number of hits
- property md_block_size¶
- property md_size¶
- property md_used¶
- property misses¶
number of misses
- property read_hits¶
- property read_misses¶
- property size¶
size of the cache
- property used¶
how much of the cache is used
- property write_hits¶
- property write_misses¶
- class blivet.devices.lvm.LVMCacheType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
Enum
- lvmcache = 1¶
- lvmwritecache = 2¶
- class blivet.devices.lvm.LVMInternalLVtype(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
Enum
- cache_pool = 6¶
- data = 1¶
- classmethod get_type(lv_attr, lv_name)¶
- image = 4¶
- log = 3¶
- meta = 2¶
- origin = 5¶
- unknown = 99¶
- class blivet.devices.lvm.LVMInternalLogicalVolumeMixin(vg, parent_lv, lv_type)¶
Bases:
object
- add_hook(new=True)¶
- destroy()¶
- property direct¶
- property display_lvname¶
Name of the internal LV as displayed by the lvm utilities
- property growable¶
- property int_lv_type¶
- property is_internal_lv¶
- is_name_valid(name)¶
- property max_size¶
- property name_suffix¶
- property parent_lv¶
- property readonly¶
- remove_hook(modparent=True)¶
- property resizable¶
- resize()¶
- setup(orig=False)¶
- property takes_extra_space¶
- teardown(recursive=None)¶
- property type¶
- property vg¶
- class blivet.devices.lvm.LVMLogicalVolumeBase(*args, **kwargs)¶
Bases:
DMDevice
,RaidDevice
Abstract base class for LVM LVs
Attributes, properties and methods defined in this class are common too all LVs.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
dm_uuid (str) – device-mapper UUID (see note below)
target (str) – device mapper table/target name (eg: “linear”)
Note
The dm_uuid is not necessarily persistent, as it is based on map name in many cases. The uuid, however, is a persistent UUID stored in device metadata on disk.
- add_internal_lv(int_lv)¶
- property cache¶
Return an attribute of instance, which is of type owner.
- property cached¶
Return an attribute of instance, which is of type owner.
- check_size()¶
Check to make sure the size of the device is allowed by the format used.
Returns: 0 - ok 1 - Too large -1 - Too small
- property complete¶
Test if vg exits and if it has all pvs.
- config_actions_map = {'compression': '_set_compression', 'deduplication': '_set_deduplication', 'name': '_rename'}¶
- property container¶
Return an attribute of instance, which is of type owner.
- property data_vg_space_used¶
Space occupied by the data part of this LV, not including snapshots
- property device_id¶
Return an attribute of instance, which is of type owner.
- property dict¶
Return an attribute of instance, which is of type owner.
- property from_lvs¶
Return an attribute of instance, which is of type owner.
- get_dm_node()¶
Return the dm-X (eg: dm-0) device node for this device.
- property is_raid_lv¶
Return an attribute of instance, which is of type owner.
- property isleaf¶
Return an attribute of instance, which is of type owner.
- property log_size¶
Return an attribute of instance, which is of type owner.
- property lvname¶
The LV’s name (not including VG name).
- property map_name¶
This device’s device-mapper map name
- property members¶
Return an attribute of instance, which is of type owner.
- property metadata_size¶
Size of the meta data space this LV has available (see also :property:`metadata_vg_space_used`)
- property metadata_vg_space_used¶
Space occupied by the metadata part(s) of this LV, not including snapshots
- property mirrored¶
Return an attribute of instance, which is of type owner.
- property num_raid_pvs¶
Return an attribute of instance, which is of type owner.
- property path¶
Device node representing this device.
- populate_ksdata(data)¶
- property pv_space_used¶
- property raid_level¶
Return an attribute of instance, which is of type owner.
- remove_internal_lv(int_lv)¶
- set_rw()¶
Run lvchange as needed to ensure the lv is not read-only.
- property vg¶
This Logical Volume’s Volume Group.
- property vg_space_used¶
Space occupied by this LV, not including snapshots.
- class blivet.devices.lvm.LVMLogicalVolumeDevice(*args, **kwargs)¶
Bases:
LVMLogicalVolumeBase
,LVMInternalLogicalVolumeMixin
,LVMSnapshotMixin
,LVMThinPoolMixin
,LVMThinLogicalVolumeMixin
,LVMVDOPoolMixin
,LVMVDOLogicalVolumeMixin
,LVMCachePoolMixin
An LVM Logical Volume
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
uuid (str) – the device UUID
seg_type (str) – segment type (eg: “linear”, “raid1”, “thin-pool”, “thin”,…)
For non-existent LVs only:
- Parameters:
grow (bool) – whether to grow this LV
maxsize (
Size
) – maximum size for growable LVpercent (int) – percent of VG space to take
cache_request (
LVMCacheRequest
) – parameters of requested cache (if any)pvs (list of
StorageDevice
orLVPVSpec
objects (tuples)) – list of PVs to allocate extents from (size could be specified for each PV)shared (bool) – whether to activate the newly create LV in shared mode
For internal LVs only:
- Parameters:
parent_lv (
LVMLogicalVolumeDevice
) – parent LV of this internal LVint_type (
LVMInternalLVtype
) – type of this internal LV
For snapshots only:
- Parameters:
origin (
StorageDevice
) – origin of this snapshotvorigin (bool) – is this a vorigin snapshot?
For thin pools (seg_type=”thin-pool”) only:
- Parameters:
metadata_size (
Size
) – the size of the metadata LVchunk_size (
Size
) – chunk size for the poolprofile (
ThPoolProfile
or NoneType) – (allocation) profile for the pool or None (unspecified)
For new LVs created from other LVs:
- Parameters:
from_lvs (tuple of
LVMLogicalVolumeDevice
) – LVs to create the new LV from (in the (data_lv, metadata_lv) order)
For VDO pools only:
- Parameters:
For cache pools only:
- Parameters:
metadata_size (
Size
) – the size of the metadata LVcache_mode (str) – mode for the cache or None for default (writethrough)
attach_to (
LVMLogicalVolumeDevice
) – for non-existing cache pools a logical volume the pool should be attached to when created
For RAID LVs only:
- Parameters:
stripe_size (
Size
) – size of the RAID stripe
- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- attach_cache(cache_pool_lv)¶
- attach_writecache(writecache_lv)¶
- autoset_md_size(enforced=False)¶
If self._metadata_size not set already, it calculates the recommended value and sets it while subtracting the size from self.size.
- depends_on(dep)¶
Return True if this device depends on dep.
This device depends on another device if the other device is an ancestor of this device. For example, a PartitionDevice depends on the DiskDevice on which it resides.
- Parameters:
dep (
Device
) – the other device- Returns:
whether this device depends on ‘dep’
- Return type:
- destroy()¶
Destroy the device.
- property direct¶
Is this device directly accessible?
- property display_lv_name¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property external_dependencies¶
Return an attribute of instance, which is of type owner.
- property format_immutable¶
Return an attribute of instance, which is of type owner.
- property growable¶
Return an attribute of instance, which is of type owner.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property lvs¶
Return an attribute of instance, which is of type owner.
- property max_size¶
The maximum size this lv can be.
- property min_size¶
Return an attribute of instance, which is of type owner.
- property pool¶
Return an attribute of instance, which is of type owner.
- populate_ksdata(data)¶
- read_current_size()¶
- property readonly¶
Return an attribute of instance, which is of type owner.
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- property resizable¶
Return an attribute of instance, which is of type owner.
- resize()¶
Resize a device to self.target_size.
This method should only be invoked via the ActionResizeDevice.execute method. All the pre-conditions enforced by ActionResizeDevice.__init__ are assumed to hold.
Returns nothing.
- setup(orig=False)¶
Open, or set up, a device.
- setup_parents(orig=False)¶
Run setup method of all parent devices.
- property size¶
Get the device’s size, accounting for pending changes.
- teardown(recursive=None)¶
Close, or tear down, a device.
- property type¶
Return an attribute of instance, which is of type owner.
- type_specific()¶
Return an attribute of instance, which is of type owner.
- property vg¶
This Logical Volume’s Volume Group.
- property vg_space_used¶
Space occupied by this LV, not including snapshots.
- class blivet.devices.lvm.LVMSnapshotMixin(origin=None, vorigin=False)¶
Bases:
object
- depends_on(dep)¶
- property format_immutable¶
- property is_snapshot_lv¶
- merge()¶
Merge the snapshot back into its origin volume.
- old_snapshot_specific()¶
Decorator for methods that are specific only to old snapshots
- origin¶
the snapshot’s source volume
- read_current_size()¶
- property resizable¶
- setup(orig=False)¶
- teardown(recursive=False)¶
- property type¶
- vorigin¶
a boolean flag indicating a vorigin snapshot
- class blivet.devices.lvm.LVMThinLogicalVolumeMixin¶
Bases:
object
- add_hook(new=True)¶
- property is_thin_lv¶
- property pool¶
- property pool_space_used¶
The total space used within the thin pool by this volume.
This should probably align to the greater of vg extent size and pool chunk size. If it ends up causing overcommit in the amount of less than one chunk per thin lv, so be it.
- populate_ksdata(data)¶
- remove_hook(modparent=True)¶
- property type¶
- property vg¶
- property vg_space_used¶
- class blivet.devices.lvm.LVMThinPoolMixin(metadata_size=None, chunk_size=None, profile=None)¶
Bases:
object
- autoset_md_size(enforced=False)¶
If self._metadata_size not set already, it calculates the recommended value and sets it while subtracting the size from self.size.
- property chunk_size¶
- property direct¶
Is this device directly accessible?
- dracut_setup_args()¶
- property free_space¶
- property is_thin_pool¶
- property lvs¶
A list of this pool’s LVs
- populate_ksdata(data)¶
- property profile¶
- property resizable¶
- property type¶
- property used_space¶
- class blivet.devices.lvm.LVMVDOLogicalVolumeMixin¶
Bases:
object
- add_hook(new=True)¶
- property is_vdo_lv¶
- property pool¶
- remove_hook(modparent=True)¶
- property resizable¶
- property type¶
- classmethod type_external_dependencies()¶
- property vg¶
- property vg_space_used¶
- class blivet.devices.lvm.LVMVDOPoolMixin(compression=True, deduplication=True, index_memory=0, write_policy=None)¶
Bases:
object
- property direct¶
Is this device directly accessible?
- property is_vdo_pool¶
- property lvs¶
A list of this VDO pool’s LVs
- property min_size¶
- read_current_size()¶
- property resizable¶
- property type¶
- classmethod type_external_dependencies()¶
- property vdo_lv¶
- class blivet.devices.lvm.LVMVolumeGroupDevice(*args, **kwargs)¶
Bases:
ContainerDevice
An LVM Volume Group
- Parameters:
For existing VG’s only:
- Parameters:
size (
Size
) – the VG’s size
:keyword free – amount of free space in the VG :type free:
Size
:keyword pe_free: number of free extents :type pe_free: int :keyword pe_count – total number of extents :type pe_count: int :keyword pv_count: number of PVs in this VG :type pv_count: int :keyword uuid: the VG UUID :type uuid: strFor non-existing VGs only:
- Parameters:
shared (bool) – whether to create this VG as shared
- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- align(size, roundup=False)¶
Align a size to a multiple of physical extent size.
- property cached_lvs¶
Return an attribute of instance, which is of type owner.
- property complete¶
Check if the vg has all its pvs in the system Return True if complete.
- property device_id¶
Return an attribute of instance, which is of type owner.
- property dict¶
Return an attribute of instance, which is of type owner.
- property direct¶
Is this device directly accessible?
- property extents¶
Number of extents in this VG
- property free_extents¶
The number of free extents in this VG.
- property free_space¶
The amount of free space in this VG.
- static get_supported_pe_sizes()¶
- property is_empty¶
Return an attribute of instance, which is of type owner.
- property is_modified¶
Return True if the VG has changes queued that LVM is unaware of.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property lvm_metadata_space¶
The amount of the space LVM metadata cost us in this VG’s PVs
- property lvs¶
A list of this VG’s LVs
- property map_name¶
This device’s device-mapper map name
- property path¶
Device node representing this device.
- property pmspare_size¶
Size of the pmspare LV LVM creates in every VG that contains some metadata (even internal) LV. The size of such LV is equal to the size of the biggest metadata LV in the VG.
- populate_ksdata(data)¶
- property protected¶
Return an attribute of instance, which is of type owner.
- property pv_free_info¶
- Returns:
information about sizes and free space in this VG’s PVs
- Return type:
list of PVFreeInfo
- property pvs¶
A list of this VG’s PVs
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- property reserved_percent¶
Reserved space in this VG in percent
- property reserved_space¶
Reserved space in this VG
- property size¶
The size of this VG
- property status¶
The device’s status (True means active).
- property thinlvs¶
Return an attribute of instance, which is of type owner.
- property thinpools¶
Return an attribute of instance, which is of type owner.
- property thpool_reserve¶
Return an attribute of instance, which is of type owner.
- update_sysfs_path()¶
Update this device’s sysfs path.
- class blivet.devices.lvm.LVMWriteCache(cached_lv, size, exists=False, pvs=None)¶
Bases:
Cache
- property backing_device_name¶
Name of the backing (big/slow) device of the cache (if any)
- property cache_device_name¶
Name of the cache (small/fast) device of the cache (if any)
- detach()¶
Detach the cache :returns: identifier of the detached cache that can be later used for attaching it back
- property exists¶
Whether the cache (device) exists or not
- property fast_pvs¶
- property md_size¶
- property pv_space_used¶
- property size¶
Size of the cache
- property stats¶
Statistics for the cache :rtype:
CacheStats
- type = 'writecache'¶
- property vg_space_used¶
- class blivet.devices.lvm.LVPVSpec(pv, size)¶
Bases:
object
Class for specifying how much space on a PV should be allocated for some LV
- exception blivet.devices.lvm.NotTypeSpecific¶
Bases:
Exception
Exception class for invalid type-specific calls
blivet.devices.md module¶
- class blivet.devices.md.MDBiosRaidArrayDevice(*args, **kwargs)¶
Bases:
MDRaidArrayDevice
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
chunk_size (
Size
) – chunk size for the deviceuuid (str) – the device UUID
level (any valid RAID level descriptor) – the device’s RAID level
member_devices (int) – the number of active member devices
total_devices (int) – the total number of member devices
metadata_version (str (eg: "0.90")) – the version of the device’s md metadata
minor (int) – the device minor (obsolete?)
Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all partitionable is also considered to be partitionable.Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all disks is also treated like a disk.- property description¶
Return an attribute of instance, which is of type owner.
- property is_disk¶
Return an attribute of instance, which is of type owner.
- property mdadm_conf_entry¶
Return an attribute of instance, which is of type owner.
- property members¶
Return an attribute of instance, which is of type owner.
- property partitionable¶
Return an attribute of instance, which is of type owner.
- property size¶
Return an attribute of instance, which is of type owner.
- teardown(recursive=None)¶
Close, or tear down, a device.
- property total_devices¶
Return an attribute of instance, which is of type owner.
- class blivet.devices.md.MDContainerDevice(*args, **kwargs)¶
Bases:
MDRaidArrayDevice
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
chunk_size (
Size
) – chunk size for the deviceuuid (str) – the device UUID
level (any valid RAID level descriptor) – the device’s RAID level
member_devices (int) – the number of active member devices
total_devices (int) – the total number of member devices
metadata_version (str (eg: "0.90")) – the version of the device’s md metadata
minor (int) – the device minor (obsolete?)
Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all partitionable is also considered to be partitionable.Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all disks is also treated like a disk.- property description¶
Return an attribute of instance, which is of type owner.
- property is_disk¶
Return an attribute of instance, which is of type owner.
- property mdadm_conf_entry¶
Return an attribute of instance, which is of type owner.
- property media_present¶
Return an attribute of instance, which is of type owner.
- property partitionable¶
Return an attribute of instance, which is of type owner.
- teardown(recursive=None)¶
Close, or tear down, a device.
- class blivet.devices.md.MDRaidArrayDevice(*args, **kwargs)¶
Bases:
ContainerDevice
,RaidDevice
An mdraid (Linux RAID) device.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattingsysfs_path (str) – sysfs device path
chunk_size (
Size
) – chunk size for the deviceuuid (str) – the device UUID
level (any valid RAID level descriptor) – the device’s RAID level
member_devices (int) – the number of active member devices
total_devices (int) – the total number of member devices
metadata_version (str (eg: "0.90")) – the version of the device’s md metadata
minor (int) – the device minor (obsolete?)
Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all partitionable is also considered to be partitionable.Note
An instance of this class whose
exists
attribute is True and whose parent/member devices are all disks is also treated like a disk.- property bootable¶
Return an attribute of instance, which is of type owner.
- property chunk_size¶
Return an attribute of instance, which is of type owner.
- property complete¶
An MDRaidArrayDevice is complete if it has at least as many component devices as its count of active devices.
- property create_bitmap¶
Whether or not a bitmap should be created on the array.
If the array is sufficiently small, a bitmap yields no benefit.
If the array has no redundancy, a bitmap is just pointless.
- property degraded¶
Return True if the array is running in degraded mode.
- property description¶
Return an attribute of instance, which is of type owner.
- property device_id¶
Return an attribute of instance, which is of type owner.
- property dict¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property format_args¶
Return an attribute of instance, which is of type owner.
- get_superblock_size(raw_array_size)¶
Estimate the superblock size for a member of an array, given the total available memory for this array and raid level.
- property is_disk¶
Return an attribute of instance, which is of type owner.
- property level¶
Return the raid level
- Returns:
raid level value
- Return type:
an object that represents a RAID level
- property mdadm_conf_entry¶
This array’s mdadm.conf entry.
- property mdadm_format_uuid¶
This array’s UUID, formatted for external use.
- Returns:
the array’s UUID in mdadm format, if available
- Return type:
str or NoneType
- property member_devices¶
number of member devices
- member_status(member)¶
- property members¶
Returns this array’s members.
- Return type:
list of
StorageDevice
- property model¶
Return an attribute of instance, which is of type owner.
- property partitionable¶
Return an attribute of instance, which is of type owner.
- populate_ksdata(data)¶
- pre_commit_fixup(current_fmt=False)¶
Determine create parameters for this set
- read_chunk_size()¶
- property sector_size¶
Return an attribute of instance, which is of type owner.
- property size¶
Returns the actual or estimated size depending on whether or not the array exists.
- property spares¶
Return an attribute of instance, which is of type owner.
- property status¶
This device’s status.
- For now, this should return a boolean:
True the device is open and ready for use False the device is not open
- teardown(recursive=None)¶
Close, or tear down, a device.
- property total_devices¶
Total number of devices in the array, including spares.
blivet.devices.network module¶
- class blivet.devices.network.NetworkStorageDevice(host_address=None, nic=None)¶
Bases:
object
Virtual base class for network backed storage devices
Note this class is only to be used as a baseclass and then only with multiple inheritance. The only correct use is: class MyStorageDevice(StorageDevice, NetworkStorageDevice):
The sole purpose of this class is to: 1) Be able to check if a StorageDevice is network backed
(using isinstance).
To be able to get the host address of the host (server) backing the storage or the NIC through which the storage is connected
blivet.devices.nfs module¶
- class blivet.devices.nfs.NFSDevice(*args, **kwargs)¶
Bases:
StorageDevice
,NetworkStorageDevice
An NFS device
- Parameters:
device (str) – the device name (generally a device node’s basename)
parents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
- create()¶
Create the device.
- destroy()¶
Destroy the device.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property path¶
Device node representing this device.
- setup(orig=False)¶
Open, or set up, a device.
- teardown(recursive=None)¶
Close, or tear down, a device.
- update_size(newsize=None)¶
Update size, current_size, and target_size to actual size.
:keyword
Size
newsize: new size for deviceNote
Most callers will not pass a new size. It is for special cases like outside resize of inactive LVs, which precludes updating the size from /sys.
- update_sysfs_path()¶
Update this device’s sysfs path.
blivet.devices.nodev module¶
- class blivet.devices.nodev.NoDevice(*args, **kwargs)¶
Bases:
StorageDevice
A nodev device for nodev filesystems like tmpfs.
- Parameters:
fmt (
DeviceFormat
or a subclass of it) – the device’s formatting
- create()¶
Create the device.
- destroy()¶
Destroy the device.
- property path¶
Device node representing this device.
- setup(orig=False)¶
Open, or set up, a device.
- teardown(recursive=False)¶
Close, or tear down, a device.
- update_size(newsize=None)¶
Update size, current_size, and target_size to actual size.
:keyword
Size
newsize: new size for deviceNote
Most callers will not pass a new size. It is for special cases like outside resize of inactive LVs, which precludes updating the size from /sys.
- update_sysfs_path()¶
Update this device’s sysfs path.
- class blivet.devices.nodev.TmpFSDevice(*args, **kwargs)¶
Bases:
NoDevice
A nodev device for a tmpfs filesystem.
Create a tmpfs device
- property fstab_spec¶
Return an attribute of instance, which is of type owner.
- populate_ksdata(data)¶
- property size¶
Return an attribute of instance, which is of type owner.
blivet.devices.optical module¶
- class blivet.devices.optical.OpticalDevice(*args, **kwargs)¶
Bases:
StorageDevice
An optical drive, eg: cdrom, dvd+r, &c.
XXX Is this useful?
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
major (int) – the device major
minor (int) – the device minor
serial (str) – the ID_SERIAL_SHORT for this device
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
- eject()¶
Eject the drawer.
- property media_present¶
Return a boolean indicating whether or not the device contains media.
blivet.devices.partition module¶
- class blivet.devices.partition.PartitionDevice(*args, **kwargs)¶
Bases:
StorageDevice
A disk partition.
On types and flags…
We don’t need to deal with numerical partition types at all. The only type we are concerned with is primary/logical/extended. Usage specification is accomplished through the use of flags, which we will set according to the partition’s format.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (:class:
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formatting
For existing partitions only:
- Parameters:
For non-existent partitions only:
- Parameters:
part_type (parted partition type constant) – parted type constant, eg:
parted.PARTITION_NORMAL
grow (bool) – whether or not to grow the partition
maxsize (
Size
) – max size for growable partitionsstart (long) – start sector (see note, below)
end (long) – end sector (see note, below)
bootable (bool) – whether the partition is bootable
weight (int or NoneType) – an initial sorting weight to assign
disk_tags (iterable) – (str) tags defining candidate disk set
part_type_uuid (uuid.UUID or NoneType) – GPT partition type UUID or None
mountpoint (str or NoneType) – where the partition’s format will be mounted
Note
If a start sector is specified the partition will not be adjusted for optimal alignment. That is up to the caller.
Note
You can only pass one of parents or disk_tags when instantiating a non-existent partition. If both disk set and disk tags are specified, the explicit disk set will be used.
Note
Multiple disk tags will be combined using the logical “or” operation.
- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- align_target_size(newsize)¶
Return newsize adjusted to allow for an end-aligned partition.
:param
Size
newsize: proposed/unaligned target size :raises _ped.CreateException: if the size extends beyond the end ofthe disk
- Returns:
newsize modified to yield an end-aligned partition
- Return type:
- property bootable¶
Return an attribute of instance, which is of type owner.
- check_size()¶
Check to make sure the size of the device is allowed by the format used.
Returns: 0 - ok 1 - Too large -1 - Too small
- default_size = Size (500 MiB)¶
- depends_on(dep)¶
Return True if this device depends on dep.
- property dict¶
Return an attribute of instance, which is of type owner.
- property direct¶
Is this device directly accessible?
- property disk¶
Return an attribute of instance, which is of type owner.
- flag_available(flag)¶
- property fstab_spec¶
Return an attribute of instance, which is of type owner.
- get_flag(flag)¶
- property is_extended¶
Return an attribute of instance, which is of type owner.
- property is_logical¶
Return an attribute of instance, which is of type owner.
- property is_magic¶
Return an attribute of instance, which is of type owner.
- property is_primary¶
Return an attribute of instance, which is of type owner.
- property is_protected¶
Return an attribute of instance, which is of type owner.
- property isleaf¶
True if no other device depends on this one.
- property max_size¶
The maximum size this partition can be.
- property min_size¶
Return an attribute of instance, which is of type owner.
- property part_type¶
Get the partition’s type (as parted constant).
- property part_type_name¶
Get the partition’s type as a human-readable string.
- property part_type_uuid¶
Get the partition’s type (as a UUID object).
- property part_type_uuid_req¶
Return an attribute of instance, which is of type owner.
- property parted_partition¶
Return an attribute of instance, which is of type owner.
- property path¶
Return an attribute of instance, which is of type owner.
- populate_ksdata(data)¶
- pre_commit_fixup(current_fmt=False)¶
Re-get self.parted_partition from the original disklabel.
- probe()¶
Probe for any missing information about this device.
size, partition type, flags
- property protected¶
Return an attribute of instance, which is of type owner.
- read_current_size()¶
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- property resizable¶
Return an attribute of instance, which is of type owner.
- resize()¶
Resize a device to self.target_size.
This method should only be invoked via the ActionResizeDevice.execute method. All the pre-conditions enforced by ActionResizeDevice.__init__ are assumed to hold.
Returns nothing.
- property sector_size¶
Return an attribute of instance, which is of type owner.
- set_flag(flag)¶
- unset_flag(flag)¶
- update_name()¶
- property weight¶
Return an attribute of instance, which is of type owner.
blivet.devices.raid module¶
- class blivet.devices.raid.RaidDevice(*args, **kwargs)¶
Bases:
StorageDevice
Metaclass for devices that support RAID in some form.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
major (int) – the device major
minor (int) – the device minor
serial (str) – the ID_SERIAL_SHORT for this device
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
- property members¶
A list of the member device instances
blivet.devices.storage module¶
- class blivet.devices.storage.StorageDevice(*args, **kwargs)¶
Bases:
Device
A generic storage device.
A fully qualified path to the device node can be obtained via the path attribute, although it is not guaranteed to be useful, or even present, unless the StorageDevice’s setup method has been run.
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
major (int) – the device major
minor (int) – the device minor
serial (str) – the ID_SERIAL_SHORT for this device
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- align_target_size(newsize)¶
Return a proposed target size adjusted for device specifics.
:param
Size
newsize: the proposed/unaligned target size :returns: newsize modified to yield an aligned device :rtype:Size
- check_size()¶
Check to make sure the size of the device is allowed by the format used.
Returns: 0 - ok 1 - Too large -1 - Too small
- config_actions_map = {'name': '_rename'}¶
- property controllable¶
Return an attribute of instance, which is of type owner.
- create()¶
Create the device.
- property current_size¶
The device’s actual size, generally the size discovered by using system tools. May use a cached value if the information is currently unavailable.
If the device does not exist, then the actual size is 0.
- destroy()¶
Destroy the device.
- property dict¶
Return an attribute of instance, which is of type owner.
- property direct¶
Is this device directly accessible?
- property disks¶
A list of all disks this device depends on, including itself.
- property encrypted¶
True if this device, or any it requires, is encrypted.
- property format¶
The device’s formatting.
- property format_args¶
Device-specific arguments to format creation program.
- property format_immutable¶
Is it possible to execute format actions on this device?
- property fstab_spec¶
Return an attribute of instance, which is of type owner.
- property growable¶
True if this device or its component devices are growable.
- property is_disk¶
Return an attribute of instance, which is of type owner.
- property is_empty¶
Return an attribute of instance, which is of type owner.
- is_name_valid(name)¶
Is the device name valid for the device type?
- property logical_block_size¶
Logical sector (block) size of this device
- property max_size¶
The maximum size this device can be.
- property media_present¶
True if this device contains usable media.
- property min_size¶
The minimum size this device can be.
- property model¶
Return an attribute of instance, which is of type owner.
- property packages¶
Return an attribute of instance, which is of type owner.
- property partitionable¶
Return an attribute of instance, which is of type owner.
- property partitioned¶
Return an attribute of instance, which is of type owner.
- property path¶
Device node representing this device.
- property physical_block_size¶
Physical sector (block) size of this device
- populate_ksdata(data)¶
- pre_commit_fixup(current_fmt=False)¶
Do any necessary pre-commit fixups.
- property protected¶
Return an attribute of instance, which is of type owner.
- property raw_device¶
The device itself, or when encrypted, the backing device.
- read_current_size()¶
- property readonly¶
Return an attribute of instance, which is of type owner.
- property removable¶
Return an attribute of instance, which is of type owner.
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- property resizable¶
Can this device be resized?
- resize()¶
Resize a device to self.target_size.
This method should only be invoked via the ActionResizeDevice.execute method. All the pre-conditions enforced by ActionResizeDevice.__init__ are assumed to hold.
Returns nothing.
- property sector_size¶
Logical sector (block) size of this device
- property serial¶
Return an attribute of instance, which is of type owner.
- setup(orig=False)¶
Open, or set up, a device.
- setup_parents(orig=False)¶
Run setup method of all parent devices.
- property size¶
The device’s size, accounting for pending changes
- property status¶
This device’s status.
- For now, this should return a boolean:
True the device is open and ready for use False the device is not open
- property target_size¶
Target size of this device
- teardown(recursive=None)¶
Close, or tear down, a device.
- update_size(newsize=None)¶
Update size, current_size, and target_size to actual size.
:keyword
Size
newsize: new size for deviceNote
Most callers will not pass a new size. It is for special cases like outside resize of inactive LVs, which precludes updating the size from /sys.
- update_sysfs_path()¶
Update this device’s sysfs path.
- property vendor¶
Return an attribute of instance, which is of type owner.
blivet.devices.stratis module¶
- class blivet.devices.stratis.StratisFilesystemDevice(*args, **kwargs)¶
Bases:
StorageDevice
A stratis pool device
- Parameters:
name (str) – the device name (generally a device node’s basename)
exists (bool) – does this device exist?
size (
Size
) – the device’s sizeparents (list of
StorageDevice
) – a list of parent devicesfmt (
DeviceFormat
or a subclass of it) – this device’s formattinguuid (str) – universally unique identifier (device – not fs)
sysfs_path (str) – sysfs device path
major (int) – the device major
minor (int) – the device minor
serial (str) – the ID_SERIAL_SHORT for this device
vendor (str) – the manufacturer of this Device
model (str) – manufacturer’s device model string
bus (str) – the interconnect this device uses
- property device_id¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property fsname¶
The Stratis filesystem name (not including pool name).
- property pool¶
Return an attribute of instance, which is of type owner.
- property used_size¶
Size used by this filesystem in the pool
- class blivet.devices.stratis.StratisPoolDevice(*args, **kwargs)¶
Bases:
ContainerDevice
A stratis pool device
- Encrypted:
whether this pool is encrypted or not
- Parameters:
- Type:
StratisClevisConfig
- add_hook(new=True)¶
Perform actions related to adding a device to the devicetree.
- Parameters:
new (bool) – whether this device is new to the devicetree
The only intended use case for new=False is when unhiding a device from the devicetree. Additional operations are performed when new is False that are normally performed as part of the device constructor.
- property blockdevs¶
A list of this pool block devices
- property device_id¶
Return an attribute of instance, which is of type owner.
- dracut_setup_args()¶
- property encrypted¶
True if this device is encrypted.
- property filesystems¶
A list of this pool block filesystems
- property free_space¶
Free space in the pool usable for new filesystems
- property has_key¶
Return an attribute of instance, which is of type owner.
- property key_file¶
Path to key file to be used in /etc/crypttab
- property passphrase¶
Return an attribute of instance, which is of type owner.
- remove_hook(modparent=True)¶
Perform actions related to removing a device from the devicetree.
- Parameters:
modparent (bool) – whether to account for removal in parents
Parents’ list of child devices is updated regardless of modparent. The intended use of modparent is to prevent doing things like removing a parted.Partition from the disk that contains it as part of msdos extended partition management. In general, you should not override the default value of modparent in new code.
- property size¶
The size of this pool