RFE: Develop Ironic driver for Fujitsu server using Redfish API

Bug #2030493 reported by Vanou Ishii
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Triaged
Wishlist
Vanou Ishii

Bug Description

# Motivation
Current Ironic iRMC driver uses Fujitsu server's firmware-specific REST API to do Ironic operation. However that leads to additional code to maintain. Fujitsu server's firmware implements Redfish API with few vendor specific REST path & behavior. To reduce vendor specific code, Fujitsu considers creating new Ironic driver using Redfish.
New Fujitsu server's Ironic driver should be based on 'redfish' driver's code (with class inheritance) and appropriate method override should be done to deal with Fujitsu-server-specific Redfish API behavior.
There should be transition from current 'irmc' driver to new Redfish-based driver and these 2 driver will co-exist a while.

# Implementation option
There is two approaches to implement new driver:
- One approach for implementation is developing new xxx_interfaces (i.e. power_interface, management_interface, etc.) which are based on 'redfish' driver's code with required modification and modifying current 'irmc' driver to support that new xxx_interfaces. One problem is we need to describe the right combination of xxx_interface in Ironic's doc. Because current 'irmc' driver's xxx_interfaces work together, current xxx_interface cannot mix with new Redfish based xxx_interfaces.
- Another approach is creating new driver (e.g. 'irmc-redfish' driver) in addition to 'irmc' driver. This 'irmc-redfish' driver only supports new xxx_interfaces which are based on community's Redfish driver. This will improve usability because Ironic user won't be worried by combination of xxx_interfaces, just choose xxx_interfaces listed in 'irmc-redfish' driver class's supported_xxx_interface method.

Another vendors (e.g. drac and ilo) take first approach. However I think second approach has benefit of usability and ease of maintenance.

# Fujitsu server specific Redfish behavior (2023/8)
- Virtual media functionality with OEM REST path
- Supports UEFI but not Legacy BIOS
- Needs additional wait time between power off state and power on state to do reboot operation
- No support of secure boot configuration through Redfish API
- Retrieval of BIOS attribute registry with Fujitsu specific manner
- RAID operation with Fujitsu's specific parameter
- No support of SoftReboot & SoftShutdown

Above items should be handled with Fujitsu-specific method override. Fujitsu server's firmware should comply with Redfish API specification, but it'll take a while till firmware complies with specification. So, during transition of firmware implementation, above incompatibility should be dealt with Fujitsu-specific code.

Tags: rfe irmc
Vanou Ishii (vanou)
Changed in ironic:
assignee: nobody → Vanou Ishii (vanou)
Revision history for this message
Julia Kreger (juliaashleykreger) wrote :

Greetings!

As this is a driver addition, we would need a specification document submitted to the ironic-specs repository detailing the proposed work.

Overall, this is a good start, and the detailed explanation of what is supported versus what is not supported provides clarity to help us understand the motivation and need.

Thanks!

-Julia

Revision history for this message
Vanou Ishii (vanou) wrote :

Thanks for comment.

I submitted spec at https://review.opendev.org/c/openstack/ironic-specs/+/893521, if possible please take a look.

Regards.

Dmitry Tantsur (divius)
Changed in ironic:
status: New → Triaged
importance: Undecided → Wishlist
tags: added: irmc
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.