Comment 0 for bug 1711710

Revision history for this message
Pavlo Shchelokovskyy (pshchelo) wrote :

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 in ironic, and always simply set the feature tag 175, letting any backend deal with it as they might see fit.

[0] http://git.openstack.org/cgit/openstack/ironic/tree/ironic/common/pxe_utils.py#n317