diff --git a/nova/conf/scheduler.py b/nova/conf/scheduler.py index b90f16c370..d76693d6ad 100644 --- a/nova/conf/scheduler.py +++ b/nova/conf/scheduler.py @@ -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 diff --git a/releasenotes/notes/deprecate-scheduler-driver-opt-4d6a266590b52e2c.yaml b/releasenotes/notes/deprecate-scheduler-driver-opt-4d6a266590b52e2c.yaml new file mode 100644 index 0000000000..6bf0b01598 --- /dev/null +++ b/releasenotes/notes/deprecate-scheduler-driver-opt-4d6a266590b52e2c.yaml @@ -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.