[RFE] Support OVN vtep ports

Bug #2034953 reported by Austin Cormier
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ironic
In Progress
Wishlist
Boushra Sondos Bettir

Bug Description

OVN has a special vtep port type which is used by OVN to configure top-of-rack switches. When a vtep port is added to an OVN logical switch, the ovn_controller_vtep daemon configures the switch via OVSDB to bind a physical port to a logical switch (tenant network).

Neutron already has support for this VTEP port type
 by specifying the "vtep-logical-switch" and "vtep-physical-switch" parameters int he port binding profile: https://github.com/openstack/neutron/blob/8cba9a2ee86cb3b65645674ef315c14cfb261143/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#L327

This RFE proposes that we add these two additional fields to the local_link_connection schema for a baremetal port. For the neutron interface, these fields will be passed through to neutron.

We have completed a PoC of this workflow and the end result is the ability for baremetal ports to be bound to tenant networks (even vxlan) without requiring any custom ML2 development. In addition, the movement of the baremetal port across the provisioning/cleaning/tenant network is handled gracefully.

Tags: rfe-approved
Revision history for this message
Austin Cormier (acormier86) wrote :

In case it's not clear I plan on working on and submitting a bug against this RFE if the proposal is accepted.

Revision history for this message
Austin Cormier (acormier86) wrote :

Unfortunately after continued investigations, the HW VTEP switch we are using does not support ingress replication. This means BUM traffic is dropped which defeats the use-case we were driving towards. We plan on attempting to use VLAN tenant networks to solve a similar use-case (with generic-switch integration)

Revision history for this message
Julia Kreger (juliaashleykreger) wrote :

This sounds all sorts of awesome, even if your switch didn't support ingress replication. If you have any proof of concept patches you would like to submit, I suspect one of us might be willing to push it the rest of the way since your having to pivot.

Changed in ironic:
importance: Undecided → Wishlist
status: New → Triaged
tags: added: rfe-approved
Revision history for this message
Austin Cormier (acormier86) wrote :

On further investigation, OVN should handle replicating packets from one of the other nodes (see set-replication-mode here: http://www.openvswitch.org/support/dist-docs/vtep-ctl.8.txt). I am continuing investigation here.

What is needed as far as spec's go if we continue on this path?

Revision history for this message
Jay Faulkner (jason-oldos) wrote :

We accepted it in the last Ironic meeting as a specless RFE; it seems trivial.

I have an incoming junior engineer who could use this as an onboarding task; I was going to have them implement this.

Revision history for this message
Austin Cormier (acormier86) wrote :
Revision history for this message
Austin Cormier (acormier86) wrote :

Unfortunately our switch limitation will prevent us from taking this route. Attached a diff of the solution thus far. Using the OVS VTEP emulator should work.

I used the following guide to set up the emulator: https://macauleycheng.gitbooks.io/ovn/content/examplewith-vtep.html

If the junior engineer needs any help he can reach out: <email address hidden>

Changed in ironic:
assignee: nobody → Boushra Sondos Bettir (boushrabettir04)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic-python-agent (master)
Changed in ironic:
status: Triaged → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.