libvirt: Add Support for live migration with neutron sriov vnic types

Registered by sean mooney

This blueprint aims to address a parity gap between instance booted with vnic type normal and an sriov vnic type
by adding support for sriov live migration.

live migration with sriov devices has some limitations.
when the neutron vnic type is macvtap live migration is supported
by qemu nativly as the macvtap layer hids the hardware from the guest
meaning no hardware state has to be migrated.

when using a direct mode (or direct physical) vnic type
the vf is directly attached to the guest. in this mode it is
not possible for qemu to copy the device state.
to address this gap this blueprint suggests using the
the same mechanisium we used to suspend to disk.

on live migration all sriov port in direct mode will be detached
from the guest and reattached on the destination node.
if this is combined with a bond in the guest between the
direct mode port and a macvtap port connectivity will not be lost
but the performace will be reduced to that of macvtap sriov for the duration.

Blueprint information

Jay Pipes
sean mooney
sean mooney
Series goal:
Accepted for train
Milestone target:
milestone icon train-1
Started by
melanie witt
Completed by
sean mooney

Related branches



Gerrit topic:,topic:bp/libvirt-neutron-sriov-livemigration,n,z

Addressed by:
    Add spec for sriov live migration

Addressed by:
    propagate vnic_type and profile on create port bindings

Addressed by:
    [DNM] stub out sriov live migration

Addressed by:
    add get_pci_requests_from_vifs to

Addressed by:
    Add free for claimed, allocated devices

Addressed by:
    Add get_instance_pci_request_from_vif

Addressed by:
    SR-IOV Live migration indirect port support

Addressed by:
    [WIP] libvirt: auto detach/attach sriov ports on migration

Spec has merged, approved for Stein. -- melwitt 20190110

Addressed by:
    Libvirt: do not set mac when unplugging macvtap vf

This did not complete in the Stein release so I am deferring to the Train release. Remember to re-propose the spec for Train as necessary: -- mriedem 20190311

Addressed by:
    forward port sriov live migration spec to train

efried 20190326: reapproving for train

Gerrit topic:

Gerrit topic:

Addressed by:
    SR-IOV Live migration indirect port support

Addressed by:
    libvirt: auto detach/attach sriov ports on migration

Addressed by:
    Cleanup reno live-migration-with-PCI-device


Work Items

This blueprint contains Public information 
Everyone can see this information.


No subscribers.