[ironic][ovn] Ironic with OVN as the SDN

David Ames david.ames at canonical.com
Wed Jun 16 14:45:14 UTC 2021


Lucas,

On Wed, Jun 16, 2021 at 1:40 AM Lucas Alvares Gomes
<lucasagomes at gmail.com> wrote:
>
> Hi,
>
> On Tue, Jun 15, 2021 at 11:21 PM David Ames <david.ames at 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/2476911b853518092e023767663a69a7191a8fb7)
>
> 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/96080083581275afaec8bc281d6a648aff7ef39e)
> 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



More information about the openstack-discuss mailing list