Allocations cannot be adjusted when provider is over capacity

Bug #2104040 reported by Dan Smith
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
placement
Fix Released
Undecided
Unassigned

Bug Description

This is the placement bug for the issue which causes these nova bugs:

* https://bugs.launchpad.net/nova/+bug/1943191
* https://bugs.launchpad.net/nova/+bug/1924123
* https://bugs.launchpad.net/nova/+bug/1941892

Basically if a provider becomes over-capacity (due to a change in allocation_ratio or reserved count), allocation changes to make that provider less over-capacity are not allowed unless they fully bring the provider under the threshold. In the case of Nova and instances, you basically cannot migrate your way out of an over-capacity situation (assuming any one instance will not be enough and you can't migrate multiple instances atomically).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to placement (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/placement/+/945464

Changed in placement:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to placement (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/placement/+/945465

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to placement (master)

Reviewed: https://review.opendev.org/c/openstack/placement/+/945464
Committed: https://opendev.org/openstack/placement/commit/356ff48bb8d8b157d13e806b3003e062d6911933
Submitter: "Zuul (22348)"
Branch: master

commit 356ff48bb8d8b157d13e806b3003e062d6911933
Author: Dan Smith <email address hidden>
Date: Mon Mar 24 10:53:57 2025 -0700

    Reproduce bug 2104040: allocate in over-capacity

    This reproduces the bug where a provider that is thrust into an over-
    capacity situation has few options for getting out of that jam.

    Change-Id: If59d2c54c3e32fda285ab7d8f5366393a3f69481
    Related-Bug: #2104040

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to placement (master)

Reviewed: https://review.opendev.org/c/openstack/placement/+/945465
Committed: https://opendev.org/openstack/placement/commit/5ac4c70b8ad63a0fd7cea9f66e925569eaf0612c
Submitter: "Zuul (22348)"
Branch: master

commit 5ac4c70b8ad63a0fd7cea9f66e925569eaf0612c
Author: Dan Smith <email address hidden>
Date: Mon Mar 24 12:24:35 2025 -0700

    Fix placement allocate while over-capacity

    There is a bug in the placement over-capacity check that prevents
    updating existing allocations if a resource provider is over capacity,
    even if that change makes no change to the amount of resources that
    are allocated, or even if the allocation makes the situation better.
    This can happen when the reserved or allocation_ratio is changed on
    a provider with existing allocations. The bug prevents escaping this
    situation by deallocating resources unless a single atomic allocation
    can be performed to result in an under-capacity outcome. That is not
    something consumers like Nova can orchestrate and thus operators get
    stuck in a situation where they must un-reserve some resource, or
    temporarily increase the allocation_ratio in order to be able to
    escape. That could result in a worsening situation.

    This change makes us allow allocation changes if they improve or
    otherwise do not worsen an over-capacity situation, which is clearly
    what operators expect based on the multiple bugs opened against Nova
    for this issue.

    Closes-Bug: #2104040
    Related-Bug: #1924123
    Related-Bug: #1941892
    Related-Bug: #1943191
    Change-Id: If7264d3ce679b6f9b604a3bcd2a417cc175e3793

Changed in placement:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/placement 14.0.0.0rc1

This issue was fixed in the openstack/placement 14.0.0.0rc1 Flamingo release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.