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 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 uses. The options values are chosen from the entry points under the namespace
'nova.scheduler.host_manager' in 'setup.cfg'. '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", cfg.StrOpt("driver",
default="filter_scheduler", default="filter_scheduler",
@ -320,6 +323,10 @@ Related options:
cfg.BoolOpt("use_baremetal_filters", cfg.BoolOpt("use_baremetal_filters",
deprecated_name="scheduler_use_baremetal_filters", deprecated_name="scheduler_use_baremetal_filters",
deprecated_group="DEFAULT", 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_for_removal=True,
deprecated_reason=""" deprecated_reason="""
These filters were used to overcome some of the baremetal scheduling 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. subdivided into multiple instances.
""" """
from oslo_log import log as logging from oslo_log import log as logging
from oslo_log import versionutils
import nova.conf import nova.conf
from nova import context as context_module from nova import context as context_module
@ -88,6 +89,13 @@ class IronicNodeState(host_manager.HostState):
class IronicHostManager(host_manager.HostManager): class IronicHostManager(host_manager.HostManager):
"""Ironic HostManager class.""" """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 @staticmethod
def _is_ironic_compute(compute): def _is_ironic_compute(compute):
ht = compute.hypervisor_type if 'hypervisor_type' in compute else None 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 = nova.scheduler.host_manager =
host_manager = nova.scheduler.host_manager:HostManager 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 ironic_host_manager = nova.scheduler.ironic_host_manager:IronicHostManager
nova.scheduler.driver = nova.scheduler.driver =