Comment 18 for bug 1811726

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

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

commit 64d52788831f0e676f0b9bf9780eeadb38232def
Author: Matt Riedemann <email address hidden>
Date: Fri May 3 15:23:57 2019 -0400

    Delete resource providers for all nodes when deleting compute service

    Change I7b8622b178d5043ed1556d7bdceaf60f47e5ac80 started deleting the
    compute node resource provider associated with a compute node when
    deleting a nova-compute service. However, it would only delete the
    first compute node associated with the service which means for an
    ironic compute service that is managing multiple nodes, the resource
    providers were not cleaned up in placement. This fixes the issue by
    iterating all the compute nodes and cleaning up their providers.
    Note this could be potentially a lot of nodes, but we don't really
    have many good options here but to iterate them and clean them up
    one at a time.

    Note that this is best-effort but because of how the
    SchedulerReportClient.delete_resource_provider method ignores
    ResourceProviderInUse errors, and we could have stale allocations
    on the host for which delete_resource_provider is not accounting,
    namely allocations from evacuated instances (or incomplete migrations
    though you can't migrate baremetal instances today), we could still
    delete the compute service and orphan those in-use providers. That,
    however, is no worse than before this change where we did not try
    to cleanup all providers. The issue described above is being tracked
    with bug 1829479 and will be dealt with separately.

    Change-Id: I9e852e25ea89f32bf19cdaeb1f5dac8f749f5dbc
    Closes-Bug: #1811726
    (cherry picked from commit 650fe118d128f09f78552b82abc114bb4b84930e)
    (cherry picked from commit e9889be94ee58a6da78ef96d09d8f5282b86f648)