Comment 4 for bug 1785327

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

Reviewed: https://review.openstack.org/604378
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=3480454a4ba9746e3066edef0945c02ec24af07e
Submitter: Zuul
Branch: stable/rocky

commit 3480454a4ba9746e3066edef0945c02ec24af07e
Author: Matt Riedemann <email address hidden>
Date: Fri Aug 3 17:26:00 2018 -0400

    Optimize AZ lookup during schedule_and_build_instances

    If we're creating multiple servers, there is a chance
    the scheduler returned the same host for more than
    one of them, which means we could be redundantly
    looking up the AZ for the same host multiple times.
    This could happen when creating multiple servers in
    the same strict affinity group, or simply if the
    scheduler is configured with a pack-first strategy
    for filling up hosts. The get_host_availability_zone()
    method does not use its own internal cache, so this
    change adds a simple cache to the schedule_and_build_instances
    method itself so that we only lookup the AZ per unique
    host once.

    Note that build_instances suffers from the same issue
    but that is only called for scheduling with cells v1
    which is deprecated so we shouldn't need to care about
    optimizing that method.

    Change-Id: I2ae5ae7240e5183acca7492ddad017c0c878835b
    Closes-Bug: #1785327
    (cherry picked from commit 27857c337378472205c37db6ab79fe8404406129)