Server Management - Remote Server Management
1823062 Members
3146 Online
109645 Solutions
New Discussion

Set Network Adapter properties - S-IOV via ilo5 redfish api

 
marthees
Member

Set Network Adapter properties - S-IOV via ilo5 redfish api

hi,

We are creating an automation system and we are planning to update S-IOV value to enabled in hp ilo5 system.

Navigation menu in UI:

1. Reboot server

2. Press F9 and click System Configuration and choose Slot1 port1  and click Device Level Configuration

3.  And change Disabled to Enabled for S-IOV (Scalable IOV) and save .

 

We need to automate above UI step via redfish api but we are unable to find it. 

Machine info:

1. HPE Proliant DL110 Gen10 Plus and firmware version:  ilo5 2.78 Dec 16 2022

5 REPLIES 5
TVVJ
HPE Pro

Re: Set Network Adapter properties - S-IOV via ilo5 redfish api

Hello,

You may try the "Managing Hewlett Packard Enterprise Servers Using the RESTful API" and see if it helps you.

Regards,



I work at HPE
HPE Support Center offers support for your HPE services and products when and how you need it. Get started with HPE Support Center today.
[All opinions expressed here are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo
marthees
Member

Re: Set Network Adapter properties - S-IOV via ilo5 redfish api

hi team,

we already have this api document but unable to find exactly the api to update what i have mentioned?

 

Can someone provide

Kashyap02
HPE Pro

Re: Set Network Adapter properties - S-IOV via ilo5 redfish api


Hi, 

you can try using the redfish commands (Restapi clients)

Try this. Using a REST Client. 

I used POSTMan rest client. 
Open the ILO Session in a browser, get the Session ID from the developer tools. 
Add below headers to the rest client. 

 

Name: Content-Type,   Value: application/json
Name: Accept,  Value: application/json
Name: X-Auth-Token,   Value: <Session ID> copied from the developer tools from browser. 

 

Use the Get method to list the network adapters. 

 

Get https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/

 

Verify the members in the response. Looks like below. 

   "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX"
        }

 

Use the Get method again using the member details. 

 

Get https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX

Replace XXXXX with the Member ID.


Get https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX/Settings/

 

You can see the SR-IOV Settings in the response. Looks like below. 

      "NetworkDeviceFunctionCount": 8,
      "NetworkPortCount": 2,
      "VirtualizationOffload": {
        "SRIOV": {
          "SRIOVVEPACapable": false
        },
  
You can use the POST / PATCH method to change this to True. 

 

POST https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX/Settings/
 
 Change the SRIOVVEPACapable": false to SRIOVVEPACapable": true
 
 And Verify if the settings gets changed. 
 
Sometimes, the network adapters installed will not be support redfish api calls. If that is the case, then you have to use the BIOS to Enable the SR-IOV on the adapters. 
Sometimes, redfish configuration won't be enabled on the network adapters. You can verify they with the below methods. 
 
 Get https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX
 
 Verify the response. Which looks like below. 
 
             "FactoryDefaultsActuationBehavior": "Immediate",
            "PCAVersion": "Q0L14-63001",
            "RedfishConfiguration": "Disabled"

 

If this is the case, try to enable the Redfish configuration using the below method and body. 

 

POST https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX
{
  "Oem":{
      "Hpe":{
          "RedfishConfiguration": "Enabled"
      }
  }
}

 

If this do not work, request you log a case with HPE for further assistance. 

I am a HPE Employee.
[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]

Accept or Kudo

marthees
Member

Re: Set Network Adapter properties - S-IOV via ilo5 redfish api

@Kashyap02 

hi team,

i tried with my ip and the settings does not have sriov field. Please find below output

{
    "@odata.etag""\"BFC8AF23\"",
    "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000",
    "@odata.type""#NetworkAdapter.v1_7_0.NetworkAdapter",
    "Id""Settings",
    "LLDPEnabled"true,
    "Name""E810 Network Adapter Current Setting",
    "Status": {
        "HealthRollup""OK"
    }
}
 
And when i tried to enable redfish configuration by using post call: POST https://<ILO IP>/redfish/v1/Chassis/1/NetworkAdapters/XXXXXX
it returned 405 method not allowed
 
And i am just posting the response of GEt call of network adapters:
 
 
{
    "@odata.etag""\"8C1EC2A1\"",
    "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000",
    "@odata.type""#NetworkAdapter.v1_7_0.NetworkAdapter",
    "Id""DE080000",
    "@Redfish.Settings": {
        "SettingsObject": {
            "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Settings"
        },
        "@odata.type""#Settings.v1_3_3.Settings",
        "SupportedApplyTimes": [
            "OnReset"
        ]
    },
    "Actions": {
        "#NetworkAdapter.ResetSettingsToDefault": {}
    },
    "Controllers": [
        {
            "ControllerCapabilities": {
                "DataCenterBridging": {
                    "Capable"true
                },
                "NetworkDeviceFunctionCount"4,
                "NetworkPortCount"4,
                "VirtualizationOffload": {
                    "SRIOV": {
                        "SRIOVVEPACapable"true
                    },
                    "VirtualFunction": {
                        "DeviceMaxCount"256,
                        "MinAssignmentGroupSize"1,
                        "NetworkPortMaxCount"256
                    }
                }
            },
            "FirmwarePackageVersion""4.01 (0x800135E7)",
            "Links": {
                "NetworkDeviceFunctions": [
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkDeviceFunctions/0"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkDeviceFunctions/1"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkDeviceFunctions/2"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkDeviceFunctions/3"
                    }
                ],
                "Ports": [
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Ports/0"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Ports/1"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Ports/2"
                    },
                    {
                        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Ports/3"
                    }
                ],
                "Ports@odata.count"4,
                "PCIeDevices": [
                    {
                        "@odata.id""/redfish/v1/Chassis/1/PCIeDevices/DE080000"
                    }
                ]
            },
            "PCIeInterface": {
                "LanesInUse"16,
                "MaxLanes"16,
                "MaxPCIeType""Gen4",
                "PCIeType""Gen4"
            }
        }
    ],
    "LLDPEnabled"true,
    "Manufacturer""Intel Corp.",
    "Model""E810-CAM1",
    "Name""E810 Network Adapter Current Setting",
    "NetworkDeviceFunctions": {
        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkDeviceFunctions"
    },
    "Ports": {
        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Ports"
    },
    "PartNumber""M18383-003",
    "SKU""CAM1",
    "SerialNumber""40A6B72C37C0",
    "Metrics": {
        "@odata.id""/redfish/v1/Chassis/1/NetworkAdapters/DE080000/Metrics"
    },
    "Status": {
        "State""Starting",
        "HealthRollup""OK"
    }
}
 
Can you confirm is this correct response and what network adapter will support this sriov update feature?
Vinky_99
Esteemed Contributor

Re: Set Network Adapter properties - S-IOV via ilo5 redfish api

@marthees 

Redfish API support for specific features like enabling/disabling Scalable IOV (S-IOV) on HPE ProLiant servers via iLO may vary depending on the firmware and capabilities of the iLO. To automate the process you described using Redfish API, you would typically use the "Settings" resource and perform a PATCH operation to modify the settings.

However, please note that exact APIs and endpoints may change over time, and I don't have access to real-time data. Here are the general steps you would follow:

>> Ensure you have proper authentication and access to the iLO's Redfish API.

>> You need to find the specific Redfish endpoint and action that corresponds to changing S-IOV settings. This information can typically be found in the server's Redfish schema.

7>> Use the PATCH HTTP method to update the S-IOV setting. You'll need to provide the appropriate JSON payload to specify the changes you want to make.

Here's a high-level example of how a Redfish API request might look (please note that the actual endpoints and JSON structure may differ based on your specific hardware and firmware version):

PATCH /redfish/v1/Systems/1/Settings

* JSON Payload

{
"SIOVEnabled": true
}

You may need to adapt this example to match the actual Redfish API endpoints and schema for your HPE ProLiant server with iLO5 version 2.78 or later. It's crucial to consult the official HPE documentation and possibly reach out to HPE support for the most accurate and up-to-date information on using Redfish to configure S-IOV settings on your specific hardware and firmware version.

Please note that firmware updates may introduce changes or additional features to the Redfish API, so it's essential to keep your firmware up to date and refer to the documentation that corresponds to your specific firmware version.

 

Hope this helps! 

These are my opinions so use it at your own risk.