Comment 24 for bug 1830747

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

Reviewed: https://review.opendev.org/662578
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a0a187c9bb9bef149e193027a6eedc09ba10ce1f
Submitter: Zuul
Branch: stable/rocky

commit a0a187c9bb9bef149e193027a6eedc09ba10ce1f
Author: Matt Riedemann <email address hidden>
Date: Tue May 28 13:59:20 2019 -0400

    Add regression recreate test for bug 1830747

    Before change I4244f7dd8fe74565180f73684678027067b4506e in Stein, when
    a cold migration would reschedule to conductor it would not send the
    RequestSpec, only the filter_properties. The filter_properties contain
    a primitive version of the instance group information from the RequestSpec
    for things like the group members, hosts and policies, but not the uuid.
    When conductor is trying to reschedule the cold migration without a
    RequestSpec, it builds a RequestSpec from the components it has, like the
    filter_properties. This results in a RequestSpec with an instance_group
    field set but with no uuid field in the RequestSpec.instance_group.
    That RequestSpec gets persisted and then because of change
    Ie70c77db753711e1449e99534d3b83669871943f, later attempts to load the
    RequestSpec from the database will fail because of the missing
    RequestSpec.instance_group.uuid.

    The test added here recreates the pre-Stein scenario which could still
    be a problem (on master) for any corrupted RequestSpecs for older
    instances.

    NOTE(mriedem): The ComputeTaskAPI.resize_instance stub is removed
    in this backport because it is not needed before Stein. Also, the
    PlacementFixture is in-tree before Stein so that is updated here.

    Change-Id: I05700c97f756edb7470be7273d5c9c3d76d63e29
    Related-Bug: #1830747
    (cherry picked from commit c96c7c5e13bde39944a9dde7da7fe418b311ca2d)
    (cherry picked from commit 8478a754802e29dffbb65ef363ee189162f0adea)