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", default="filter_scheduler",
deprecated_name="scheduler_driver", deprecated_name="scheduler_driver",
deprecated_group="DEFAULT", 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=""" help="""
The class of the driver used by the scheduler. This should be chosen from one 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 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.