diff --git a/nova/conf/scheduler.py b/nova/conf/scheduler.py
index 8fac0decb69a..ecd1716f74b4 100644
--- a/nova/conf/scheduler.py
+++ b/nova/conf/scheduler.py
@@ -291,6 +291,13 @@ Related options:
],
deprecated_name="baremetal_scheduler_default_filters",
deprecated_group="DEFAULT",
+ deprecated_for_removal=True,
+ deprecated_reason="""
+These filters were used to overcome some of the baremetal scheduling
+limitations in Nova prior to the use of the Placement API. Now scheduling will
+use the custom resource class defined for each baremetal node to make its
+selection.
+""",
help="""
Filters used for filtering baremetal hosts.
@@ -313,6 +320,13 @@ Related options:
cfg.BoolOpt("use_baremetal_filters",
deprecated_name="scheduler_use_baremetal_filters",
deprecated_group="DEFAULT",
+ deprecated_for_removal=True,
+ deprecated_reason="""
+These filters were used to overcome some of the baremetal scheduling
+limitations in Nova prior to the use of the Placement API. Now scheduling will
+use the custom resource class defined for each baremetal node to make its
+selection.
+""",
default=False,
help="""
Enable baremetal filters.
diff --git a/nova/scheduler/filters/exact_core_filter.py b/nova/scheduler/filters/exact_core_filter.py
index dbb8e6dfce67..f9b20f997000 100644
--- a/nova/scheduler/filters/exact_core_filter.py
+++ b/nova/scheduler/filters/exact_core_filter.py
@@ -25,6 +25,11 @@ LOG = logging.getLogger(__name__)
class ExactCoreFilter(filters.BaseHostFilter):
"""Exact Core Filter."""
+ def __init__(self, *args, **kwargs):
+ super(ExactCoreFilter, self).__init__(*args, **kwargs)
+ LOG.warning('ExactCoreFilter is deprecated in Pike and will be '
+ 'removed in a subsequent release.')
+
def host_passes(self, host_state, spec_obj):
"""Return True if host has the exact number of CPU cores."""
if not host_state.vcpus_total:
diff --git a/nova/scheduler/filters/exact_disk_filter.py b/nova/scheduler/filters/exact_disk_filter.py
index 405e3b91b735..e382a70e6545 100644
--- a/nova/scheduler/filters/exact_disk_filter.py
+++ b/nova/scheduler/filters/exact_disk_filter.py
@@ -23,6 +23,11 @@ LOG = logging.getLogger(__name__)
class ExactDiskFilter(filters.BaseHostFilter):
"""Exact Disk Filter."""
+ def __init__(self, *args, **kwargs):
+ super(ExactDiskFilter, self).__init__(*args, **kwargs)
+ LOG.warning('ExactDiskFilter is deprecated in Pike and will be '
+ 'removed in a subsequent release.')
+
def host_passes(self, host_state, spec_obj):
"""Return True if host has the exact amount of disk available."""
requested_disk = (1024 * (spec_obj.root_gb +
diff --git a/nova/scheduler/filters/exact_ram_filter.py b/nova/scheduler/filters/exact_ram_filter.py
index e6dd4275ee8d..d09b5d5ef1cb 100644
--- a/nova/scheduler/filters/exact_ram_filter.py
+++ b/nova/scheduler/filters/exact_ram_filter.py
@@ -23,6 +23,11 @@ LOG = logging.getLogger(__name__)
class ExactRamFilter(filters.BaseHostFilter):
"""Exact RAM Filter."""
+ def __init__(self, *args, **kwargs):
+ super(ExactRamFilter, self).__init__(*args, **kwargs)
+ LOG.warning('ExactRamFilter is deprecated in Pike and will be '
+ 'removed in a subsequent release.')
+
def host_passes(self, host_state, spec_obj):
"""Return True if host has the exact amount of RAM available."""
requested_ram = spec_obj.memory_mb
diff --git a/releasenotes/notes/deprecate-baremetal-filters-618249af65115bf6.yaml b/releasenotes/notes/deprecate-baremetal-filters-618249af65115bf6.yaml
new file mode 100644
index 000000000000..27127f22ba62
--- /dev/null
+++ b/releasenotes/notes/deprecate-baremetal-filters-618249af65115bf6.yaml
@@ -0,0 +1,14 @@
+---
+deprecations:
+ - |
+ The configuration options ``baremetal_enabled_filters`` and
+ ``use_baremetal_filters`` are deprecated in Pike and should only be used if
+ your deployment still contains nodes that have not had their resource_class
+ attribute set. See `Ironic release notes `_
+ for upgrade concerns.
+ - |
+ The following scheduler filters are deprecated in Pike: ``ExactRamFilter``,
+ ``ExactCoreFilter`` and ``ExactDiskFilter`` and should only be used if your
+ deployment still contains nodes that have not had their resource_class
+ attribute set. See `Ironic release notes `_
+ for upgrade concerns.
\ No newline at end of file