As the size of our deploy ramdisk would continue to increase (Ironic
Python Agent) we need a more reliable way to transfer such data via
the network without relying on TFTP. The problem with TFTP is that it's
unreliable and any transmission error will result consequently in boot
problems. This patch adds support for iPXE so that we have the ability
to transfer data through HTTP which is a reliable protocol.
New configuration options added to the 'pxe' group:
- ipxe_enabled: Whether iPXE is enabled or not
- ipxe_boot_script: The path to the main iPXE script file
- http_url: The HTTP server URL
- http_root: The HTTP root path
Two functions from pxe.py were renamed because they are not related only
to tftp anymore:
- _get_tftp_image_info renamed to _get_image_info
- _cache_tftp_images renamed to _cache_ramdisk_kernel (because that's
what this function is about, it fetchs the kernels and ramdisks associated
with the image, not the image itself)
Implements: blueprint ipxe-boot
Change-Id: I8dc7640a19374a9c4d687877ea6c0ff1ebc13979