Fujitsu iRMC Redfish Examples

I got an escalation from our second level support that a customer would like to get MAC address information on a server via Redfish. This can be done with the FirmwareInventory endpoint. I can show the example, but I think it would be good to show some other examples for basic tasks as well so that you can use Fujitsu iRMC Redfish APIs with your scripts/applications.

Fujitsu iRMC Redfish API Examples

  • Check the server power status
  • $ curl -s -k -u admin:admin -H"Content-type: application/json" -X GET https://irmc_address/redfish/v1/Systems/0/ |jq -r '.PowerState'
    On 
    
  • Power on the server
  • $ curl -k -u admin:admin -H"Content-type: application/json" -X POST https://irmc_address/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.Reset --data-binary $'{"FTSResetType":"PowerOn"}'
    
  • Power off the server
  • $ curl -k -u admin:admin -H"Content-type: application/json" -X POST https://irmc_address/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.Reset --data-binary $'{"FTSResetType":"PowerOff"}'
    
  • Reset the server
  • $ curl -k -u admin:admin -H"Content-type: application/json" -X POST https://irmc_address/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.Reset --data-binary $'{"FTSResetType":"ImmediateReset"}'
    
  • Reset iRMC
  • $ curl -k -u admin:admin -H"Content-type: application/json" -X POST https://irmc_address/redfish/v1/Managers/iRMC/Actions/Manager.Reset
    
  • Check BIOS and iRMC Firmware version
  • $  curl -s -k -u admin:admin -H"Content-type: application/json" -X GET https://irmc_address/redfish/v1/Systems/0/Oem/ts_fujitsu/FirmwareInventory |jq '{SystemBIOS, BMCFirmware, SDRRVersion}'
    {
      "SystemBIOS": "V5.0.0.12 R1.18.0 for D3383-A1x",
      "BMCFirmware": "1.25P",
      "SDRRVersion": "3.38"
    }
    
  • Get the server model name and serial number
  • $ curl -s -k -u admin:admin -H"Content-type: application/json" -X GET https://irmc_address/redfish/v1/Systems/0/ |jq '{Model, SerialNumber}'
    {
      "Model": "PRIMERGY RX2530 M4",
      "SerialNumber": "MABQ000000"
    }
    
  • Update BIOS
  • $ curl -k -u admin:admin –H "Content-type: multiplart/form-data" –H "Accept: application/json" -X POST -F "data=@RX2530M4_R1180.UPC" https://irmc_address/redfish/v1/Systems/0/Bios/Actions/Oem/FTSBios.BiosUpdate
    
  • Update iRMC Firmware
  • $ curl -k -u admin:admin –H "Content-type: multiplart/form-data" –H "Accept: application/json" -X POST -F "data=@RX2530M4_125Psdr0338.bin" https://irmc_address/redfish/v1/Managers/iRMC/Actions/Oem/FTSManager.FWUpdate
    
  • Generate and download iRMC System Report
  • When you have a hardware problem and Fujitsu support asks for a system report, you can use the following API to download the report, and send it to Fujitsu support.
    $ curl -k -u admin:admin –H "Accept: application/json" -X POST https://irmc_address/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.SystemReportGenerate
    $ curl -k -u admin:admin –H "Accept: application/json" -H "Content-Type: application/octet-stream" -X POST https://irmc_address/redfish/v1/Systems/0/Actions/Oem/FTSComputerSystem.SystemReportDownload --output iRMCSystemReport.xml
    
  • List MAC addresses on the server
  • $ curl -s -k -u admin:admin -H"Content-type: application/json" -X GET https://irmc_ip_address/redfish/v1/Systems/0/Oem/ts_fujitsu/FirmwareInventory/NIC |jq '.Ports[] | {SlotId, PortId, ManufacturerMacAddress}'
    {
      "SlotId": 0,
      "PortId": 0,
      "ManufacturerMacAddress": "90:1b:0e:ad:11:6f"
    }
    {
      "SlotId": 0,
      "PortId": 1,
      "ManufacturerMacAddress": "90:1b:0e:ad:11:70"
    }
    {
      "SlotId": 11,
      "PortId": 0,
      "ManufacturerMacAddress": "3c:fd:fe:a1:6e:c4"
    }
    {
      "SlotId": 11,
      "PortId": 1,
      "ManufacturerMacAddress": "3c:fd:fe:a1:6e:c5"
    }
    

Reference

Fujitsu Custom ESXi 6.5 U1 Released

Fujitsu has released the latest ESXi 6.5 custom image (ESXi 6.5 U1 Build 7967591, Fujitsu v412-1). You can download the ISO image and the offline bundle from My VMware.

Fujitsu PRIMERGY: Meltdown & Spectre BIOS Updates

Fujitsu released BIOS updates for Meltdown and Spectre issues for most of the PRIMERGY models. This blog entry will provide a list for download links to the BIOS download pages just for the convenience.

PRIMERGY BX-series
PRIMERGY CX-series
(For CX2550 M1/CX2570 M1, BIOS R1.34.0 has the fix for the vulnerabilities, but as of 2018/04/12, the latest is R1.35.0, so the links are made to R1.35.0)
PRIMERGY RX-series
PRIMERGY TX-series

Enabling Redfish in Fujitsu iRMC S4

Fujitsu iRMC S4 Firmware 9.0x or later can now support Redfish (iRMC S5 supports Redfish from the initial version). However when you update iRMC S4 firmware from an older version like 8.86F to a new version like 9.08F, Redfish is enabled, but the user access setting is set to "No Access" by default. Therefore no users can access Redfish API endpoints remotely even by the admin user.

The access mode setting can be changed from "No Access" to other modes like "Administrator" in iRMC S4 Web GUI. You just need to go to User Management --> iRMC S4 User --> select a user --> Check "Redfish Enabled" and change RedfishRole from "No Access" to other role, and click Apply to save the changes.

For those who want to automate these manual steps by a script, you can do that with the Fujitsu SCCI commands. The SCCI code for enabling Redfish is "0x1D80", and the code for the Redfish role is "0x1D81".

For example, if you want to enable Redfish for the admin user with the "Administrator" role, create a request XML file like this:

$ vi enable_redfish_and_set_admin_role.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CMDSEQ>
<!-- 0: disable, 1: enable -->
<CMD Context="SCCI" OC="ConfigSpace" OE="1D80" OI="0" Type="SET">
  <DATA Type="xsd::integer">1</DATA>
</CMD>
<!-- 0: no access, 1: operator, 2: administrator, 3: read only -->
<CMD Context="SCCI" OC="ConfigSpace" OE="1D81" OI="0" Type="SET">
  <DATA Type="xsd::integer">2</DATA>
</CMD>
</CMDSEQ>

Then send the file to iRMC config interface.

$ curl -u admin:admin --data @enable_redfish_and_set_admin_role.xml http://<iRMC IP address>/config
<?xml version="1.0" encoding="UTF-8"?>
<Status>
<Value>0</Value>
<Severity>Information</Severity>
<Message>No Error</Message>
</Status>

If you don't want to create a separate XML file, you can embed the SCCI request in your shell script.

$ vi enable_redfish.sh
#!/bin/sh

iRMCUSR=admin
iRMCPWD=admin
iRMCIP=192.168.10.3

curl -u ${iRMCUSR}:${iRMCPWD} http://${iRMCIP}/config \
--data @- <<EOF
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CMDSEQ>
<CMD Context="SCCI" OC="ConfigSpace" OE="1D80" OI="0" Type="SET">
  <DATA Type="xsd::integer">1</DATA>
</CMD>
<CMD Context="SCCI" OC="ConfigSpace" OE="1D81" OI="0" Type="SET">
  <DATA Type="xsd::integer">2</DATA>
</CMD>
</CMDSEQ>

EOF
Then run it.
$ sh ./enable_redfish.sh
<?xml version="1.0" encoding="UTF-8"?>
<Status>
<Value>0</Value>
<Severity>Information</Severity>
<Message>No Error</Message>
</Status>

Now you can use Redfish API for iRMC S4 remotely.

$ curl -k -u admin:admin https://<iRMC IP address>/redfish/v1

Good Bye, Folks!

As you may have heard, Fujitsu has completely discontinued Data Center Products and Solutions business in North America on April 1st, 2021. ...