conf: Deprecate '[scheduler] driver'

With the removal of 'CachingScheduler' in Stein (19.0.0), the
'FilterScheduler' is the only in-tree scheduler provided by nova. The
removal of the caching scheduler was motivated in good part because
"more and more functionality within nova [now] relies on managing
(sometimes complex) resource allocations in the placement service". This
same argument applies for out-of-tree drivers. It's unlikely that there
are users with out-of-tree drivers that have good placement integration
and significantly outperform the default filter scheduler. As a result,
it's probably time to close this extension point in favour of continued
improvements on the filter scheduler and placement along with custom
filters and weighters for the filter scheduler.

Change-Id: Id65e0b16fe062509097b8e3f58eb81bfe1cc2bfa
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
This commit is contained in:
Stephen Finucane 2020-02-11 17:18:25 +00:00
parent a0a88d7c0c
commit 6a4cb24d39
2 changed files with 20 additions and 0 deletions

View File

@ -26,6 +26,15 @@ scheduler_opts = [
default="filter_scheduler",
deprecated_name="scheduler_driver",
deprecated_group="DEFAULT",
deprecated_for_removal=True,
deprecated_since='21.0.0',
deprecated_reason="""
nova no longer provides any in-tree filters except for the 'filter_scheduler'
scheduler. This filter is considered flexible and pluggable enough for all use
cases and can be extended through the use of custom, out-of-tree filters and
weighers along with powerful, in-tree filters like the
'AggregateInstanceExtraSpecsFilter' and 'ComputeCapabilitiesFilter' filters.
""",
help="""
The class of the driver used by the scheduler. This should be chosen from one
of the entrypoints under the namespace 'nova.scheduler.driver' of file

View File

@ -0,0 +1,11 @@
---
deprecations:
- |
The ``[scheduler] driver`` config option has been deprecated. This was
previously used to switch between different scheduler drivers including
custom, out-of-tree ones. However, only the ``FilterScheduler`` has been
supported in-tree since 19.0.0 (Stein) and nova increasingly relies on
placement for basic functionality, meaning developing and maintaining
out-of-tree drivers is increasingly difficult. Users who still rely on a
custom scheduler driver should migrate to the filter scheduler, using
custom filters and weighters where necessary.