Comment 0 for bug 1582964

Revision history for this message
Yibo Cai (cyb70289) wrote : To support multi arch deployment

Depending on BIOS or UEFI node property, Ironic selects boot file based on "pxe_bootfile_name" and "uefi_pxe_bootfile_name" items in /etc/ironic/ironic.conf. For each item, only one value can be set. For example, "uefi_pxe_bootfile_name = bootx64.efi" to deploy x86_64 machines.

To deploy other architecture, say AArch64, we have to change the setting to something like "uefi_pxe_bootfile_name = grubaa64.efi". After that, this Ironic node can only deploy AArch64 machines, not x86_64.

Some bare metal provisioning tools, like MaaS, support multi arch deployment by one server. I wonder if Ironic could also support it.

Preliminary idea:
- Combine "pxe_bootfile_name" and "uefi_bootfile_name" to "bootfile_names".
  bootfile_names = "default:filename1" "arch1:filename2" "arch2:filename3"
- When deploying a node, find correct bootfile_name based on "cpu_arch" and "boot_mode" properties, then generate correct DNSMasq opts file.