ironic_python_agent.efi_utils module¶
-
ironic_python_agent.efi_utils.
add_boot_record
(device, efi_partition, loader, label)[source]¶ Add an EFI boot record with efibootmgr.
- Parameters
device – the device to be used
efi_partition – the number of the EFI partition on the device
loader – path to the EFI boot loader
label – the record label
-
ironic_python_agent.efi_utils.
clean_boot_records
(patterns)[source]¶ Remove EFI boot records matching regex patterns.
- Parameters
match_patterns – A list of string regular expression patterns where any matching entry will be deleted.
-
ironic_python_agent.efi_utils.
get_boot_records
()[source]¶ Executes efibootmgr and returns boot records.
- Returns
An iterator yielding tuples (boot number, boot record, root device type, device path).
-
ironic_python_agent.efi_utils.
get_partition_path_by_number
(device, part_num)[source]¶ Get partition path (/dev/something) by a partition number on device.
Only works for GPT partition table.
-
ironic_python_agent.efi_utils.
manage_uefi
(device, efi_system_part_uuid=None)[source]¶ Manage the device looking for valid efi bootloaders to update the nvram.
This method checks for valid efi bootloaders in the device, if they exist it updates the nvram using the efibootmgr.
- Parameters
device – the device to be checked.
efi_system_part_uuid – efi partition uuid.
- Raises
DeviceNotFound if the efi partition cannot be found.
- Returns
True - if it founds any efi bootloader and the nvram was updated using the efibootmgr. False - if no efi bootloader is found.