Comment 30 for bug 1804502

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

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

commit f08d0ccf844e127f693cfc5498a205b13c873833
Author: Sean Mooney <email address hidden>
Date: Mon Oct 21 16:17:17 2019 +0000

    Disable NUMATopologyFilter on rebuild

    This change leverages the new NUMA constraint checking added in
    in I0322d872bdff68936033a6f5a54e8296a6fb3434 to allow the
    NUMATopologyFilter to be skipped on rebuild.

    As the new behavior of rebuild enfroces that no changes
    to the numa constraints are allowed on rebuild we no longer
    need to execute the NUMATopologyFilter. Previously
    the NUMATopologyFilter would process the rebuild request
    as if it was a request to spawn a new instnace as the
    numa_fit_instance_to_host function is not rebuild aware.

    As such prior to this change a rebuild would only succeed
    if a host had enough additional capacity for a second instance
    on the same host meeting the requirement of the new image and
    existing flavor. This behavior was incorrect on two counts as
    a rebuild uses a noop claim. First the resouce usage cannot
    change so it was incorrect to require the addtional capacity
    to rebuild an instance. Secondly it was incorrect not to assert
    the resouce usage remained the same.

    I0322d872bdff68936033a6f5a54e8296a6fb3434 adressed guarding the
    rebuild against altering the resouce usage and this change
    allows in place rebuild.

    This change found a latent bug that will be adressed in a follow
    up change and updated the functional tests to note the incorrect
    behavior.

    Conflicts:
        nova/tests/functional/libvirt/test_numa_servers.py

    NOTE(sean-k-mooney): Trivial import conflicts

    Change-Id: I48bccc4b9adcac3c7a3e42769c11fdeb8f6fd132
    Closes-Bug: #1804502
    Implements: blueprint inplace-rebuild-of-numa-instances
    (cherry picked from commit 3f9411071d4c1a04ab0b68fd635597bf6959c0ca)
    (cherry picked from commit 94c0362918169a1fa06aa6cf5a483e9285d7b91f)
    (cherry picked from commit 4a691c33d13611714135b9390cb53de726fc901d)