Merge "Deprecate the IronicHostManager"

This commit is contained in:
Zuul 2017-12-05 13:16:44 +00:00 committed by Gerrit Code Review
commit ad4398583f
4 changed files with 30 additions and 0 deletions

View File

@ -31,6 +31,9 @@ The scheduler host manager to use.
The host manager manages the in-memory picture of the hosts that the scheduler
uses. The options values are chosen from the entry points under the namespace
'nova.scheduler.host_manager' in 'setup.cfg'.
NOTE: The "ironic_host_manager" option is deprecated as of the 17.0.0 Queens
release.
"""),
cfg.StrOpt("driver",
default="filter_scheduler",
@ -320,6 +323,10 @@ Related options:
cfg.BoolOpt("use_baremetal_filters",
deprecated_name="scheduler_use_baremetal_filters",
deprecated_group="DEFAULT",
# NOTE(mriedem): We likely can't remove this option until the
# IronicHostManager is removed, and we likely can't remove that
# until all filters can at least not fail on ironic nodes, like the
# NUMATopologyFilter.
deprecated_for_removal=True,
deprecated_reason="""
These filters were used to overcome some of the baremetal scheduling

View File

@ -22,6 +22,7 @@ ram from a host / node as it is supporting Baremetal hosts, which can not be
subdivided into multiple instances.
"""
from oslo_log import log as logging
from oslo_log import versionutils
import nova.conf
from nova import context as context_module
@ -88,6 +89,13 @@ class IronicNodeState(host_manager.HostState):
class IronicHostManager(host_manager.HostManager):
"""Ironic HostManager class."""
def __init__(self):
super(IronicHostManager, self).__init__()
msg = ('The IronicHostManager is deprecated and may be removed as '
'early as the 18.0.0 Rocky release. Deployments need to '
'schedule based on resource classes.')
versionutils.report_deprecated_feature(LOG, msg)
@staticmethod
def _is_ironic_compute(compute):
ht = compute.hypervisor_type if 'hypervisor_type' in compute else None

View File

@ -0,0 +1,14 @@
---
deprecations:
- |
The `IronicHostManager` is now deprecated along with the
``[scheduler]/host_manager`` option of ``ironic_host_manager``.
As of the 16.0.0 Pike release, the ``ExactRamFilter``, ``ExactCoreFilter``,
and ``ExactDiskFilter`` scheduler filters are all deprecated along with
the ``[scheduler]/use_baremetal_filters`` and
``[scheduler]/baremental_enabled_filters`` options. Deployments should
migrate to using resource classes with baremetal flavors as described in
the ironic install guide:
https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html#scheduling-based-on-resource-classes

View File

@ -83,6 +83,7 @@ nova.ipv6_backend =
nova.scheduler.host_manager =
host_manager = nova.scheduler.host_manager:HostManager
# Deprecated starting from the 17.0.0 Queens release.
ironic_host_manager = nova.scheduler.ironic_host_manager:IronicHostManager
nova.scheduler.driver =