Comment 15 for bug 1879787

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

Reviewed: https://review.opendev.org/750674
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=703c8ef4e6d282ce26c3527ecbbe6dc3f47b363f
Submitter: Zuul
Branch: stable/stein

commit 703c8ef4e6d282ce26c3527ecbbe6dc3f47b363f
Author: Artom Lifshitz <email address hidden>
Date: Fri Aug 21 13:06:58 2020 -0400

    post live migration: don't call Neutron needlessly

    In bug 1879787, the call to network_api.get_instance_nw_info() in
    _post_live_migration() on the source compute manager eventually calls
    out to the Neutron REST API. If this fails, the exception is
    unhandled, and the migrating instance - which is fully running on the
    destination at this point - will never be updated in the database.
    This update normally happens later in
    post_live_migration_at_destination().

    The network_info variable obtained from get_instance_nw_info() is used
    for two things: notifications - which aren't critical - and unplugging
    the instance's vifs on the source - which is very important!

    It turns out that at the time of the get_instance_nw_info() call, the
    network info in the instance info cache is still valid for unplugging
    the source vifs. The port bindings on the destination are only
    activated by the network_api.migrate_instance_start() [1] call that
    happens shortly *after* the problematic get_instance_nw_info() call.
    In other words, get_instance_nw_info() will always return the source
    ports. Because of that, we can replace it with a call to
    instance.get_network_info().

    [1] https://opendev.org/openstack/nova/src/commit/d9e04c4ff0b1a9c3383f1848dc846e93030d83cb/nova/network/neutronv2/api.py#L2493-L2522

    Change-Id: If0fbae33ce2af198188c91638afef939256c2556
    Closes-bug: 1879787
    (cherry picked from commit 6488a5dfb293831a448596e2084f484dd0bfa916)
    (cherry picked from commit 2c949cb3eea9cd9282060da12d32771582953aa2)
    (cherry picked from commit 7ace26e4bcd69a0a3d780cfae9f6745e4177b6c2)