From 3ccdb11ca2057fc07ef9ae4617a5049c479ed3da Mon Sep 17 00:00:00 2001 From: Riccardo Pittau Date: Tue, 28 Oct 2025 14:29:38 +0100 Subject: [PATCH] Remove sushy-oem-idrac from driver requirements The sushy-oem-idrac code has been integrated in sushy version 5.6.0 so we don't need the sushy-oem-idrac package anymore. Change-Id: Ief49300f6ac0c49686b9469be98b8680e018a618 Signed-off-by: Riccardo Pittau --- doc/source/admin/drivers/idrac.rst | 2 +- driver-requirements.txt | 3 --- ironic/drivers/modules/drac/management.py | 4 ++-- ironic/drivers/modules/drac/raid.py | 18 +++++++++--------- ironic/drivers/modules/drac/utils.py | 4 ++-- ...emove-sushy-oem-idrac-24970b3435804fb9.yaml | 5 +++++ 6 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 releasenotes/notes/remove-sushy-oem-idrac-24970b3435804fb9.yaml diff --git a/doc/source/admin/drivers/idrac.rst b/doc/source/admin/drivers/idrac.rst index a1cb300727..e7d10864bf 100644 --- a/doc/source/admin/drivers/idrac.rst +++ b/doc/source/admin/drivers/idrac.rst @@ -43,7 +43,7 @@ The ``idrac`` hardware type requires the ``sushy`` library and the vendor extens to be installed on the ironic conductor node(s) if an Ironic node is configured to use an ``idrac-redfish`` interface implementation, for example:: - sudo pip install 'sushy>=2.0.0' 'sushy-oem-idrac>=2.0.0' + sudo pip install 'sushy>=5.6.0' Enabling -------- diff --git a/driver-requirements.txt b/driver-requirements.txt index bd3d9dc4bc..5da233890b 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -12,6 +12,3 @@ python-scciclient>=0.16.0,<0.17.0 # Ansible-deploy interface ansible>=2.7 - -# Dell EMC iDRAC sushy OEM extension -sushy-oem-idrac>=5.0.0,<6.0.0 diff --git a/ironic/drivers/modules/drac/management.py b/ironic/drivers/modules/drac/management.py index 39d5200541..666443e512 100644 --- a/ironic/drivers/modules/drac/management.py +++ b/ironic/drivers/modules/drac/management.py @@ -174,8 +174,8 @@ class DracRedfishManagement(redfish_management.RedfishManagement): Exports the configuration of the server against which the step is run and stores it in specific format in indicated location. - Uses Dell's Server Configuration Profile (SCP) from `sushy-oem-idrac` - library to get ALL configuration for cloning. + Uses Dell's Server Configuration Profile (SCP) from `sushy` oem + extension to get ALL configuration for cloning. :param task: A task from TaskManager. :param export_configuration_location: URL of location to save the diff --git a/ironic/drivers/modules/drac/raid.py b/ironic/drivers/modules/drac/raid.py index e7d2e0ca28..325b9eb43b 100644 --- a/ironic/drivers/modules/drac/raid.py +++ b/ironic/drivers/modules/drac/raid.py @@ -88,7 +88,7 @@ def _retry_till_realtime_ready(task): def _is_realtime_ready(task): """Gets is real time ready status - Uses sushy-oem-idrac extension. + Uses sushy oem extension. :param task: TaskManager object containing the node. :returns: True, if real time operations are ready, otherwise False. @@ -272,10 +272,10 @@ class DracRedfishRAID(redfish_raid.RedfishRAID): except AttributeError as ae: # For backported version where libraries could be too old LOG.warning('Failed to find method to convert drives to RAID ' - 'mode. Possibly because `sushy-oem-idrac` is too old. ' - 'Without newer `sushy-oem-idrac` RAID configuration ' - 'will fail if selected physical disks are in non-RAID ' - 'mode. To avoid that update `sushy-oem-idrac`. ' + 'mode. Possibly because `sushy` oem extension is too ' + 'old. Without newer `sushy` oem extension RAID ' + 'configuration will fail if selected physical disks ' + 'are in non-RAID mode. To avoid that update `sushy`. ' 'Error: %(err)s', {'err': ae}) return False @@ -346,10 +346,10 @@ class DracRedfishRAID(redfish_raid.RedfishRAID): except AttributeError as ae: # For backported version where libraries could be too old LOG.warning('Failed to find method to clear foreign config. ' - 'Possibly because `sushy-oem-idrac` is too old. ' - 'Without newer `sushy-oem-idrac` no foreign ' + 'Possibly because `sushy oem extension` is too old. ' + 'Without newer `sushy` oem extension no foreign ' 'configuration will be cleared if there is any. ' - 'To avoid that update `sushy-oem-idrac`. ' + 'To avoid that update `sushy`. ' 'Error: %(err)s', {'err': ae}) return False @@ -421,7 +421,7 @@ class DracRedfishRAID(redfish_raid.RedfishRAID): LOG.warning('Failed to find extension to convert ' 'controller to RAID mode. ' + warning_msg_templ + '. Error: %(err)s', - {'err': ee, 'pkg': 'sushy-oem-idrac'}) + {'err': ee, 'pkg': 'sushy'}) return None task_mon = oem_controller.convert_to_raid() if task_mon: diff --git a/ironic/drivers/modules/drac/utils.py b/ironic/drivers/modules/drac/utils.py index 25b85681b1..77bc631569 100644 --- a/ironic/drivers/modules/drac/utils.py +++ b/ironic/drivers/modules/drac/utils.py @@ -67,8 +67,8 @@ def execute_oem_manager_method( try: manager_oem = manager.get_oem_extension('Dell') except sushy.exceptions.OEMExtensionNotFoundError as e: - error_msg = (_("Search for Sushy OEM extension Python package " - "'sushy-oem-idrac' failed for node %(node)s. " + error_msg = (_("Search for Sushy OEM extension in " + "'sushy' package failed for node %(node)s. " "Ensure it is installed. Error: %(error)s") % {'node': task.node.uuid, 'error': e}) LOG.error(error_msg) diff --git a/releasenotes/notes/remove-sushy-oem-idrac-24970b3435804fb9.yaml b/releasenotes/notes/remove-sushy-oem-idrac-24970b3435804fb9.yaml new file mode 100644 index 0000000000..eaa8be2040 --- /dev/null +++ b/releasenotes/notes/remove-sushy-oem-idrac-24970b3435804fb9.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The sushy-oem-idrac extension is not used anymore and it's + been removed from the requirements.