Deprecate Aggregate[Core|Ram|Disk]Filters

Sean Mooney smooney at
Tue Jul 30 12:21:45 UTC 2019

Hi all,
back in january 2018 we annouced that the behavior of the Aggregate[Core|Ram|Disk]Filters

form ocata on due to the use of placement you can no longer manage overcomit ratios using
aggregate metadata as placement has no access to this data. as a result these filters
if you use with placement then they only work if the aggregates enforce lower limits then placement default.

if you also limit the responces from placemnet this also does not work  as we may not recive
any host that satisfy the lower limit in the aggregate metadata  even if such host exist in the aggreate.

we have a prominent warning advising operator
of the impact of this change as well as this wont fix bug from last November

11 months ago we deprecated the non aggreate [Core|Ram|Disk] Filters
for several reasons noted in the commit and we furthermore removed the caching scheduler in stien.

a few days ago we finally deleted the non aggreagate filters with
but the  Aggregate[Core|Ram|Disk]Filters are still present.

we had intended to deprecate the Aggregate[Core|Ram|Disk]Filters in ocata when
we sent the initial email about the behavior change however we never actully followed up
and formally deprecated it in code. similarly when we formally deprecated the
[Core|Ram|Disk] Filters we could have deprecated the Aggregate[Core|Ram|Disk]Filters
too but we did not. As a result we cannot remove the Aggregate[Core|Ram|Disk]Filters
in Train but i have proposed :
To formally deprecate them with the intent of removing them in the U cycle.

In the 19.0.0 Stein release initial allocation ratios support was completed
which allow managing of the allocation ratios via the placement api in addition
to the existing capability to manage allocation ratios via the nova config.
As of the 18.0.0 rocky release nova automatically mirrors ``host-aggregates``
to placement aggregates.
There is ongoing work in Train to enhance osc-placement to add a
'resource provider inventory update' command to make setting overcommit allocation
ratios on a per-aggregate basis easier .
These 3 features combined will allow operators to manage Aggreate Resource class allocation
ratios in a placement native way.

finally in the case the above was not sufficent motivation the AggregateCoreFilter it does not
support handeling vCPU and pCPU resouce classes seperatly and will not work with the new cpu
resouce tracking spec correctly.
the AggregateRamFilter also does not understand the difference bewteen hugepage memory and
standard memroy which means that even if we were to keep the filters they do not work correctly
in all cases and will continue to becomre more broken over time, so i think the time has come to finally do this.


More information about the openstack-discuss mailing list