ironic-python-agent/ironic_python_agent
Julia Kreger 9783992341 Prevent broken partition image UEFI deploys
Partition images can sometimes contain a /boot folder structure
event he assets for EFI booting on that filesystem. Which is a
good thing. The conundrum is that Ironic does not handle this
properly and potentially replaces the bootloader in this sequence
such that grub2-install is used instead of signed bootloader assets.

As such, we should be preserving the assets and using them from
a partition image much like we do when we have a wholedisk
image and can identify the assets.

Now we will preserve the EFI boot assets, copy them to the new EFI
boot partition, and call the EFI setup methods to manage the EFI
nvram.

Note, this change also splits the logic path out that performs the
end call of the EFI boot manager into a reusable method but does
not retool all of the testing as it is intertwined in the
install_grub2 testing.

Also adds some additional debug logging, as much of the bootloader
installation code has multiple fallback/cleanup points which makes
it difficult to debug from logs.

Story: 2008070
Task: 40753
Change-Id: If17d4b4c06df5504987e61a1fde6662e9acd6989
(cherry picked from commit f9870d5812)
2021-03-23 15:14:27 +13:00
..
api Make WSGI server respect listen_* directives 2020-09-02 21:52:27 +00:00
cmd Agent token support 2020-03-12 10:35:17 -07:00
extensions Prevent broken partition image UEFI deploys 2021-03-23 15:14:27 +13:00
hardware_managers Fix: make Intel CNA hardware manager none generic 2020-09-23 15:00:32 +00:00
shell Clear GPT and MBR headers with dd to avoid sgdisk CRC errors 2018-08-08 16:40:22 +00:00
tests Prevent broken partition image UEFI deploys 2021-03-23 15:14:27 +13:00
__init__.py set EVENTLET_NO_GREENDNS to 'yes' 2020-08-01 08:37:48 +00:00
agent.py Prevent un-needed iscsi cleanup 2020-07-28 07:23:46 +00:00
config.py Option to enable bootloader config failure bypass 2021-03-23 15:14:17 +13:00
dmi_inspector.py Collect processor, memory and BIOS output of dmidecode - follow-up 2017-07-27 07:30:54 -07:00
encoding.py Fix serializing ironic-lib exceptions 2020-07-06 16:50:34 +00:00
errors.py Add an ability to run in-band deploy steps 2020-04-06 10:24:08 +02:00
hardware.py Software RAID: Get component devices by md UUID 2021-02-27 05:20:51 +00:00
inspect.py Add jitter to inspection command reporting 2020-03-31 08:13:13 -07:00
inspector.py Limit Inspection->Lookup->Heartbeat lag 2020-07-06 20:20:58 +02:00
ironic_api_client.py Fix TypeError on agent lookup failure 2020-08-07 22:29:49 +00:00
netutils.py Get the hostname of the introspected host 2019-06-12 13:00:21 +00:00
numa_inspector.py Skip nic numa_node discovery if it's not assigned to a numa_node 2020-01-17 11:15:35 +01:00
raid_utils.py Increase the ESP partition size to 550 MiB when using software RAID 2020-07-03 08:57:23 +00:00
utils.py Fix confusing logging when running asynchronous commands 2020-06-29 15:53:32 -07:00
version.py Add sphinx build + basic documentation 2015-03-31 16:22:12 -07:00