![Sean Mooney](/assets/img/avatar_default.png)
This patch add a new configuration option to use per port bridge when hybrid_plug is false. This can be used with OVN to reduce packet loss during a live migration. OVN can only install openflow rules when a port both has external_ids set and an ofport-id assigned. Since the ofport-id is only assigned when a netdev matching the port name exists connected to the dataplane, OVN cannot install the flows until libvirt create the tap on the destination host during a live migration. On loaded systems this can result in multiple seconds of packet loss. To address this we introduce per port bridges which are connencted to the integration brige by a patch port pair. Since the patch port will exist on the dataplane during pre live migration OVN can install the flows on the integration bridge before we begin the migration reducing or avoiding packet loss. Change-Id: I0d55ccbef5b585330b5512e67e442b80304a2e73 Depends-On: https://review.opendev.org/c/openstack/nova/+/797428 Closes-Bug: #1933517
26 lines
1.6 KiB
YAML
26 lines
1.6 KiB
YAML
---
|
|
fixes:
|
|
- |
|
|
The os-vif OVS plugin now supports using per-port OVS bridges when hybrid plug
|
|
is not used. This is disabled by default and can be enabled by defining
|
|
``[os_vif_ovs]/per_port_bridge=True`` in the compute service nova.conf.
|
|
This capability should only be enabled if you are deploying with ml2/ovn
|
|
and experience packet loss during live migrations. This is not supported
|
|
on windows or when using ironic smartnic ports. This option was introduced
|
|
to address bug: #1933517. When using OVN as a network backend OVN
|
|
requires the OVS interface to both have an ofport-id and the neutron port
|
|
uuid defined in the external_ids field. When the port is plugged if
|
|
``[os_vif_ovs]/per_port_bridge`` is not enabled then the OVS port will not
|
|
be assigned an openflow port id until the tap device is created on the host.
|
|
On loaded system with many flows and ports it can take a few second for OVN
|
|
to detect the creation of the tap device and install the correct flows.
|
|
During that interval packets can be dropped.
|
|
When ``[os_vif_ovs]/per_port_bridge`` is enabled, os-vif will add the VM tap
|
|
device to a new bridge that is connected to the integration bridge via a
|
|
patch port. This enables OVN to install the openflow rules on the
|
|
integration bridge before the tap is created reducing the possibility for
|
|
packet loss during a live migration. By default per port bridges are disabled
|
|
and this feature is considered experimental, however it will likely be enabled
|
|
by default in the future after we gain experience with how this bridge topology
|
|
scales in larger deployments.
|