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

Lucas Alvares Gomes lucasagomes at gmail.com
Wed Jun 16 08:39:36 UTC 2021


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
>
>
> Thanks,
>
> --
> David Ames
> OpenStack Charm Engineering
>



More information about the openstack-discuss mailing list