[ironic][ovn] Ironic with OVN as the SDN
I am looking for a summary of the support or lack thereof for Ironic and OVN. Missing OVN features are explained in [0] and [1]. This bug [2] seems to imply one can run a Neutron OVS DHCP agent alongside OVN. Can I get definitive answers to the following questions: Is it possible to run neutron-dhcp-agent alongside OVN to handle the iPXE boot process? If so, is there documentation anywhere? What is the roadmap/projected timeline for OVN to support Ironic? [0] https://docs.openstack.org/neutron/latest/ovn/gaps.html [1] https://bugzilla.redhat.com/show_bug.cgi?id=1622154 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1620943 Thanks, -- David Ames OpenStack Charm Engineering
Hi David, LSP port with type 'external' is a way to go. Take a look at this bug, especially at comment#6: https://bugzilla.redhat.com/show_bug.cgi?id=1666673 AFAIK there is no support of switching networks (provision, tenant, etc) for a BM server. On 16.06.2021 00:18, David Ames wrote:
I am looking for a summary of the support or lack thereof for Ironic and OVN. Missing OVN features are explained in [0] and [1]. This bug [2] seems to imply one can run a Neutron OVS DHCP agent alongside OVN.
Can I get definitive answers to the following questions:
Is it possible to run neutron-dhcp-agent alongside OVN to handle the iPXE boot process? If so, is there documentation anywhere?
What is the roadmap/projected timeline for OVN to support Ironic?
[0] https://docs.openstack.org/neutron/latest/ovn/gaps.html [1] https://bugzilla.redhat.com/show_bug.cgi?id=1622154 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1620943
Thanks,
Hi, On Tue, Jun 15, 2021 at 11:21 PM David Ames <david.ames@canonical.com> wrote:
I am looking for a summary of the support or lack thereof for Ironic and OVN. Missing OVN features are explained in [0] and [1]. This bug [2] seems to imply one can run a Neutron OVS DHCP agent alongside OVN.
Can I get definitive answers to the following questions:
Is it possible to run neutron-dhcp-agent alongside OVN to handle the iPXE boot process? If so, is there documentation anywhere?
It's not documented nor tested anywhere upstream AFAIK. That said, it should be possible to deploy the Neutron DHCP agent on the controller nodes and that will take care of the PXE/iPXE boot process for the baremetal nodes. It would be great if someone actually gave this a go and documented their experience, we could even think of a job in the gate exercising this scenario I think.
What is the roadmap/projected timeline for OVN to support Ironic?
Core OVN already started landing some of the missing bits for the OVN DHCP server to start supporting this scenario (for example: https://github.com/ovn-org/ovn/commit/2476911b853518092e023767663a69a7191a8f...) We also need a few changes in the ML2/OVN Neutron driver, such as: 1) Ironic uses a dnsmasq syntax for setting the DHCP options in Neutron (e.g !ipxe,bootfile-name=...) this is not understood by ML2/OVN yet, so we need to work on that. 2) The OVN built-in DHCP server is distributed and it runs on the compute nodes and fulfills the DHCP request for the VMs running on that local hypervisor, for baremetal things are a bit different. Fortunately, OVN has support for something called "external" ports (see: https://github.com/ovn-org/ovn/commit/96080083581275afaec8bc281d6a648aff7ef3...) which I believe we can use for the baremetal case. For example, if the VNIC of the port created is VNIC_BAREMETAL we can create an external port for it in ML2/OVN. That's how we support SR-IOV in ML2/OVN too. We have most of the bits and pieces in place already and I hope I can start working on supporting baremetal nodes natively in ML2/OVN soon too. But for now, the only way to achieve it is by using the Neutron DHCP agent as discussed before. Cheers, Lucas
[0] https://docs.openstack.org/neutron/latest/ovn/gaps.html [1] https://bugzilla.redhat.com/show_bug.cgi?id=1622154 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1620943
Thanks,
-- David Ames OpenStack Charm Engineering
Lucas, On Wed, Jun 16, 2021 at 1:40 AM Lucas Alvares Gomes <lucasagomes@gmail.com> wrote:
Hi,
On Tue, Jun 15, 2021 at 11:21 PM David Ames <david.ames@canonical.com> wrote:
I am looking for a summary of the support or lack thereof for Ironic and OVN. Missing OVN features are explained in [0] and [1]. This bug [2] seems to imply one can run a Neutron OVS DHCP agent alongside OVN.
Can I get definitive answers to the following questions:
Is it possible to run neutron-dhcp-agent alongside OVN to handle the iPXE boot process? If so, is there documentation anywhere?
It's not documented nor tested anywhere upstream AFAIK. That said, it should be possible to deploy the Neutron DHCP agent on the controller nodes and that will take care of the PXE/iPXE boot process for the baremetal nodes. It would be great if someone actually gave this a go and documented their experience, we could even think of a job in the gate exercising this scenario I think.
What is the roadmap/projected timeline for OVN to support Ironic?
Core OVN already started landing some of the missing bits for the OVN DHCP server to start supporting this scenario (for example: https://github.com/ovn-org/ovn/commit/2476911b853518092e023767663a69a7191a8f...)
We also need a few changes in the ML2/OVN Neutron driver, such as:
1) Ironic uses a dnsmasq syntax for setting the DHCP options in Neutron (e.g !ipxe,bootfile-name=...) this is not understood by ML2/OVN yet, so we need to work on that.
2) The OVN built-in DHCP server is distributed and it runs on the compute nodes and fulfills the DHCP request for the VMs running on that local hypervisor, for baremetal things are a bit different. Fortunately, OVN has support for something called "external" ports (see: https://github.com/ovn-org/ovn/commit/96080083581275afaec8bc281d6a648aff7ef3...) which I believe we can use for the baremetal case. For example, if the VNIC of the port created is VNIC_BAREMETAL we can create an external port for it in ML2/OVN. That's how we support SR-IOV in ML2/OVN too.
We have most of the bits and pieces in place already and I hope I can start working on supporting baremetal nodes natively in ML2/OVN soon too. But for now, the only way to achieve it is by using the Neutron DHCP agent as discussed before.
Cheers, Lucas
[0] https://docs.openstack.org/neutron/latest/ovn/gaps.html [1] https://bugzilla.redhat.com/show_bug.cgi?id=1622154 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1620943
Thank you, this is exactly what I was looking for. Glad to hear it is on the road map and in progress. I will spend some time attempting to get neutron-dhcp-agent working with Ironic and OVN and I will be sure to document that process if successful. Thanks again, -- David Ames OpenStack Charm Engineering
participants (3)
-
David Ames
-
Lucas Alvares Gomes
-
Piotr Misiak