diff --git a/doc/source/admin/drivers/ibmc.rst b/doc/source/admin/drivers/ibmc.rst index 0f7fe1d90f..8a173a8ad8 100644 --- a/doc/source/admin/drivers/ibmc.rst +++ b/doc/source/admin/drivers/ibmc.rst @@ -5,6 +5,12 @@ iBMC driver Overview ======== +.. warning:: + The ``ibmc`` driver has been deprecated and is anticipated to be removed + from Ironic at some point during or after the 2024.2 development cycle. + The anticipated forward management path is to migrate to the ``redfish`` + hardware type. + The ``ibmc`` driver is targeted for Huawei V5 series rack server such as 2288H V5, CH121 V5. The iBMC hardware type enables the user to take advantage of features of `Huawei iBMC`_ to control Huawei server. diff --git a/doc/source/admin/drivers/idrac.rst b/doc/source/admin/drivers/idrac.rst index 41e17761e8..bd178a322c 100644 --- a/doc/source/admin/drivers/idrac.rst +++ b/doc/source/admin/drivers/idrac.rst @@ -5,6 +5,12 @@ iDRAC driver Overview ======== +.. warning:: + The ``-wsman`` driver interfaces have been deprecated and are anticipated + to be removed from Ironic at some point during or after the 2024.2 + development cycle. The anticipated forward management path is to migrate + to the ``-redfish`` driver interfaces or the ``redfish`` hardware type. + The integrated Dell Remote Access Controller (iDRAC_) is an out-of-band management platform on Dell EMC servers, and is supported directly by the ``idrac`` hardware type. This driver uses the Dell Web Services for diff --git a/doc/source/admin/drivers/xclarity.rst b/doc/source/admin/drivers/xclarity.rst index 427007c3a0..c777193eaf 100644 --- a/doc/source/admin/drivers/xclarity.rst +++ b/doc/source/admin/drivers/xclarity.rst @@ -5,6 +5,12 @@ XClarity driver Overview ======== +.. warning:: + The ``xlcarity`` driver has been deprecated and is anticipated to be removed + from Ironic at some point during or after the 2024.2 development cycle. + The anticipated forward management path is to migrate to the ``redfish`` + hardware type. + The ``xclarity`` driver is targeted for IMM 2.0 and IMM 3.0 managed Lenovo servers. The xclarity hardware type enables the user to take advantage of `XClarity Manager`_ by using the `XClarity Python Client`_. diff --git a/ironic/drivers/modules/drac/bios.py b/ironic/drivers/modules/drac/bios.py index 2ee5657686..8e537435ca 100644 --- a/ironic/drivers/modules/drac/bios.py +++ b/ironic/drivers/modules/drac/bios.py @@ -55,6 +55,10 @@ class DracRedfishBIOS(redfish_bios.RedfishBIOS): class DracWSManBIOS(base.BIOSInterface): """BIOSInterface Implementation for iDRAC.""" + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + # argsinfo dict for BIOS clean/deploy steps _args_info = { "settings": { diff --git a/ironic/drivers/modules/drac/management.py b/ironic/drivers/modules/drac/management.py index ca250ae275..2991777e7b 100644 --- a/ironic/drivers/modules/drac/management.py +++ b/ironic/drivers/modules/drac/management.py @@ -690,6 +690,10 @@ class DracRedfishManagement(redfish_management.RedfishManagement): class DracWSManManagement(base.ManagementInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): """Return the properties of the interface.""" return drac_common.COMMON_PROPERTIES diff --git a/ironic/drivers/modules/drac/power.py b/ironic/drivers/modules/drac/power.py index c25ddfef3b..33bfbc1969 100644 --- a/ironic/drivers/modules/drac/power.py +++ b/ironic/drivers/modules/drac/power.py @@ -192,6 +192,10 @@ class DracRedfishPower(redfish_power.RedfishPower): class DracWSManPower(base.PowerInterface): """Interface for power-related actions.""" + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): """Return the properties of the interface.""" return drac_common.COMMON_PROPERTIES diff --git a/ironic/drivers/modules/drac/raid.py b/ironic/drivers/modules/drac/raid.py index 404222f5de..35bf0b2f19 100644 --- a/ironic/drivers/modules/drac/raid.py +++ b/ironic/drivers/modules/drac/raid.py @@ -1645,6 +1645,10 @@ class DracRedfishRAID(redfish_raid.RedfishRAID): class DracWSManRAID(base.RAIDInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): """Return the properties of the interface.""" return drac_common.COMMON_PROPERTIES diff --git a/ironic/drivers/modules/drac/vendor_passthru.py b/ironic/drivers/modules/drac/vendor_passthru.py index fb25397a93..d35ddf0791 100644 --- a/ironic/drivers/modules/drac/vendor_passthru.py +++ b/ironic/drivers/modules/drac/vendor_passthru.py @@ -34,6 +34,10 @@ METRICS = metrics_utils.get_metrics_logger(__name__) class DracWSManVendorPassthru(base.VendorInterface): """Interface for DRAC specific methods.""" + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): """Return the properties of the interface.""" return drac_common.COMMON_PROPERTIES diff --git a/ironic/drivers/modules/ibmc/management.py b/ironic/drivers/modules/ibmc/management.py index 672501a7b5..b6420dc016 100644 --- a/ironic/drivers/modules/ibmc/management.py +++ b/ironic/drivers/modules/ibmc/management.py @@ -34,6 +34,10 @@ LOG = log.getLogger(__name__) class IBMCManagement(base.ManagementInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def __init__(self): """Initialize the iBMC management interface diff --git a/ironic/drivers/modules/ibmc/power.py b/ironic/drivers/modules/ibmc/power.py index 6bb15ee222..9c2e2b4acd 100644 --- a/ironic/drivers/modules/ibmc/power.py +++ b/ironic/drivers/modules/ibmc/power.py @@ -40,6 +40,10 @@ EXPECT_POWER_STATE_MAP = { class IBMCPower(base.PowerInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def __init__(self): """Initialize the iBMC power interface. diff --git a/ironic/drivers/modules/ibmc/raid.py b/ironic/drivers/modules/ibmc/raid.py index 886329ab9c..bc0ee1623f 100644 --- a/ironic/drivers/modules/ibmc/raid.py +++ b/ironic/drivers/modules/ibmc/raid.py @@ -36,6 +36,10 @@ METRICS = metrics_utils.get_metrics_logger(__name__) class IbmcRAID(base.RAIDInterface): """Implementation of RAIDInterface for iBMC.""" + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + RAID_APPLY_CONFIGURATION_ARGSINFO = { "raid_config": { "description": "The RAID configuration to apply.", diff --git a/ironic/drivers/modules/ibmc/vendor.py b/ironic/drivers/modules/ibmc/vendor.py index 00344cd3b8..dcdb8f8394 100644 --- a/ironic/drivers/modules/ibmc/vendor.py +++ b/ironic/drivers/modules/ibmc/vendor.py @@ -29,6 +29,10 @@ LOG = log.getLogger(__name__) class IBMCVendor(base.VendorInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def __init__(self): """Initialize the iBMC vendor interface. diff --git a/ironic/drivers/modules/xclarity/management.py b/ironic/drivers/modules/xclarity/management.py index 73b8bc72c5..c5ec724eae 100644 --- a/ironic/drivers/modules/xclarity/management.py +++ b/ironic/drivers/modules/xclarity/management.py @@ -51,6 +51,10 @@ SUPPORTED_BOOT_DEVICES = [ class XClarityManagement(base.ManagementInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): return common.COMMON_PROPERTIES diff --git a/ironic/drivers/modules/xclarity/power.py b/ironic/drivers/modules/xclarity/power.py index 36dc428c61..463de156db 100644 --- a/ironic/drivers/modules/xclarity/power.py +++ b/ironic/drivers/modules/xclarity/power.py @@ -32,6 +32,10 @@ xclarity_client_exceptions = importutils.try_import( class XClarityPower(base.PowerInterface): + # NOTE(TheJulia): Deprecating November 2023 in favor of Redfish + # and due to a lack of active driver maintenance. + supported = False + def get_properties(self): return common.get_properties() diff --git a/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml b/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml new file mode 100644 index 0000000000..9d6f89c272 --- /dev/null +++ b/releasenotes/notes/deprecate-mulitple-driver-interfaces-e42e4fa1c960f596.yaml @@ -0,0 +1,24 @@ +--- +deprecations: + - | + The ``ibmc`` hardware type is deprecated due to a lack of upstream + communication, driver maintenance, and a recognition that the Redfish + hardware type likely works for the users at this point. This driver is + expected to be removed during the ``2024.2`` development cycle. + - The ``xclarity`` hardware type is deprecated due to a lack of upstream + communication, driver maintenance, and a recognition that the Redfish + hardware type is suitable for Lenovo hardware users moving forward. + This driver is expected to be removed during the ``2024.2`` development + cycle. + - The ``idrac-wsman`` interfaces on the ``idrac`` hardware type are + deprecated due to a lack of upstream communiation, and the decision of + the driver's maintainer in the past to move in to the direction of + using Redfish for driver interactions. + These driver interfaces are expected to be removed during the + ``2024.2`` development cycle. +other: + - The classic ``ilo`` hardware types may be deprecated in the future for + removal or major changes, however our last communication with the + maintainers as of the ``2024.1`` Project Teams Gathering sessions + indiated they were still working to determine their own forward + path with a strong emphasis on the use of Redfish.