Comment 12 for bug 1759924

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

Reviewed: https://review.openstack.org/626407
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3e38d1cf16ca29948be499aa37e2494ffd001f12
Submitter: Zuul
Branch: stable/rocky

commit 3e38d1cf16ca29948be499aa37e2494ffd001f12
Author: Matt Riedemann <email address hidden>
Date: Mon Apr 9 16:12:19 2018 -0400

    Update port device_owner when unshelving

    When we shelve offload an instance, we unplug VIFs, delete
    the guest from the compute host, etc. The instance is still
    logically attached to its ports but they aren't connected
    on any host.

    When we unshelve an instance, it is scheduled and created
    on a potentially new host, in a potentially new availability
    zone. During unshelve, the compute manager will call the
    setup_instance_network_on_host() method to update the port
    host binding information for the new host, but was not
    updating the device_owner, which reflects the availability
    zone that the instance is in. Because of this, an instance
    can be created in az1, shelved, and then unshelved in az2
    but the port device_owner still says az1 even though the
    port host binding is for a compute host in az2.

    This change simply updates the port device_owner when
    updating the port binding host during unshelve.

    A TODO is left in the cleanup_instance_network_on_host()
    method which is called during shelve offload but is currently
    not implemented. We should unbind ports when shelve offloading,
    but that is a bit of a bigger change and left for a separate
    patch since it is not technically needed for this bug fix.

    Change-Id: Ibd1cbe0e9b5cf3ede542dbf62b1a7d503ba7ea06
    Closes-Bug: #1759924
    (cherry picked from commit 93802619adde69bf84d26d7231480abb4da07c91)