This was the reasoning behind these checks. Please let me know if I missed your point.
1. https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/pxe.py#L220-L229 This check is not required for iLO drivers. It was in place as UEFI bootloaders are not supporting chainloading.
2. https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/ilo/deploy.py#L338-L346 This is extension to the above check in pxe_ilo driver as iLO drivers compute the boot mode if it is not specified in the node instance_info and properties/capabilities.
3. https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/agent.py#L338-L341 The chainloading limitation does not apply to agent driver.
This was the reasoning behind these checks. Please let me know if I missed your point.
1. https:/ /github. com/openstack/ ironic/ blob/master/ ironic/ drivers/ modules/ pxe.py# L220-L229
This check is not required for iLO drivers. It was in place as UEFI bootloaders are not supporting chainloading.
2. https:/ /github. com/openstack/ ironic/ blob/master/ ironic/ drivers/ modules/ ilo/deploy. py#L338- L346 capabilities.
This is extension to the above check in pxe_ilo driver as iLO drivers compute the boot mode if it is not specified in the node instance_info and properties/
3. https:/ /github. com/openstack/ ironic/ blob/master/ ironic/ drivers/ modules/ agent.py# L338-L341
The chainloading limitation does not apply to agent driver.