Comment 14 for bug 1797580

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

Reviewed: https://review.openstack.org/611945
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a29a3c9cb16ee0b42f125f8e9b047f22d05c47c4
Submitter: Zuul
Branch: stable/queens

commit a29a3c9cb16ee0b42f125f8e9b047f22d05c47c4
Author: Matt Riedemann <email address hidden>
Date: Fri Oct 12 12:03:41 2018 -0400

    Don't persist RequestSpec.requested_destination

    The RequestSpec.requested_destination, similar to the
    retry field, is per-request/operation, and persisting
    it can caues issues when subsequent move requests.

    For example, if you cold migrate a server to a specific
    host and then live migrate that server without specifying
    a host, the requested target host from the cold migrate
    is sent to the scheduler for the live migration, but since
    that is where the instance is already running, it's
    rejected with NoValidHost.

    This is a similar issue to the need to call
    RequestSpec.reset_forced_destinations() in all move operations
    in conductor. However, rather than try to whack this mole in
    every place the request spec is sent to the scheduler, like
    reset_forced_destinations() is used, we simply don't need to
    persist the requested_destination field since it's just a
    vehicle to tell the scheduler which host we want.

    The related functional regression test is updated to show
    the bug is now fixed.

    Conflicts:
          nova/objects/request_spec.py

    NOTE(mriedem): The conflict is due to not having change
    Icb295bbd8c83e2e340a7ac3ecc1f159e0db7c7b1 in Queens.

    Change-Id: I2a78f0754c63381c57e7e1c610d0938b6df0f537
    Closes-Bug: #1797580
    (cherry picked from commit ce3af5e33ae6843411e611e81c6ca1c21e0f1e09)
    (cherry picked from commit 954b2004a1daa43d4dff0694e6e5cdb9630a441b)