iPXE in ironic is implicitly bound to DHCP backed of neutron
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Opinion
|
Wishlist
|
Pavlo Shchelokovskyy |
Bug Description
When setting DHCP options for ports in case of iPXE, ironic sets those in a format suitable for dnsmasq [0] when dhcp provider is set to 'neutron'.
By doing so ironic implicitly depends on the actual DHCP backed of neutron, that might be other than dnsmasq.
In particular, we have run into problems with OpenContrail + networking-contrail core neutron plugin. OpenContrail does not understand (and seems can not be configured to understand) the 'ipxe' tag that ironic sets to be consumed by dnsmasq, which leads to iPXE boot failure. The problem can be solved by making a copy of 'neutron' entrypoint and naming it something else, so that a different code path is taken, but that's clearly a hack, as ironic is still talking to Neutron (which in this case is just a proxy for OpenContrail SDN).
We should not differentiate between 'neutron' or not-'neutron' dhcp providers for iPXE in ironic, and always simply set the feature tag 175, letting any backend deal with it as they might see fit.
[0] http://
Changed in ironic: | |
assignee: | nobody → Pavlo Shchelokovskyy (pshchelo) |
status: | New → In Progress |
description: | updated |
Changed in ironic: | |
importance: | Undecided → High |
Just to note, even when fixed, ironic+ neutron+ contrail will still have a problem of PXE->iPXE chainloading not working, but at least pure iPXE starts to work.