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.