Comment 9 for bug 1658877

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/424428
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=4cd32645fb26d39a900433c4c1dfecaac1767522
Submitter: Jenkins
Branch: master

commit 4cd32645fb26d39a900433c4c1dfecaac1767522
Author: Huan Xie <email address hidden>
Date: Sun Jan 22 03:08:40 2017 -0800

    Fix live migrate with XenServer

    Live migration with XenServer as hypervisor failed with xapi
    errors "VIF_NOT_IN_MAP". There are two reasons for this
    problem:

    (1) Before XS7.0, it supports VM live migration without
    setting vif_ref and network_ref explicitly if the destination
    host has same network, but since XS7.0, it doesn't support
    this way, we must give vif_ref and network_ref mapping.

    (2) In nova, XenServer has introduced interim network for
    fixing ovs updating wrong port in neutron, see bug 1268955
    and also interim network can assist support neutron security
    group (linux bridge) as we cannot make VIF connected to
    linux bridge directly via XAPI

    To achieve this, we will add {src_vif_ref: dest_network_ref}
    mapping information, in pre_live_migration, we first create
    interim network in destination host and store
    {neutron_vif_uuid: dest_network_ref} in migrate_data, then in
    source host, before live_migration, we will calculate the
    {src_vif_ref: dest_network_ref} and set it as parameters to
    xapi when calling VM.migrate_send. Also, we will handle the
    case where the destination host is running older code that
    doesn't have this new src_vif_ref mapping, like live migrating
    from an Ocata compute node to a Newton compute node.

    Closes-bug: 1658877

    Change-Id: If0fb5d764011521916fbbe15224f524a220052f3