Files
nova/releasenotes/notes/support-osvif-tap-creation-2069718-abc123.yaml
T
Sean Mooney 264e868d49 Support os-vif TAP pre-creation for OVS/OVN ports
Add support for os-vif TAP device pre-creation when Neutron sets
the 'ovs_create_tap' flag in vif_details. This reduces live
migration downtime by ensuring the network is fully wired before
the VM starts.

Changes:
- Add VIF_DETAILS_OVS_CREATE_TAP constant to model.py
- Propagate create_tap from binding details to os-vif port profile
  in os_vif_util.py
- Set managed='no' in libvirt XML when create_tap is enabled so
  libvirt uses the pre-created TAP device
- Set multiqueue on port profile in _plug_os_vif based on instance
  flavor/image hw:vif_multiqueue_enabled property

When checking oslo.versionedobjects fields for backward compat:
- Use 'field in obj.fields' to check if field exists in schema
- Use 'field in obj' to check if field value is set

Depends-On: https://review.opendev.org/c/openstack/os-vif/+/971231
Generated-By: Cursor claude-opus-4.5
Closes-Bug: #2069718
Change-Id:  I32343658b53e317696d1bd8b984793bfeeccd409
Signed-off-by: Sean Mooney <work@seanmooney.info>
2026-02-05 18:55:06 +00:00

16 lines
771 B
YAML

---
fixes:
- |
Updated nova to support os-vif TAP device pre-creation for OVN ports.
When Neutron sets ``ovs_create_tap`` in vif_details (enabled via
the ``[ovn]/ovs_create_tap`` config option in the ML2 driver config),
Nova propagates this to os-vif which creates the TAP
device before libvirt starts the VM. Nova then configures libvirt with
``managed="no"`` so it uses the pre-created TAP device instead of creating
a new one. This allows nova via os-vif to pre create the tap device in
pre live migration allowing ovn to install openflow rules before nova
starts the live migration. This reduces network connectivity downtime
when ovn is overloaded.
See `bug 2069718 <https://bugs.launchpad.net/neutron/+bug/2069718>`_.