Comment 81 for bug 1664931

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

Reviewed: https://review.openstack.org/523427
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=bbfc4230efe3299fa51f9451f54062f32590ed3d
Submitter: Zuul
Branch: stable/ocata

commit bbfc4230efe3299fa51f9451f54062f32590ed3d
Author: Dan Smith <email address hidden>
Date: Fri Nov 17 12:27:34 2017 -0800

    Refined fix for validating image on rebuild

    This aims to fix the issue described in bug 1664931 where a rebuild
    fails to validate the existing host with the scheduler when a new
    image is provided. The previous attempt to do this could cause rebuilds
    to fail unnecessarily because we ran _all_ of the filters during a
    rebuild, which could cause usage/resource filters to prevent an otherwise
    valid rebuild from succeeding.

    This aims to classify filters as useful for rebuild or not, and only apply
    the former during a rebuild scheduler check. We do this by using an internal
    scheduler hint, indicating our intent. This should (a) filter out
    all hosts other than the one we're running on and (b) be detectable by
    the filtering infrastructure as an internally-generated scheduling request
    in order to trigger the correct filtering behavior.

    Conflicts:
          nova/scheduler/filters/exact_core_filter.py
          nova/scheduler/filters/exact_disk_filter.py
          nova/scheduler/filters/exact_ram_filter.py
          nova/scheduler/filters/type_filter.py

    NOTE(mriedem): The conflicts were due to deprecation warnings
    which don't exist in Ocata. The functional test also needed a missing
    import and to use api_put() instead of put_service().

    Closes-Bug: #1664931
    Change-Id: I1a46ef1503be2febcd20f4594f44344d05525446
    (cherry picked from commit f7c688b8ef88a7390f5b09719a2b3e80368438c0)
    (cherry picked from commit b29a461a8bc05c9b171c0574abb2e7e5b62a2ed7)