Bug 1622154
| Summary: | [RFE] Baremetal provisioning with OVN (without Neutron DHCP agent) for IPv4 | |||
|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Lucas Alvares Gomes <lmartins> | |
| Component: | openstack-neutron | Assignee: | Lucas Alvares Gomes <lmartins> | |
| Status: | CLOSED MIGRATED | QA Contact: | Eran Kuris <ekuris> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | medium | |||
| Version: | 18.0 (Zed) | CC: | apevec, asimonel, bcafarel, bfournie, chris.smart, chrisw, dalvarez, dhill, dsneddon, ihrachys, imatza, jamsmith, jschluet, lhh, majopela, mburrows, mdemaced, mmethot, nusiddiq, racedoro, sclewis, scohen, tfreger, ushkalim | |
| Target Milestone: | beta | Keywords: | FutureFeature, Triaged, ZStream | |
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | openstack-neutron-22.1.1-18.0.20231206121644.5fd71ac.el9ost | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2098625 2118688 2120988 (view as bug list) | Environment: | ||
| Last Closed: | 2024-01-08 11:32:54 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 1666673 | |||
| Bug Blocks: | 2098625, 2118688, 2120988 | |||
Assigning this to Lucas for Triaging of the networking-ovn side. We'll depend on BZ 1666673 to be able to implement this RFE. The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days |
Description of problem: We still need some bits and pieces in place in order to deploy baremetal machines with OVN, more specifically to be able to PXE boot the baremetal nodes using the OVN's built-in DHCP server [0]. Here are the missing parts off the top of my head: 1. Be able to serve DHCP for an external/provider network. 2. Per port DHCP options In core OVN this should be already supported via the "dhcpv{4,6}_options" columns in the "Logical_Switch_Port table" from OVN Northbound db. For networking-ovn ML2 driver we will need to implement the API to handle the update_dhcp_port() call and populate OVN accordingly. 3. Tags and conditional DHCP server We should allow the creation of "tags" that matches certain DHCP options. That way Ironic can instruct the DHCP server to return different values based on whether a certain tag is set or not [1]. 4. (Not required, but a nice-to-have) Support for Ironic inspector Currently Ironic Inspector has it's own DHCP server because the Neutron DHCP agent only supports updating the DHCP options related to ports that already exists in Neutron. The idea here would be to have some global Options which can which can instruct the nodes to boot a default ramdisk (the inspector ramdisk) if the MAC address in the DHCP request packet doesn't match any ports in Neutron/OVN. [0] Some Ironic drivers may not rely on PXE boot (e.g if the driver supports virtual media), but, PXE booting is pretty standard and broadly used when it comes to deploying baremetal nodes so can't be discarded. [1] https://github.com/openstack/ironic/blob/756ac8fbcb5095b459c5ea55a53ee4c2c24bff58/ironic/common/pxe_utils.py#L365-L370 Actual results: Baremetal machines not able to be deployed (via PXE booting) when using ml2/networking-ovn. Expected results: Baremetal machines being deployed (via PXE booting) when using ml2/networking-ovn. Additional info: 1. As a temporary measure it may be possible to use Neutron's DHCP server to handle the baremetal provisioning for OVN. Similar as to how we also use it for SRIOV. 2. I'm using PXE booting as a generic term for standard PXE and iPXE as well.