specification irmc restful api irmc fw 8 - fujitsu...
TRANSCRIPT
Specification iRMC RESTful API Version 5.0
11/07/2017 Copyright 2017 FUJITSU LIMITED
Designations used in this document may be trademarks, the use of which by third parties for their own purposes could violate the rights of the
trademark owners
Contact
FUJITSU LIMITED
Copyright 2017 FUJITSU LIMITED
Page 2 of 100
Contents Contents 2 1 General 4
1.1 Change History 4 1.2 Requirements 4 1.3 Introduction 4
2 Foundations 5 2.1 Asynchronous Tasks / LCM Sessions 5 2.2 Session Limit 5 2.3 XML and JSON Support 5 2.4 General Limitations 5 2.5 Repository Configuration 6 2.6 JobList 6 2.7 Activities Interlock 8
3 RESTful API 9 3.1 Support Table 9 3.2 Repository Configuration 11
3.2.1 rest/v1/Oem/eLCM/Repository/Update GET 11 3.2.2 rest/v1/Oem/eLCM/Repository/Deployment GET 11 3.2.3 rest/v1/Oem/eLCM/Repository/Update PUT 12 3.2.4 rest/v1/Oem/eLCM/Repository/Deployment PUT 12
3.3 Online Update 13 3.3.1 rest/v1/Oem/eLCM/OnlineUpdate POST 13 3.3.2 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection GET 13 3.3.3 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection DELETE 14 3.3.4 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> GET 14 3.3.5 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> PATCH 15 3.3.6 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection PUT 15
3.4 Offline Update 17 3.4.1 rest/v1/Oem/eLCM/OfflineUpdate/Configuration POST 17 3.4.2 rest/v1/Oem/eLCM/OfflineUpdate POST 17 3.4.3 rest/v1/Oem/eLCM/OfflineUpdate PUT 18
3.5 Dedicated Update 19 3.5.1 rest/v1/Oem/eLCM/DedicatedUpdate POST 19
3.6 Custom Images 20 3.6.1 rest/v1/Oem/eLCM/CustomImage POST 20 3.6.2 rest/v1/Oem/eLCM/CustomImage GET 20 3.6.3 rest/v1/Oem/eLCM/CustomImage/<ImageName> GET 21 3.6.4 rest/v1/Oem/eLCM/CustomImage/<ImageName> PUT 21 3.6.5 rest/v1/Oem/eLCM/CustomImage/<ImageName> DELETE 22 3.6.6 rest/v1/Oem/eLCM/CustomImage/Download POST 22 3.6.7 rest/v1/Oem/eLCM/CustomImage/Proxysettings GET 23 3.6.8 rest/v1/Oem/eLCM/CustomImage/Proxysettings PUT 24
3.7 Profile Management 25 3.7.1 rest/v1/Oem/eLCM/ProfileManagement/get POST 25 3.7.2 rest/v1/Oem/eLCM/ProfileManagement/set POST 25 3.7.3 rest/v1/Oem/eLCM/ProfileManagement GET 26 3.7.4 rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> GET 26 3.7.5 rest/v1/Oem/eLCM/ProfileManagement/capabilities GET 27 3.7.6 rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> DELETE 27 3.7.7 rest/v1/Oem/eLCM/ProfileManagement/version GET 28
3.8 Deployment 29 3.8.1 rest/v1/Oem/eLCM/SVIM/GetOsTypeSupport POST 29
Page 3 of 100
3.8.2 rest/v1/Oem/eLCM/SVIM/OSTypes GET 29 3.8.3 rest/v1/Oem/eLCM/SVIM/Download POST 30 3.8.4 rest/v1/Oem/eLCM/SVIM/BootEnvironment PATCH 31 3.8.5 rest/v1/Oem/eLCM/SVIM GET 31 3.8.6 rest/v1/Oem/eLCM/SVIM/remove DELETE 32
3.9 LCM Session Management 34 3.9.1 sessionInformation GET 34 3.9.2 sessionInformation/<sessionID>/status GET 34 3.9.3 sessionInformation/<sessionID>/log GET 34 3.9.4 sessionInformation/<sessionID>/ws GET 35 3.9.5 sessionInformation/<sessionID>/terminate DELETE 35 3.9.6 sessionInformation/<sessionID>/remove DELETE 36
3.10 LCM General 37 3.10.1 rest/v1/Oem/eLCM/eLCMStatus GET 37
3.11 Link Status 37 3.11.1 rest/v1/Oem/NICLink/status GET 37
3.12 Firmware Inventory 39 3.12.1 redfish/v1/ GET 39
3.13 SSD Lifetime Monitoring 40 3.13.1 rest/v1/Oem/SSDConfigurationIrmc GET 40
3.14 iRMC 42 3.14.1 /rest/v1/Oem/iRMC/Reset POST 42
4 Examples 43 4.1 Profile Management 43
4.1.1 Accessing any Paths of the Server Profile 43 4.1.2 Profile Flow Control 43 4.1.3 Using eLCM Profile Management 44 4.1.4 BIOS Boot Order Configuration 48
4.2 Online Update 52 4.3 Out-of-band RAID Configuration using Profile Management 55
4.3.1 Create Logical Drive (RAID Level 1) 55 4.3.2 Delete Logical Drive (Number#1) 59
5 eLCM Profile Management Profile Definitions 62 5.1 iRMC Profile Specification 62 5.2 BIOS Profile Specification 86 5.3 Out-of-band RAID Configuration Profile 96 5.4 Further Profile Specification 100 5.5 Profile Dependencies 100
Page 4 of 100
1 General
This document is the specification of the iRMC S5 RESTful API in firmware version 1.0x.
1.1 Change History
Date Version Changes
2017-07-11 5.0 Published version for 1.0x (S5)
2017-03-22 4.0 Published version for 8.8x (S4)
2016-12-02 3.0 Published version for 8.6x (S4)
2016-07-11 2.0 Published version for 8.4x (S4)
2016-06-21 1.0 Published version for 8.2x (S4)
1.2 Requirements
This document assumes that the reader is familiar with RESTful web services, JSON, XML and HTTP in general.
To learn more about REST, JSON and XML, see the following:
- https://en.wikipedia.org/wiki/Representational_state_transfer - https://en.wikipedia.org/wiki/JSON - https://en.wikipedia.org/wiki/XML
You will also need a Fujitsu PRIMERGY server with an iRMC S5 with eLCM license for full support.
1.3 Introduction
The RESTful Server Management API is a web service API which is served by the iRMC firmware.
A RESTful API is an application programming interface which makes use of HTTP operations (mainly GET, DELETE, PUT, POST and PATCH). These
HTTP operations submit or return resources which can be encoded in either JSON or XML, similar to a usual web application which returns HTML,
JS and CSS.
This API is loosely based on the Redfish standard as provided by the DMTF.1
In modern scripting languages these interfaces are very easy to use, as there are plenty of libraries and helper tools that deal with JSON and XML
structures and transport via HTTP(s).
This API is available for iRMC S4 and S5 systems. When referring to an iRMC S4 firmware version, the version number is followed by “(S4)”, for an
iRMC S5 system with “(S5)”. When changes only show an iRMC S5 version number, it means these changes are not available in an iRMC S4
release yet. When changes only show an iRMC S4 version number, it means these changes were already made before the initial 1.0x version for
iRMC S5 and are thus also included in every iRMC S5 release.
For general information on how to use the iRMC RESTful API, please refer to [White paper iRMC S5 RESTful Server Management API].
In the following resource descriptions, the prefix for all URIs is as follows http(s)://<iRMC IP address>/ .
1 http://www.dmtf.org/standards/redfish
Page 5 of 100
2 Foundations
2.1 Asynchronous Tasks / LCM Sessions
If you are accessing resources that trigger actions/tasks and you cannot get a direct result from the API, the API will create an ‘LCM Session’. In
this case, you will get an answer containing an ID, which can be used to obtain the status of the created asynchronous task. Optionally it is also
possible to tag the session with a userdefined value via the “tag” URL parameter. This makes it easier for the user to spot/filter specific sessions.
2.2 Session Limit
The LCM Session API has a limit of 64 sessions, for which status information and logs can be retrieved, so your clients should regularly delete
sessions to avoid the risk of opening too many. A terminated session will automatically be deleted after 24 hours. A script-based access must try
to get termination status within this timeframe.
2.3 XML and JSON Support
The iRMC RESTful API supports JSON and XML formats. You can specify the appropriate format in the Accept header of the HTTP protocol.
- Accept: application/json
- Accept: application/xml
E.g. curl -u <uname>:<pwd> -H "Accept: application/json" … and curl -u <uname>:<pwd> -H "Accept: application/xml"
2.4 General Limitations
When applying profiles via the RESTful API, please keep in mind that it does not provide the same kind of plausibility checks like in the iRMC
Web interface. Thus it is sometimes possible to apply profiles with illegal configurations. Because of this limitation it is important to make sure
the profile to be applied is plausible and the resulting configuration could also be set manually within the Web Interface or BIOS menu.
Page 6 of 100
2.5 Repository Configuration
For several functions, such as online / offline update, Custom Image or deployment activity, the repository download server must be specified,
along with optional proxy settings. To provide this information via the RESTful API for specified resources, a RepositoryConfiguration.xml must
be transmitted.
The structure and contents of the RepositoryConfiguration.xml file are defined as follows:
<Repository> <Server> <URL>http://support.ts.fujitsu.com/</URL> <Catalog>DownloadManager/globalflash/GF_par_tree.exe</Catalog> <UseProxy>yes/no</UseProxy> </Server> <Proxy> <URL></URL> <Port></Port> <User></User> <Password></Password> </Proxy> </Repository>
- The server’s <URL> is mandatory field in this configuration file.
- <Catalog> should be specified for the update repository. For deployment activity (download of the Service Platform (SP) associated
with the specified operating system), the <Catalog> field is not taken into account and is not returned for the API GET command.
- <UseProxy> is an optional field. <UseProxy> allows access to the repository server with or without a proxy server. If <UseProxy> is
present, its value is used. If it is not present, the value depends on the global iRMC proxy configuration. If a proxy is configured and
enabled, the <UseProxy> – “yes” value is assumed; if the proxy is not enabled, the <UseProxy> – “no” value is taken.
- The <Proxy> section is optional – if not present, the current iRMC settings are used. This means that if a proxy is configured it will be
used with the same settings, and if the proxy is disabled it will remain disabled.
Important:
To disable the proxy server for repository access only, use the <UseProxy>no</UseProxy> setting. Sending all proxy configuration parameters
empty (as in the example above) will result in disabling proxy use for the whole iRMC network communication.
Besides the newly introduced Repository Configuration REST resource, the RepositoryConfiguration.xml input data for online / offline update as
well as for Custom Image is optional. If it is not set, predefined iRMC settings from the Repository Configuration are taken in account.
2.6 JobList
The dedicated offline update concept relies on the feature of providing RESTful API for starting the dedicated offline update via a JobList.
In general, the JobList is a list of components which are to be installed on a server. The main difference between this feature and the standard
mechanism of online and offline update is that the user can define which version of a selected component should be installed. This also means
that components can be downgraded.
The JobList has JSON syntax. The list is built from two main objects: “Update”, which contains information about the update method (Online or
Offline) and the update mode (Strict or Loose), and “Component”, which contains an array with components which are to be installed.
Each component must have the following fields:
@ComponentIdx – unique index
ComponentType – component type (category: e.g. LanController, SystemBoard)
ComponentName – component name (model: e.g. OCe10102-F, D3229-RX100S8)
ComponentVersion – component version (e.g. V4.6.313.24, V4.6.5.4_R2.14.0)
ValidationResult – component’s dependency validation result
In general, three parameters – ComponentType, ComponentName and ComponentVersion – should create a path to the directory with
versionLeaf.txt / binary file on the local / remote repository.
For example:
/usr/lmedia/eLCM_UpdateCatalog/globalflash/ComponentType/ComponentName/ComponentVersion/versionLeaf.txt
http://support.ts.fujitsu.com/DownloadManager/globalflash/ComponentType/ComponentName/ComponentVersion/binary_file.exe
Page 7 of 100
The VersionResult parameter is used by iRMC to check if a given component has passed the dependency validation test. The iRMC must receive
a list of already validated components.
An example of a JobList:
{
“Update” : {
“Method” : “Online/Offline”,
“UpdateMode” : “strict/loose”
},
“Component” : [
{
“@ComponentIdx” : 1,
“ComponentType” : “SystemBoard”,
“ComponentName” : “D3302-RX200S8”,
“ComponentVersion” : “V4.6.5.4_R1.11.0”,
“ValidationResult” : “OK”
},
{
“@ComponentIdx” : 2,
“ComponentType” : “MangementController”,
“ComponentName” : “iRMC S5”,
“ComponentVersion” : “7.70”,
“ValidationResult” : “ERR”,
“ValidationDependency” : { *rekursiv*
“ComponentType” : “LanController”,
“ComponentName” : “Intel-XYZ”,
“ComponentVersion” : “V5.0.0.9_R1.24.0”
}
},
…,
{ … }]}
Page 8 of 100
2.7 Activities Interlock
Some eLCM activities cannot be run while others are being executed. This limitation is mostly related to performing system restarts when another activity is currently performing an action on this system. With
eLCM 1.2, the interlocking mechanism was updated to disable such scenarios.
A significant change introduced in comparison with previous firmware releases is that interlocking is performed just before an activity should start, not during session activation. Even if a scheduled activity is
rejected, scheduler settings will remain unchanged and the next attempt will be performed according to scheduled mode. An appropriate message is left in session logs, and session execution is terminated
with the status “terminate – conflict with another running eLCM activity”. Moreover, the new interlock schema locks activities executed in parallel via RESTful API and in the WebUI.
The following table should be read as follows: The columns show currently executing activities, while the rows show activity candidates to be executed. So for instance, when Download Custom Image is being
executed, the activity Obtain Profile Parameters is allowed, but Execute Offline Update is prohibited and will be terminated.
OBTAIN PROFILE PARAMETERS
APPLY PROFILE
PREPARE OFFLINE UPDATE
EXECUTE OFFLINE UPDATE
ONLINE UPDATE CHECK
ONLINE UPDATE EXECUTE
DOWNLOAD CUSTOM IMAGE
EXECUTE CUSTOM IMAGE
SET REPO CONFIG
DOWNLOAD DEPLOYMENT
IMAGE
DEDICATED ONLINE UPDATE
DEDICATED OFFLINE UPDATE
OBTAIN PROFILE
PARAMETERS BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED
not implemented
BLOCKED
APPLY PROFILE
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
PREPARE OFFLINE UPDATE
BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
EXECUTE OFFLINE UPDATE
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
ONLINE UPDATE CHECK
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
ONLINE UPDATE EXECUTE
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
DOWNLOAD CUSTOM IMAGE
BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
EXECUTE CUSTOM IMAGE
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
SET REPO CONFIG
BLOCKED not
implemented
DOWNLOAD DEPLOYMENT
IMAGE BLOCKED BLOCKED BLOCKED
not implemented
BLOCKED
DEDICATED ONLINE UPDATE
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
not implemented
DEDICATED OFFLINE UPDATE
BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED BLOCKED not
implemented BLOCKED
Page 9 of 100
3 RESTful API
3.1 Support Table
URI Method Supported
since
Repository Configuration
rest/v1/Oem/eLCM/Repository/Update GET 8.2x (S4)
rest/v1/Oem/eLCM/Repository/Deployment GET 8.2x (S4)
rest/v1/Oem/eLCM/Repository/Update PUT 8.2x (S4)
rest/v1/Oem/eLCM/Repository/Deployment PUT 8.2x (S4)
Online Update
rest/v1/Oem/eLCM/OnlineUpdate POST 8.2x (S4)
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection GET 8.0x (S4)
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection DELETE 8.0x (S4)
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection PUT 8.2x (S4)
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> GET 8.0x (S4)
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> PATCH 8.0x (S4)
Offline Update
rest/v1/Oem/eLCM/OfflineUpdate/Configuration
deprecated by Repository Configuration in iRMC FW 8.1x POST 8.0x (S4)
rest/v1/Oem/eLCM/OfflineUpdate POST 8.2x (S4)
rest/v1/Oem/eLCM/OfflineUpdate PUT 8.2x (S4)
Dedicated Update
rest/v1/Oem/eLCM/DedicatedUpdate POST 8.2x (S4)
Custom Images
rest/v1/Oem/eLCM/CustomImage GET 8.0x (S4)
rest/v1/Oem/eLCM/CustomImage POST 8.2x (S4)
rest/v1/Oem/eLCM/CustomImage/<ImageName> GET 8.0x (S4)
rest/v1/Oem/eLCM/CustomImage/<ImageName> PUT 8.2x (S4)
rest/v1/Oem/eLCM/CustomImage/<ImageName> DELETE 8.2x (S4)
rest/v1/Oem/eLCM/CustomImage/Download POST 8.2x (S4)
rest/v1/Oem/eLCM/CustomImage/ProxySettings GET 8.2x (S4)
rest/v1/Oem/eLCM/CustomImage/ProxySettings PUT 8.2x (S4)
Profile Management
rest/v1/Oem/eLCM/ProfileManagement/get POST 8.2x (S4)
rest/v1/Oem/eLCM/ProfileManagement/set POST 8.2x (S4)
rest/v1/Oem/eLCM/ProfileManagement GET 8.0x (S4)
Page 10 of 100
rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> GET 8.0x (S4)
rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> DELETE 8.0x (S4)
rest/v1/Oem/eLCM/ProfileManagement/capabilities GET 8.0x (S4)
rest/v1/Oem/eLCM/ProfileManagement/version GET 8.2x (S4)
Deployment
rest/v1/Oem/eLCM/SVIM/GetOsTypeSupport POST 8.2x (S4)
rest/v1/Oem/eLCM/SVIM/OSTypes GET 8.2x (S4)
rest/v1/Oem/eLCM/SVIM/Download POST 8.2x (S4)
rest/v1/Oem/eLCM/SVIM/BootEnvironment PATCH 8.2x (S4)
rest/v1/Oem/eLCM/SVIM/ GET 8.2x (S4)
rest/v1/Oem/eLCM/SVIM/remove DELETE 8.2x (S4)
LCM Session Management
sessionInformation GET 8.0x (S4)
sessionInformation/<sessionID>/status GET 8.0x (S4)
sessionInformation/<sessionID>/log GET 8.0x (S4)
sessionInformation/<sessionID>/ws GET 8.0x (S4)
sessionInformation/<sessionID>/terminate DELETE 8.0x (S4)
sessionInformation/<sessionID>/remove DELETE 8.0x (S4)
LCM General
rest/v1/Oem/eLCM/eLCMStatus GET 8.2x (S4)
Link Status
rest/v1/Oem/NICLink/status GET 8.6x (S4)
Firmware Inventory
redfish/v1/ GET 8.6x (S4)
SSD Lifetime Monitoring
rest/v1/Oem/SSDConfigurationIrmc GET 8.8x (S4)
iRMC
/rest/v1/Oem/iRMC/Reset POST 1.0x (S5)
Page 11 of 100
3.2 Repository Configuration
3.2.1 rest/v1/Oem/eLCM/Repository/Update GET
URI: Method:
rest/v1/Oem/eLCM/Repository/Update GET
Result: Returns the current update repository configuration.
Behavior: None
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: Update repository configuration in XML or JSON format.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/Repository/Update”
↑
3.2.2 rest/v1/Oem/eLCM/Repository/Deployment GET
URI: Method:
rest/v1/Oem/eLCM/RepositoryDeployment GET
Result: Returns the current deployment repository configuration.
Behavior: None
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 occurred.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: Deployment repository configuration in XML or JSON format.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/Repository/Deployment”
↑
Page 12 of 100
3.2.3 rest/v1/Oem/eLCM/Repository/Update PUT
URI: Method:
rest/v1/Oem/eLCM/Repository/Update PUT
Result: Applies new repository configuration.
Behavior: Tests repository connection. Only if the test is successful is the configuration applied and saved.
URL Parameter: Optional:
“tag”
Input Data: RepositoryConfiguration.xml
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if RepositoryConfiguration.xml was not sent.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if another repository configuration operation is currently running
or there is no valid eLCM license or the SD card is not mounted.
Returned Data: Session information
Comment: None
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X PUT -i --data @$rcxml_path
“http://X.X.X.X/rest/v1/Oem/eLCM/Repository/Update”
↑
3.2.4 rest/v1/Oem/eLCM/Repository/Deployment PUT
URI: Method:
rest/v1/Oem/eLCM/Repository/Update PUT
Result: Applies new deployment repository configuration.
Behavior: Tests repository connection. Only if the test is successful is the configuration applied and saved.
URL Parameter: Optional:
“tag”
Input Data: RepositoryConfiguration.xml
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if RepositoryConfiguration.xml was not sent.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if another repository configuration operation is currently running
or there is no valid eLCM license or the SD card is not mounted.
Returned Data: Session information
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X PUT -i --data @$rcxml_path
“http://X.X.X.X/rest/v1/Oem/eLCM/Repository/Deployment”
Page 13 of 100
↑
3.3 Online Update
3.3.1 rest/v1/Oem/eLCM/OnlineUpdate POST
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate POST
Result: Start update check.
Behavior: Creates a new “updateCollection” resource under “/rest/v1/Oem/eLCM/OnlineUpdate” and starts an update check using the
specified repository server information. The repository server information is transferred in the POST message body as an
XML-formatted string. To perform the update check, the POST method handler creates an LCM session performing the
necessary operations.
URL Parameter: Optional:
“tag”
Input Data: Optional:
\RepositoryConfiguration.xml
Important: Transmitting the Repository Configuration in this way is deprecated. Only XML is possible here. No JSON
support. Use rest/v1/Oem/eLCM/Repository/Update PUT instead
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “updateCollection” resource already exists or a
resource is required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid
eLCM license or the SD card is not mounted.
Returned Data: If successful, the session ID is sent in the body of the response message. The response message contains a relative
location header referencing the “updateCollection” location.
Comment: The progress of the update check can be monitored via LCM Session Management (see section 3.8).
Creates LCM Session: Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i “http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate” --data
@C:\RepositoryConfiguration.xml
↑
3.3.2 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection GET
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection GET
Result: Reads update check result.
Behavior: A list of links to all individual component update resources is returned in the body of the response message.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested component link does not exist.
Page 14 of 100
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: If successful, a list of links to all individual component update resources is returned in the body of the response message.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”
↑
3.3.3 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection DELETE
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection DELETE
Result: Removes update check result.
Behavior: The iRMC update entity checks if the update process referenced by the “updateCollection” resource is currently running. If
so, the resource is retained, otherwise the iRMC update entity deletes the “updateCollection” resource.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if deletion of the “updateCollection” resource was successful.
HTTP status code 409 (CONFLICT) is returned if the delete failed (e.g. “updateCollection” resource is currently running).
HTTP status code 501 (NOT IMPLEMENTED) is returned if the “delete” method is performed on a specific component
resource (e.g. URI as in “PATCH” method).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: None
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/xml" -X DELETE -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”
↑
3.3.4 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> GET
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> GET
Result: Reads updatable component details.
Behavior: Detailed update information about the requested component / subcomponent is returned in the response message body.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned on error.
Page 15 of 100
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: If successful, detailed update information is returned in the response message body.
Comment:
Creates LCM
Session:
No
cURL example: curl -u admin:admin -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/SystemBoard/D2939-RX300S8”
↑
3.3.5 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> PATCH
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/<component>/<subcomponent> PATCH
Result: Changes updatable component flags.
Behavior: Allows modification of the component selection and reset flags of a specific resource under
“/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”, where the resource is identified by the respective link.
URL Parameter: None
Input Data: The flag settings provided as URL parameters.
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the specified component does not exist.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or is the SD card is not mounted.
Returned Data: None
Comment: None
Creates LCM
Session:
No
cURL example: curl -u admin:admin -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-
Win/ServerView_RAID_E?Execution=deselected”
↑
3.3.6 rest/v1/Oem/eLCM/OnlineUpdate/updateCollection PUT
URI: Method:
rest/v1/Oem/eLCM/OnlineUpdate/updateCollection PUT
Result: Starts update process.
Behavior: This method starts the configured component updates by creating a corresponding LCM session.
URL Parameter: Optional:
“tag”
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
Page 16 of 100
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “updateCollection” resource does not exist or a
resource is required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid
eLCM license or the SD card is not mounted.
Returned Data: If successful, provides the session ID in the body of the response message.
Comment: The update job progress and result can be monitored by performing the GET method on the
“/sessionInformation/<sessionID>/status” resource.
Creates LCM
Session:
Yes
cURL example: curl -u admin:admin -H "Accept: application/json" -X PUT -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”
↑
Page 17 of 100
3.4 Offline Update
3.4.1 rest/v1/Oem/eLCM/OfflineUpdate/Configuration POST
URI: Method:
rest/v1/Oem/eLCM/OfflineUpdate/Configuration POST
Result: Applies new repository configuration.
Behavior: Permanently applies the repository configuration for all eLCM operations.
URL Parameter: None
Input Data: \RepositoryConfiguration.xml
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if RepositoryConfiguration.xml was not sent.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if another repository configuration operation is currently
running. This status is also returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: Session information
Comment: Deprecated – retained for backward compatibility only. Behaves exactly the same as
rest/v1/Oem/eLCM/RepositoryConfiguration POST, which should be used from now on.
Create LCM Session: Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OfflineUpdate/Configuration --data @C:\RepositoryConfiguration.xml”
↑
3.4.2 rest/v1/Oem/eLCM/OfflineUpdate POST
URI: Method:
rest/v1/Oem/eLCM/OfflineUpdate POST
Result: Prepares offline update.
Behavior: This method triggers the offline update preparation using the specified repository server information.
URL Parameter: Optional:
“bootEnvironment”: “uefi” or “legacy” (default=legacy)
“tag”
Input Data: Optional:
\RepositoryConfiguration.xml
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “OfflineUpdate” resource already exists or a resource is
required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid eLCM license
Page 18 of 100
or the SD card is not mounted.
Returned Data: If successful, the session ID is sent in the body of the response message.
Comment: The progress of the update check can be monitored by performing the GET method on the
“/sessionInformation/<sessionID>/status” resource.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST --data @c:\RepositoryConfiguration.xml -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OfflineUpdate?bootEnvironment=uefi&tag=OfflineTagName”
↑
3.4.3 rest/v1/Oem/eLCM/OfflineUpdate PUT
URI: Method:
rest/v1/Oem/eLCM/OfflineUpdate PUT
Result: Executes offline update.
Behavior: This method starts the execution of the offline update process.
URL Parameter: Optional:
“tag”
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “OfflineUpdate” resource does not exist or a resource is
required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid eLCM license
or the SD card is not mounted.
Returned Data: If successful, the session ID is sent in the body of the response message.
Comment: The progress and result of the offline update can be monitored by performing the GET method on the
“/sessionInformation/sessionID/status” and “/sessionInformation/sessionID/log” resources.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X PUT -i “http://X.X.X.X /rest/v1/Oem/eLCM/OfflineUpdate”
↑
Page 19 of 100
3.5 Dedicated Update
3.5.1 rest/v1/Oem/eLCM/DedicatedUpdate POST
URI: Method:
rest/v1/Oem/eLCM/DedicatedUpdate POST
Result: Executes dedicated update.
Behavior: This function activates the update list.
URL Parameter: Optional:
“bootEnvironment”: “uefi” or “legacy” (default=legacy)
“tag”
Input Data: JobList
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if the JobList cannot be processed because it may contain errors
HTTP status code 406 (Unknowm MIME Type) is returned if unknown MIME type is used in request
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5
HTTP return code 501 (NOT IMPLEMENTED) is returned if update list contains unknown parameters, e.g. Method = “Online”
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if dedicated update session cannot be established
Returned Data: Session information
Comment: None
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST --data @c:\update-list.json -i
“http://X.X.X.X/rest/v1/Oem/eLCM/DedicatedUpdate?bootEnvironment=uefi&tag=OfflineTagName”
↑
Page 20 of 100
3.6 Custom Images
3.6.1 rest/v1/Oem/eLCM/CustomImage POST
URI: Method:
rest/v1/Oem/eLCM/CustomImage POST
Result: Custom image download.
Behavior: This method downloads the ISO image file specified by the “file” URL parameter and creates a new resource under
“/rest/v1/Oem/eLCM/CustomImage” when the download is finished.
URL Parameter: Obligatory:
“file”
Optional:
“bootEnvironment”
“tag”
Input Data: RepositoryConfiguration.xml
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “CustomImage” resource already exists or a resource is
required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid eLCM license
or the SD card is not mounted.
Returned Data: The response contains a relative location header referring to the custom image resource that will be created, and the
session ID is sent in the body of the response message.
Comment: It is possible to specify boot mode via the “bootEnvironment” URL parameter with values “uefi” or “legacy”. If
“bootEnvironment” is not specified, “legacy” boot mode is used by default.
The progress of the image file download can be monitored by performing the GET method on the
“/sessionInformation/<sessionID>/status” resource.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
"http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage?file=<Filename>&bootEnvironment=<uefi/legacy>&tag=CustomTag" --data
@C:\RepositoryConfiguration.xml
↑
3.6.2 rest/v1/Oem/eLCM/CustomImage GET
URI: Method:
rest/v1/Oem/eLCM/CustomImage GET
Result: Lists custom images.
Behavior: This method returns a list of links to all locally available custom image resources.
URL Parameter: None
Input Data: None
Page 21 of 100
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: A list of links to all locally available custom image resources in the response message body.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i "http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage"
↑
3.6.3 rest/v1/Oem/eLCM/CustomImage/<ImageName> GET
URI: Method:
rest/v1/Oem/eLCM/CustomImage/<ImageName> GET
Result: Reads custom image metadata.
Behavior: This method returns the metadata stored with the custom image in the response message body.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the specified link does not exist.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: Metadata stored with the custom image in the response message body.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
"http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage/<ImageName>"
↑
3.6.4 rest/v1/Oem/eLCM/CustomImage/<ImageName> PUT
URI: Method:
rest/v1/Oem/eLCM/CustomImage/<ImageName> PUT
Result: Executes custom image.
Behavior: This method executes the boot from the ISO image referenced by the respective URI.
Initiates an LCM session.
URL Parameter: Optional:
“tag”
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
Page 22 of 100
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task
could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the “<ImageName>” resource does not exist or a resource
is required (e.g. CD-ROM drive) which is occupied by another task. This status is also returned if there is no valid eLCM
license or the SD card is not mounted.
Returned Data: The session ID is sent in the body of the response message.
Comment: The image execution can be monitored by performing the GET method on the “/sessionInformation/<sessionID>/status”
resource.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X PUT -i
"http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage/<ImageName>?tag=CustomTag"
↑
3.6.5 rest/v1/Oem/eLCM/CustomImage/<ImageName> DELETE
URI: Method:
rest/v1/Oem/eLCM/CustomImage/<ImageName> DELETE
Result: Deletes custom image.
Behavior: This method executes the boot from the ISO image referenced by the respective URI.
Initiates an LCM session.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if the image name was not defined.
HTTP status code 404 (NOT FOUND) is returned if deleting the image failed.
HTTP status code 409 (CONFLICT) is returned if the image is currently mounted.
Returned Data: None
Comment: None
Creates LCM
Session:
No
cURL example curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i
"http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage/<ImageName>"
↑
3.6.6 rest/v1/Oem/eLCM/CustomImage/Download POST
URI: Method:
rest/v1/Oem/eLCM/CustomImage/Download POST
Result: Custom image download.
Behavior: This method downloads the ISO image file specified by the “url” URL parameter and creates a new resource with the file name
under “/rest/v1/Oem/eLCM/CustomImage” when the download is finished.
Page 23 of 100
Creates an LCM session.
URL
Parameter:
Obligatory:
“url”
e.g. http://support.ts.fujitsu.com/<ImageName.iso> including file name with “.iso” at the end!
Optional:
“bootEnvironment”
“tag”
Input Data: None
Return
Codes:
HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 400 (BAD REQUEST) is returned if there is no “url” parameter or the image has no .iso extension.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task could not
be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if e.g. the maximum number of images (currently 7) is reached or
another eLCM operation, which cannot be performed simultaneously, is already in progress. This status is also returned if there is
no valid eLCM license or the SD card is not mounted.
Returned
Data:
The response contains a relative location header referring to the custom image resource that will be created, and the session ID is
sent in the body of the response message.
Comment: It is possible to specify boot mode via the “bootEnvironment” URL parameter with values “uefi” or “legacy”. If “bootEnvironment” is
not specified, “legacy” boot mode is used by default.
The progress of the image file download can be monitored by performing the GET method on the
“/sessionInformation/<sessionID>/status” resource.
Creates LCM
Session:
Yes
cURL
example
curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
“http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage/Download?URL=<DownloadURLwithFilename>&bootEnvironment=<uefi/legacy>&
tag=CustomTag"
↑
3.6.7 rest/v1/Oem/eLCM/CustomImage/Proxysettings GET
URI: Method:
rest/v1/Oem/eLCM/CustomImage/ProxySettings GET
Result: Returns the current proxy settings for the custom image download.
Behavior: None
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: Proxy settings in XML or JSON format.
<ProxySettings> <UseProxy>yes/no</UseProxy>
Page 24 of 100
<Proxy> <URL></URL> <Port></Port> <User></User> <Password></Password> </Proxy> </ProxySettings >
<Proxy> settings returned are the global iRMC proxy settings.
<UseProxy> setting is a dedicated setting for Custom Image.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/ CustomImage/ProxySettings”
↑
3.6.8 rest/v1/Oem/eLCM/CustomImage/Proxysettings PUT
URI: Method:
rest/v1/Oem/eLCM/CustomImage/ProxySettings PUT
Result: Applies new proxy settings.
Behavior: None
URL Parameter: None
Input Data: ProxySettings
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5.
HTTP status code 400 (BAD REQUEST) is returned if ProxySettings was not sent or the configuration file could not be parsed
correctly.
TTP status code 503 (SERVICE UNAVAILABLE) is returned if another repository configuration operation is currently running or
there is no valid eLCM license or the SD card is not mounted.
Returned Data: None
Comment: <ProxySettings> <UseProxy>yes/no</UseProxy> <Proxy> <URL></URL> <Port></Port> <User></User> <Password></Password> </Proxy> </ProxySettings >
<Proxy> settings sent overwrite global iRMC proxy settings.
<UseProxy> setting sets the dedicated setting for Custom Image.
Creates LCM
Session
No
cURL example curl -u <uname>:<pwd> -H "Accept: application/xml" -X PUT -i --data @proxyConfig.xml
“http://X.X.X.X/rest/v1/Oem/eLCM/CustomImage/ProxySettings”
↑
Page 25 of 100
3.7 Profile Management
3.7.1 rest/v1/Oem/eLCM/ProfileManagement/get POST
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/get POST
Result: Obtains current parameter values.
Behavior: This method instantiates a new LCM session, retrieving the parameter values addressed by the URL parameter “PARAM_PATH”. The resulting profile is written to the Profile Store, where the resource name is defined by the root of the JSON or XML tree contained in it.
URL Parameter: Obligatory: “PARAM_PATH” Optional: “tag”
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP return code 409 (CONFLICT) is returned if a profile with that name already exists.
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if another “obtain” or “apply” operation is currently running.
Returned Data: The session ID is sent in the body of the response message. The name of the newly created profile resource is returned as a relative location header in the response message.
Comment: The progress of the current operation can be monitored by performing the GET method on the “/sessionInformation/<sessionID>/status”.
Creates LCM Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/get?PARAM_PATH=Server/AdapterConfigIrmc”
↑
3.7.2 rest/v1/Oem/eLCM/ProfileManagement/set POST
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/set POST
Result: Applies parameter values.
Behavior: This method creates an LCM session that applies the parameter values contained in the profile transferred in the request message body.
URL Parameter: Optional: “tag”
Input Data: \server.xml or \server.json or \<filename>.json|xml
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP return code 409 (CONFLICT) is returned if a profile with that name already exists.
Page 26 of 100
HTTP status code 500 (SERVER ERROR) is returned if an error occurred in the iRMC S5 (e.g. not enough memory or task could not be created).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if another “obtain” or “apply” operation is currently running.
Returned Data: The session ID is sent in the body of the response message. The name of the newly created profile resource is returned as a relative location header in the response message.
Comment: The progress of the current operation can be monitored by performing the GET method on the “/sessionInformation/<sessionID>/status”.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/set” --data @C:\Server.json
↑
3.7.3 rest/v1/Oem/eLCM/ProfileManagement GET
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement GET
Result: Lists existing profiles.
Behavior: A list of links to all existing profiles in the store is returned in the body of the response message.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: A list of links to all existing profiles in the store is returned in the body of the response message.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement”
↑
3.7.4 rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> GET
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> GET
Result: Reads profile.
Behavior: Returns the contents of the requested profile in the response message body.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested profile does not exist.
Returned Data: Returns the contents of the requested profile in the response message body.
Page 27 of 100
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/AdapterConfigIrmc”
↑
3.7.5 rest/v1/Oem/eLCM/ProfileManagement/capabilities GET
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/capabilities GET
Result: Reads capabilities.
Behavior: Returns the list of supported parameters and actions directly underneath the parameter path specified by the URL
parameter “PARAM_PATH”. The capabilities list is transferred in the response message body.
URL Parameter: Obligatory:
“PARAM_PATH”
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested profile does not exist.
Returned Data: The capabilities list is transferred in the response message body.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/capabilities?PARAM_PATH=Server/AdapterConfigIrmc”
↑
3.7.6 rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> DELETE
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/<ProfileName> DELETE
Result: Removes profile.
Behavior: Removes the specified profile resource from the Profile Store.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP return code 404 (NOT FOUND) is returned if the profile does not exist.
Returned Data: None
Comment: Clearing the complete store with the DELETE method is not allowed; hence, performing the DELETE method on the
“/rest/v1/Oem/eLCM/ProfileManagement” resource causes the HTTP return code 501 (NOT IMPLEMENTED) to be sent.
Creates LCM
Session:
No
Page 28 of 100
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/AdapterConfigIrmc”
↑
3.7.7 rest/v1/Oem/eLCM/ProfileManagement/version GET
URI: Method:
rest/v1/Oem/eLCM/ProfileManagement/version GET
Result: Returns versioning of current implementation for eLCM PMS profiles.
Behavior: Retrieves version of implemented support of server profile and for the following subprofiles supported by iRMC:
- AdapterConfig
- IrmcConfig
- BiosConfig
The following subprofiles are only conditionally available if Service Platform is uploaded and available on iRMC:
- OsInstallation
- HWConfiguration
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP return code 404 (NOT FOUND) is returned if the profile does not exist.
Returned Data: Example:
<Server Version = "$a">
<AdapterConfigIrmc Version = "$b" />
<HWConfiguration Version = "$c" /> <!– if available-->
<OSInstallation Version = "$d" /> <!– if available-->
<SystemConfig>
<IrmcConfig Version = "$e" />
<BiosConfig Version = "$f" />
</SystemConfig>
</Server>
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/version”
↑
Page 29 of 100
3.8 Deployment
3.8.1 rest/v1/Oem/eLCM/SVIM/GetOsTypeSupport POST
URI: Method:
rest/v1/Oem/eLCM/SVIM/GetOsTypeSupport POST
Result: Allocates internal resources for supported OS types for the Service Platform Image available in the repository.
Behavior: This request triggers the download and parsing of SVIMCatalogue.XML for the current system type.
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if the internal structures are allocated successfully and filled with supported OS types.
HTTP status code 404 (NOT FOUND) is returned if the requested file cannot be found in the repository, cannot be parsed or
the repository is not accessible.
HTTP status code 501 (NOT IMPLEMENTED) is returned if the requested URI is not supported
(e.g. wrongly formatted, URI with OSTypes badly specified, e.g. OSTyp or similar).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: N/A
Comment: URI is not case-sensitive!
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i ipAddress/rest/v1/Oem/eLCM/SVIM/GetOsTypeSupport
↑
3.8.2 rest/v1/Oem/eLCM/SVIM/OSTypes GET
URI: Method:
rest/v1/Oem/eLCM/SVIM/OSTypes GET
Result: Returns supported OS types for the Service Platform Image available in the repository.
Behavior: This request returns a list of supported OS types for the current system type.
Important:
Please be aware that resources must be allocated via the command /GetOsTypeSupport POST.
Otherwise the return code NOT_FOUND (404) is issued.
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if the supported OS types are successfully returned.
HTTP status code 400 (BAD REQUEST) is returned if the requested URI is wrongly defined (without OS types specified) or
there are no resources allocated with the GetOsTypeSupport POST command.
HTTP status code 404 (NOT FOUND) is returned if the requested file cannot be found in the repository, cannot be parsed or
the repository is not accessible. This code is also returned if resources are not allocated.
HTTP status code 501 (NOT IMPLEMENTED) is returned if the requested URI is not supported
(e.g. wrongly formatted, URI with OSTypes badly specified, e.g. OSTyp or similar).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: // [JSON format] // [XML format]
Page 30 of 100
{
"SupportedOsTypes":[
{
"@Id":1,
"OsType":"Microsoft Hyper-V Server 2012 R2"
},
{
"@Id":2,
"OsType":"Microsoft Hyper-V Server 2012"
},
{
"@Id":3,
"OsType":"Microsoft Hyper-V Server 2008 R2 update 1"
}
]
}
<?xml version="1.0"?>
<SupportedOsTypes>
<OsType Id="1">Microsoft Hyper-V Server 2012 R2</OsType>
<OsType Id="2">Microsoft Hyper-V Server 2012</OsType>
<OsType Id="3">Microsoft Hyper-V Server 2008 R2 update
1</OsType>
</SupportedOsTypes>
Comment: URI is not case-sensitive!
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i "http://X.X.X.X/rest/v1/Oem/eLCM/SVIM/OSTypes"
↑
3.8.3 rest/v1/Oem/eLCM/SVIM/Download POST
URI: Method:
rest/v1/Oem/eLCM/SVIM/Download POST
Result: RESTful API initiates Service Platform download that supports a certain OS type.
Behavior: This request triggers the download sequence.
URL Parameter:
Obligatory:
“OSTypeId” : “1”
The OSTypeId parameter is obligatory! If it is not specified or is out-of-scope of the supported OS types (or resources
delivered by the GetOsTypeSupport POST command are not available), the error code NOT_FOUND is returned).
Optional:
“bootEnvironment”: “uefi” or “legacy” (default=legacy)
“tag”
Note: The repository configuration as an input file is optional. If it is not defined, the configuration from CSVV will be used.
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned if the session has been created and the download action is to start.
HTTP status code 400 (BAD REQUEST) is returned if the command has been wrongly used
(e.g. POST method called but no action or download has been specified at all, OSTypeId is not specified).
HTTP status code 404 (NOT FOUND) is returned if resources of the supported OS types are not allocated.
HTTP status code 500 (SERVER ERROR) is returned if the session could not be created or attached.
HTTP status code 501 (NOT IMPLEMENTED) is returned if the requested URI is not supported
(wrongly formatted, e.g. rest/v1/Oem/eLCM/SVIM/Download).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if the created LCM session cannot be activated. This status is also
returned if there is no valid eLCM license or the SD card is not mounted.
Page 31 of 100
Returned Data: None
Comment: The URI is not case-sensitive!
The OsTypeId parameter should be based on the ID number of the supported OS type returned by the OSTypes GET
command.
The progress of the current operation can be monitored by performing the GET method on the
“/sessionInformation/<sessionID>/status”.
Creates LCM
Session:
Yes
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
"http://X.X.X.X/rest/v1/Oem/eLCM/SVIM/Download?OSTypeId=1&bootEnvironment=legacy"
↑
3.8.4 rest/v1/Oem/eLCM/SVIM/BootEnvironment PATCH
URI: Method:
rest/v1/Oem/eLCM/SVIM/BootEnvironment PATCH
Result: RESTful API changes boot environment for the SVIM PE Image.
Behavior: This request triggers a change of boot environment for the Service Platform.
URL Parameter: Optional:
“bootEnvironment”: “uefi” or “legacy” (default=legacy)
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if the boot environment is successfully changed.
HTTP status code 400 (BAD REQUEST) is returned if the command has been wrongly used
(input data is wrongly defined, e.g. “BootParam=uefi”, or not defined at all).
HTTP status code 500 (SERVER ERROR) is returned if the boot environment could not be set up.
HTTP status code 501 (NOT IMPLEMENTED) is returned if the requested URI is not supported (e.g. wrongly formatted).
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: None
Comment: The URI is not case-sensitive!
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
"http://X.X.X.X/rest/v1/Oem/eLCM/SVIM/BootEnvironment?BootEnvironment=uefi"
↑
3.8.5 rest/v1/Oem/eLCM/SVIM GET
URI: Method:
rest/v1/Oem/eLCM/SVIM GET
Result: Returns information about the currently available deployment image.
Behavior: This request reads information from ImageSupportFile.xml delivered with the image.
URL Parameter: None
Page 32 of 100
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if the deployment image is available and the request was applied successfully.
HTTP status code 404 (NOT FOUND) is returned if e.g. no deployment image exists on the iRMC.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if there is no valid eLCM license or the SD card is not mounted.
Returned Data: // [JSON format]
{
"DeploymentImageInfo":{
"FileName":"SVIM_iso4.iso",
"Version":"11.14.00",
"Creation date":"25.09.2015",
"SupportedOsList":[
{
"OsType":"Windows SBS 2008 Premium"
},
{
"OsType":"Windows SBS 2008 Standard"
}
]
}
}
// [XML format]
<?xml version="1.0" encoding="UTF-8" ?>
<DeploymentImageInfo>
<FileName>SVIM_iso4.iso</FileName>
<Version>11.14.00</Version>
<Creation date>25.09.2015</Creation date>
<SupportedOsList>
<OsType>Windows SBS 2008 Premium</Name>
</SupportedOsList>
<SupportedOsList>
<OsType>Windows SBS 2008 Standard</Name>
</SupportedOsList>
</DeploymentImageInfo>
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/SVIM”
↑
3.8.6 rest/v1/Oem/eLCM/SVIM/remove DELETE
URI: Method:
rest/v1/Oem/eLCM/SVIM/remove DELETE
Result: The RESTful API deletes the Service Platform image.
Behavior: This request triggers the deletion of the Service Platform image.
URL Parameter None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned if the Service Platform image is successfully removed.
HTTP status code 404 (NOT FOUND) is returned if no Service Platform image exists on the iRMC.
HTTP status code 409 (CONFLICT) is returned if the Service Platform image is currently mounted.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if the eLCM license is not available or the SD card is not inserted
and mounted.
Returned Data: None
Comment: The URI is not case-sensitive!
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i “http://X.X.X.X/rest/v1/Oem/eLCM/SVIM/remove”
↑
Page 33 of 100
Page 34 of 100
3.9 LCM Session Management
3.9.1 sessionInformation GET
URI: Method:
sessionInformation GET
Result: Reads the session list.
Behavior: A list of all existing LCM session instances is returned in the body of the response message.
URL Parameter: Optional: “tag”
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested profile does not exist.
Returned Data: A list of all existing LCM session instances is returned in the body of the response message.
Comment: None
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation”
↑
3.9.2 sessionInformation/<sessionID>/status GET
URI: Method:
sessionInformation/<sessionID>/status GET
Result: Reads the session status.
Behavior: This method returns details of the addressed session status.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested session resource does not exist.
Returned Data: This method returns details of the addressed session status in the body of the response message.
Comment: None
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/5/status”
↑
3.9.3 sessionInformation/<sessionID>/log GET
URI: Method:
sessionInformation/<sessionID>/log GET
Result: Reads the session log.
Page 35 of 100
Behavior: This method returns details of the addressed session log.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested session resource does not exist.
Returned Data: This method returns details of the addressed session status in the body of the response message.
Comment: None
Creates LCM
Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/5/log”
↑
3.9.4 sessionInformation/<sessionID>/ws GET
URI: Method:
sessionInformation/<sessionID>/ws GET
Result: Reads the work sequence definition.
Behavior: This method returns details of the addressed session work sequence.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested session resource does not exist.
Returned Data: This method returns details of the addressed session status in the body of the response message.
Comment: None
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/4/ws”
↑
3.9.5 sessionInformation/<sessionID>/terminate DELETE
URI: Method:
sessionInformation/<sessionID>/terminate DELETE
Result: Terminates the session.
Behavior: A termination request is sent to the LCM session instance specified by sessionID. The session will then stop executing at
the next possible termination point.
Session termination logic
Session termination is not possible for some periods during work sequence execution. This is mostly due to a mounted
image which has to be unmounted before any other action can proceed (e.g. for online or offline update execute
activities), or internal firmware processes which have to be finished before the session is terminated.
Termination of session in ACTIVATED state:
- In the case of a purely REST approach, will be performed just before the switch to the RUNNING state.
- In the WebUI, termination is performed immediately and the next session state should be CREATED.
Termination of session in RUNNING state:
Page 36 of 100
- The session termination request is not queued, so if termination was not possible, this will be indicated in
the session log and the next request should be performed by the requester. The only exception to this
point is termination during PmsCommunication activity, which is currently part of APPLY PROFILE (mostly
in connection with deployment) and EXECUTE OFFLINE UPDATE sequences. If communication was already
established and at least one SCCI command was exchanged, the eLCM Host Service is responsible for
session termination.
If the session was terminated for the above scenarios, the image is unmounted and the system is shut down immediately.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested session resource does not exist.
Returned Data: None
Comment: The progress of the current operation can be monitored by performing the GET method on the “/sessionInformation/<sessionID>/status”.
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i “http://X.X.X.X/sessionInformation/5/terminate”
↑
3.9.6 sessionInformation/<sessionID>/remove DELETE
URI: Method:
sessionInformation/<sessionID>/remove DELETE
Result: Removes a session.
Behavior: If the requested session is already terminated, the complete session information is removed from the session table, including all status and log information.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if the requested session resource does not exist.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if the requested session is still running.
Returned Data: None
Comment: Before removing a session it must be terminated.
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i “http://X.X.X.X/sessionInformation/5/remove”
↑
Page 37 of 100
3.10 LCM General
3.10.1 rest/v1/Oem/eLCM/eLCMStatus GET
URI: Method:
rest/v1/Oem/eLCM/eLCMStatus GET
Result: Returns the status of the eLCM (license and mounting of SD card)
Behavior: As above.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 500 (SERVER ERROR) is returned if the eLCM status cannot be returned.
Returned Data: // [JSON format] { "eLCMStatus":{ "EnabledAndLicenced":"true", "SDCardMounted":"false" } }
// [XML format] <?xml version="1.0"?> <eLCMStatus> <EnabledAndLicenced>true</EnabledAndLicenced> <SDCardMounted>false</SDCardMounted> </eLCMStatus>
Comment: None
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/eLCMStatus”
↑
3.11 Link Status
3.11.1 rest/v1/Oem/NICLink/status GET
URI: Method:
rest/v1/Oem/NICLink/status GET
Result: Returns list of network interfaces with their link statuses
Behavior: As above.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned if host is powered off or ServerView Agents are not installed.
Returned Data: { "@Version": "1.00", "MajorVersion": 1, "MinorVersion": 0, "Adapters": {
Page 38 of 100
"Adapter": [ { "@AdapterIdx": 1, "AdapterNumber": 3, "AdapterEnable": "true", "Name": "LAN PCI Card", "LANAdapter": { "Manufacturer": "Fujitsu Technology Solutions", "Name": "FUJITSU Quad Port 1G Adapter D2745", "BusType": "PCI", "PCI": { "PCIId": { "Vendor": 32902, "Device": 5390, "SubVendor": 5940, "SubDevice": 4520 }, "Slot": 3 }, "Ports": { "Port": [ { "@PortIdx": 1, "PortNumber": 0, "PortEnable": "true", "MAC": "00:19:99:C9:BA:08", "Name": "Intel(R) 82580 Gigabit Network Connection", "PCI": { "PCIAddress": { "SegmentNumber": 0, "BusNumber": 2, "DeviceNumber": 0, "FunctionNumber": 0 } }, "Location": "Slot 3 Port 0", "NetworkInterface": { "Name": "Intel(R) 82580 Gigabit Network Connection", "LinkStatus": "up" } }, { "@PortIdx": 2, "PortNumber": 1, "PortEnable": "true", "MAC": "00:19:99:C9:BA:09", "Name": "Intel(R) 82580 Gigabit Network Connection #2", "PCI": { "PCIAddress": { "SegmentNumber": 0, "BusNumber": 2, "DeviceNumber": 0, "FunctionNumber": 1 } }, ...
Comment: Requirement: The host must be powered on and Server View Agent/Agentless Service must be running. Required version of ServerView Agents:
- Agents for Windows 7.31.06 - Agentless Service for Windows 7.31.06 - Agents for Linux 7.31-08 - Agentless Service for Linux 7.31-06
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/NICLink/status”
Page 39 of 100
↑
3.12 Firmware Inventory
The Redfish Scalable Platforms Management API ("Redfish") is a new specification that uses RESTful interface semantics to access data defined
in model format to perform out-of-band systems management. It has been defined by the DMTF and is intended to replace previous
approaches based on IPMI, CIM, or SNMP.
The iRMC is to natively support the Redfish data model to enable seamless integration of PRIMERGY servers into data center management
environments using this new standard. The firmware inventory has been added to the Redfish data model as an OEM extension to the
“Systems” resource.
Only parts required for Firmware Inventory are supported by the Redfish implementation so far. The entry point for Redfish is the URI redfish/v1.
Since the Redfish data model is self-explorable we document only the entry point.
3.12.1 redfish/v1/ GET
URI: Method:
redfish/v1 GET
Result: Returns supported URI of the service
Behavior: As above.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
Returned Data: { "@odata.context":"\/redfish\/v1\/$metadata#ServiceRoot(Id,Name,RedfishVersion,UUID,Systems,Chassis,Tasks)", "@odata.id":"\/redfish\/v1\/", "@odata.type":"#ServiceRoot.1.0.0.ServiceRoot", "Id":"RootService", "Name":"Root Service", "RedfishVersion":"1.0.0", "UUID":null, "Systems":{ "@odata.id":"\/redfish\/v1\/Systems" } }
Comment: None
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET –i “http://X.X.X.X/redfish/v1/”
↑
As you can see, you are informed about further information in the response. Naturally you will explore the URI redfish\/v1\/Systems next.
In the resources we provide the following information for firmware inventory. Please note that certain requirements must be met as described
in the footnotes.
Server Properties Availability Name Poff i PNIii SVAiii Type SystemBIOS yes yes yes String BMCFirmware yes yes yes String SDRRVersion yes yes yes String SDRRId yes yes yes String
Page 40 of 100
Network Properties Availability Port Type Name Poffi PNIii SVAiii vAiv onbv NIC iSCSI FC FCoE RoCE IB Type ModuleName String SlotId Integer PciVendorId Integer PciDeviceId Integer PciSubVendorId Integer PciSubSystemId Integer PortId Integer FirmwareVersion String PciSegment Integer PciBus Integer PciDevice Integer PciFunction Integer SpeedMbps Integer VLANId Integer BiosVersion String WWNN String WWPN String GUID String MacAddress String PortStatus1 String AdapterName String
Storage Adapter Properties Availability Name Poffi PNIii SVAiii OOBvi Type ModuleName String SerialNumber String Vendor String PciVendorId Integer PciDeviceId Integer PCISegment Integer PCIBus Integer PCIDevice Integer PCIFunction Integer FWPackageVersion String FirmwareVersion String Status2 String PhysicalDiskCount Integer LogicalDiskCount Integer
i Available if the system is powered off ii Available after the system has been powered on at least once iii Available if ServerView Agent or Agentless Service is running iv Available with PNI version A v Available for onboard ports vi Available for RAID adapters with StoreLib API
3.13 SSD Lifetime Monitoring
3.13.1 rest/v1/Oem/SSDConfigurationIrmc GET
URI: Method:
rest/v1/Oem/SSDConfigurationIrmc GET
Result: Returns list of SSD Lifetime Information with EndurancePercent and RemainingTime
Behavior: Get the list of lifetime information of SSD mounted to the device. The following information is returned: - EndurancePercent: [ integer ] as % value
o 0 – new SSD , 100 – to be replaced
- RemainingTime: [ string ] in days and hours
o E.g.1820 days 20 hours o This is the expected remaining lifetime of the SSD calculated from SMART information of the
Page 41 of 100
controller There is small possibility that the value of these items become null when SMART information cannot be read. This might happen directly after powering on the system. The available values are cached and monitoring interval is implemented as follows:
- Cache update is only active during PowerOn state of the system
- At least once per hour the SMART information is updated in PowerOn state of the system
- Each 5 minutes it is checked for physical disc configuration in PowerOn state of the system. After
configuration took place the updated values are available latest in 10 minutes
Raid Adapter with no mounted SSDs are not shown in the returned data.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 200 (OK) is returned on success.
HTTP status code 404 (NOT FOUND) is returned if any resource given in the command is not found.
HTTP status code 503 (SERVICE UNAVAILABLE) is returned in when Raid Controller cannot be accessed, PowerOff state or immediately after Power On was executed.
Returned Data: { "SSDConfigurationIrmc":{ "Adapters":{ "RAIDAdapter":[ { "@AdapterId":"RAIDAdapter0", "SsdDisks":{ "SsdDisk":[ { "@Number":"5", "EndurancePercent":0, "RemainingTime":"1820 days 20 hours" }, { "@Number":"6", "EndurancePercent":1, "RemainingTime":"1807 days 22 hours" } ] } } ] } } }
Comment: Values only available in PowerOn state of the system and Raid controller supports this information.
Creates LCM Session:
No
cURL example: curl -u <uname>:<pwd> -H "Accept: application/json" -X GET –i “http://X.X.X.X/rest/v1/Oem/SSDConfigurationIrmc”
↑
Page 42 of 100
3.14 iRMC
3.14.1 /rest/v1/Oem/iRMC/Reset POST
URI: Method:
/rest/v1/Oem/iRMC/Reset POST
Result: Reboots the iRMC
Behavior: If the iRMC is currently not being flashed or a POST is in process, the iRMC will restart.
URL Parameter: None
Input Data: None
Return Codes: HTTP status code 202 (ACCEPTED) is returned on success.
HTTP status code 409 (CONFLICT) is returned if requirements for a reset are not fulfilled
Returned Data: None
Comment: None
Creates LCM Session:
No
cURL example: curl -k -u <uname>:<pwd> -H "Accept: application/json" -H "Content-type: application/json" -X POST -i "https:// X.X.X.X/rest/v1/Oem/iRMC/Reset"
↑
Page 43 of 100
4 Examples
4.1 Profile Management
4.1.1 Accessing any Paths of the Server Profile The ParamPath URL parameter allows any path of the server profile to be accessed.
The server profile is defined as:
Server{
SystemConfig{
IrmcConfig{} See section 5.1
BiosConfig{} See section 5.2
}
HWConfigurationIrmc {} See section 5.3
OSInstallation {} See section 5.4
HWConfiguration{} See section 5.4
AdapterConfig{} See section 5.4
}
E.g. to access the IrmcConfig, the ParamPath=Server/SystemConfig/IrmcConfig should be used.
4.1.2 Profile Flow Control
4.1.2.1 Processing a server profile
A server profile contains certain subprofiles which must be executed in a fixed, predefined order. The processing order is not defined by the profile contents, but implicitly by the implementation of the iRMC profile manager, here in particular by the “applyProfile” work sequence definition. The execution sequence of the contained subprofiles is defined as follows:
1. BIOS configuration 2. iRMC configuration 3. Adapter configuration 4. OS installation + hardware configuration 5. HW configuration iRMC
4.1.2.2 Execution flow control
Although the general execution order of subprofiles is fixed, a server profile provides certain methods of profile execution flow control, namely: - “ErrorBehaviour”:
o This attribute may be specified with the root node (“Server”) of the server profile and can take the values “Stop” or “Ignore”. o If the “ErrorBehaviour” attribute is not specified, “Ignore” is assumed by the profile manager. o In the case of “Stop”, no further subprofiles are applied after an error occurred during execution of a preceding subprofile.
- “Processing”: o This attribute is specified with a subprofile node and can take the values “execute” and “skip”. If no value is given, “skip” is
assumed. o The value of the “Processing” attribute is inherited by child nodes if these do not have their own “Processing” attribute
defined.
4.1.2.3 Profile versioning
Working with profiles is version-dependent. When using rest/v1/Oem/eLCM/ProfileManagement/version GET you can find out the current
supported versions of the profiles. The versioning information is also added to each profile created by the firmware.
When applying a profile a version check is performed.
- We only allow versions that have the same main version number and the same or an earlier secondary version number compared to
the supported firmware version.
- We do not allow higher versions than the supported firmware version.
- We do not allow versions with a lower main number than the supported firmware version.
This check applies to each instance of version information. The Server@Version info is checked first. The subprofile version is only checked for
any subprofile that becomes active by processing attribute == execute.
Page 44 of 100
When integrating the version check, you must make sure that profile versions are included for each profile sent. If no versioning information is
available for the /server profile or any versioned subprofile on which the processing attribute is set to execute, we return an error.
The check is included in the first step of validing the rest/v1/Oem/eLCM/ProfileManagement/set POST command and return codes are adjusted if
versions do not match.
4.1.3 Using eLCM Profile Management Using Microsoft CMD and cURL.
To get the current profiles stored in the iRMC Profile Store:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:24:49 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:24:49 GMT
Content-Length: 970
Content-Type: application/json; charset=UTF-8
{
"Links":{
"profileStore":
}
}
As you can see, there are currently no profiles available in the Profile Store.
Before a profile is stored in the Profile Store, you need to create the profile.
In the following example we create the subprofile specified by Server/SystemConfig/BiosConfig/PciConfig.
The format will be JSON.
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/get?PARAM_PATH=Server/SystemConfig/BiosConfig/PciConfig”
HTTP/1.1 202 Accepted
Date: Thu, 02 Mar 2017 08:33:54 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:33:54 GMT
Content-Length: 153
Content-Type: application/json; charset=UTF-8
Location: rest/v1/Oem/eLCM/ProfileManagement/PciConfig
{
"Session":{
"Id":4,
"WorkSequence":"obtainProfileParameters",
"Start":"",
"Duration":0,
"Status":"activated"
}
}
This call returns a session ID.
We can track the status using the following commands.
To get general session information you can use:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation”
HTTP/1.1 200 OK
Page 45 of 100
Date: Thu, 02 Mar 2017 08:34:32 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:34:32 GMT
Content-Length: 409
Content-Type: application/json; charset=UTF-8
{
"SessionList":{
"Session":[
{
"@Id":1,
"@Tag":"WebUI",
"#text":"onlineUpdate"
},
{
"@Id":2,
"@Tag":"WebUI",
"#text":"offlineUpdate"
},
{
"@Id":3,
"@Tag":"WebUI",
"#text":"customImage"
},
{
"@Id":4,
"@Tag":"",
"#text":"obtainProfileParameters"
}
]
}
}
In this example you see four sessions. We are more interested in session 4. To get the status we use the following command:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/4/status”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:40:39 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:40:39 GMT
Content-Length: 185
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":4,
"Tag":"",
"WorkSequence":"obtainProfileParameters",
"Start":"2017\/03\/02 03:34:04",
"Duration":1,
"Status":"terminated regularly"
}
}
This command is to be used to monitor the status of the session execution. In this case the session was terminated normally.
As long as the session is in place, you can also get more detailed log information for it. To do this we call the following function:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/4/log”
HTTP/1.1 200 OK
Date: Tue, 08 Dec 2015 09:25:52 GMT
Page 46 of 100
Server: iRMC S5 Webserver
Content-Length: 4695
Content-Type: application/json; charset=UTF-8
Content-disposition: attachment; filename="sessionInformation/4/log";
{
"SessionLog":{
"Id":5,
"WorkSequence":"obtainProfileParameters",
"Entries":{
"Entry":
{
"@date":"2015\/12\/08 09:18:49",
"#text":"CreateSession: Session 'obtainProfileParameters' created with id 4"
},
{
"@date":"2015\/12\/08 09:18:49",
"#text":"AttachWorkSequence: Attached work sequence 'obtainProfileParameters' to session 4"
},
{
"@date":"2015\/12\/08 09:19:04",
"#text":"LCMScheduler: Launch ObtainProfileParameters"
},
{
"@date":"2015\/12\/08 09:21:20",
"#text":"RetrieveBIOSParameters: BIOS parameter BACKUP successful (FRU size = 88512)"
},
{
"@date":"2015\/12\/08 09:21:27",
"#text":"AccessBiosSetupParameter: Created XML document from BIOS parameter FRU"
},
{
"@date":"2015\/12\/08 09:21:27",
"#text":"AccessBiosSetupParameter: Current value of parameter 0x0101 is true"
},
{
"@date":"2015\/12\/08 09:21:27",
"#text":"AccessBiosSetupParameter: Current value of parameter 0x00E2 is L1only"
},
...
{
"@date":"2015\/12\/08 09:21:27",
"#text":"LCMScheduler: LCM object is being destroyed as automatic termination was configured"
},
{
"@date":"2015\/12\/08 09:21:27",
"#text":"TerminateSession: 'obtainProfileParameters' is being terminated"
}
}
}
}
Afterwards we can check the Profile Store again:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:49:38 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:49:38 GMT
Content-Length: 135
Page 47 of 100
Content-Type: application/json; charset=UTF-8
{
"Links":{
"profileStore":[
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/ProfileManagement\/PciConfig"
}
]
}
}
Now you see the one entry we created before. The PciConfig (sub)profile is now available.
We can get the profile content with the following command:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/PciConfig”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:55:00 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:55:00 GMT
Content-Length: 928
Content-Type: application/json; charset=UTF-8
Content-disposition: attachment; filename="rest/v1/Oem/eLCM/ProfileManagement/PciConfig";
{
"Server":{
"SystemConfig":{
"BiosConfig":{
"PciConfig":{
"Above4GDecodingEnabled":false,
"ASPMSupport":"Disabled",
"DMILinkSpeed":null,
"MemoryHoleSize":null,
"PciSlot1Status":"Empty",
"PciSlot2Status":"Empty",
"PciSlot3Status":"Empty",
"PciSlot4Status":"Empty",
…
"SingleRootIOVirtualizationSupportEnabled":false
},
"@Version":"1.03"
}
},
"@Version":"1.01"
}
}
Finally, we need to clean up the session and Profile Store.
To delete the session you should use:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i “http://X.X.X.X/sessionInformation/4/remove”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:56:32 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:56:32 GMT
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
To delete the profile from the Profile Store, you should use:
Page 48 of 100
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X DELETE -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/PciConfig”
HTTP/1.1 200 OK
Date: Thu, 02 Mar 2017 08:57:20 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 08:57:20 GMT
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
Now you should know how to create a profile in the Profile Store, read it and do the cleanup.
It is also possible to apply a profile to change the BIOS and/or the iRMC configuration.
We need to prepare a profile or any subprofile with the new configuration.
To enable the SingleRootIOVirtualizationSupport we create the following JSON file:
{ "Server":{ "SystemConfig":{ "BiosConfig":{ "@Processing":"execute", "PciConfig":{ "SingleRootIOVirtualizationSupportEnabled":true }, "@Version":"1.03" } }, "@Version":"1.01" } }
In this file we set "SingleRootIOVirtualizationSupportEnabled":true.
We also need to add an execution flag ("@Processing":"execute",). This is needed so that the profile will be applied at the end. This flag must
be added below the BiosConfig or the IrmcConfig.
The command for applying the profile is as follows:
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/set” --data
@C:\temp\Server.json
HTTP/1.1 202 Accepted
Date: Thu, 02 Mar 2017 09:02:55 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 09:02:55 GMT
Content-Length: 142
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":4,
"Tag":"",
"WorkSequence":"applyProfile",
"Start":"",
"Duration":0,
"Status":"activated"
}
}
Monitoring the status, getting the log file and deleting resources is the same as for creating the profile.
Don’t forget that applying a profile requires no follow up, so no entry will be made in the Profile Store.
4.1.4 BIOS Boot Order Configuration Via the BIOS profile (see section 5.2) and the profile management mechanism (see section 4.1) you can configure the BIOS boot order.
Page 49 of 100
The relevant part of the BIOS profile looks as follows:
{
"BiosBootOrder":{
"Devices":{
"Device":[
{
"@DeviceIdx":1,
“StructuredBootString” : “<StructuredBootString>”,
“DeviceName”:”<DeviceName>”
},
{
"@DeviceIdx":2,
“StructuredBootString” : “<StructuredBootString>”,
“DeviceName”:”< DeviceName >”
},
{
"@DeviceIdx":3,
“StructuredBootString” : “<StructuredBootString>”,
“DeviceName”:”< DeviceName >”
},
…
]
},
“BootOrderApply”:<true/false>,
“BootOrderReset”:<true/false> or null,
“NextBootDevice”:” <StructuredBootString>”,
}
}
DeviceIdx (mandatory) – sets the position of the given device in the boot order list. Therefore the location of the devices inside the “Device”
array of the JSON file is not important and the continuity is not needed (e.g. if only devices no. 1 and 3 are specified, device no. 2 and nos.
above 3 will not be overwritten). The values allowed for DeviceIdx are from 1 to 64.
StructuredBootString (mandatory) – string that specifies the boot device, see section 4.1.4.1 for values. StructuredBootString is not analyzed
by the iRMC but just copied to/from the BIOS.
DeviceName (optional, read only) – boot device name string, which is read from the device and shown in the BIOS boot menu. This name is
only used for information purposes and will not be processed during write operation. It is only read from the BIOS and cannot be written to the
BIOS (it is ignored if present in a configuration written to the BIOS).
BootOrderApply (mandatory) – always has the value “false” during read operation (BSPBR backup). If it remains false during writing (BSPBR
restore), the boot order sequence sent will be ignored by the BIOS. To apply the boot order being sent, BootOrderApply must be set to true.
BootOrderReset (optional) – restores the default boot order configuration when set to true. The default value may be false or empty (null).
NextBootDevice (optional, “write-only”) – sets the one-time boot source for the first boot, immediately after the configuration process has
finished. After the first boot with NextBootDevice, the following boots will be done in the order specified in the “Devices” array. This property is
write-only, meaning that it is cleared by the BIOS after profile application, so when read it will always be null.
4.1.4.1 Structured Boot String
For selecting a boot option, the following UEFI boot device name is to be used, which is defined by the following format:
<DeviceType>.<Location>.<Instance>.<Sub-instance>.<Qualifier>
Each Structured Boot String contains 4 obligatory and 1 optional parts separated by dots:
- Device type – describes media type or device type (e.g. HD, SATA, CD)
- Location – defines whether the device is embedded on the board, connected to the PCI slot, or more specific information like
FrontUSB
- Instance – can be PCI slot number, controller instance, NIC number, SATA port # or USB port #
- Sub instance – obligatory, but not always used for device detection (use “1” as dummy). Defines port, if instance was a controller
- Qualifier – optional, used for network devices: IPv4 or IPv6 or iSCSI or FCoE
Page 50 of 100
Example: HD.Slot.1.1 will be resolved as a hard disk (number 1) connected to the SATA controller in PCI slot 1. The PCI slot device path is defined
in the static configuration, so with this information it is possible to find the desired boot device.
This table lists available devices and how they are created.
Device Type Structure Boot String Example
Comment
SAS/SATA Controller (Non-RAID) HD.Slot.1.1 Hard drive on PCIe SAS/SATA adapter card
RAID Controller RAID.Emb.1.1 Embedded RAID device (SATA, VMD)
RAID Controller RAID.Slot.1.1 RAID controller in a PCIe slot
SATA Hard Drive HD.Emb.1.1 SATA hard drive on embedded SATA controller port
SATA CD/DVD Drive CD.Emb.1.1 SATA CD/DVD drive on embedded SATA controller port
SATA Controller SATA.Emb.1.1 Device type could not be identified on SATA controller
All other storage controllers (FC, SAS, etc...) Storage.Emb.1.1 Embedded mass storage controller (except SATA or RAID)
All other storage controllers (FC, SAS, etc...) Storage.Slot.1.1 Mass storage controller (except SATA or RAID) in a PCIe slot
Network Adapter NIC.LOM.1.2.IPv4 NIC.LOM.1.2.IPv6
Embedded network adapter
Network Adapter NIC.FlexLOM.2.1.IPv4 NIC.FlexLOM.2.1.IPv6
Embedded FlexLOM adapter
Network Adapter NIC.Slot.3.2.IPv4 Network adapter in a PCIe slot
Fibre Channel Adapter PCI.Slot.3.1 Non mass storage controller in a PCIe slot
USB Key HD.FrontUSB.1.1 USB mass storage on front port, formatted as hard drive
USB Key HD.RearUSB.1.1 USB mass storage on rear port, formatted as hard drive
USB Key HD.InternalUSB.1.1 USB mass storage on internal port, formatted as hard drive
USB Key HD.Virtual.1.1 Remote device on iRMC USB port
ISO Image CD.Virtual.2.1 Remote boot image on iRMC USB port
USB CD/DVD CD.FrontUSB.1.1 USB CD/DVD device on front port
USB CD/DVD CD.RearUSB.1.1 USB CD/DVD device on rear port
USB CD/DVD CD.InternalUSB.1.1 USB CD/DVD device on internal port
Floppy FD.FrontUSB.1.1 USB mass storage on front port, formatted as floppy
Floppy FD.RearUSB.1.1 USB mass storage on rear port, formatted as floppy
Floppy FD.InternalUSB.1.1 USB mass storage on internal port, formatted as floppy
Embedded UEFI Shell Shell. Emb.1.1 UEFI shell in ROM (if installed)
Empty slot, no device PCI.Slot.2.1 Unknown/No PCI device in slot
Unknown Device Unknown.Emb.1.1 Unknown embedded device (should never happen)
Unknown Device Unknown.Unknown.1.1 Device does not fit into any other available category
NVMe NVMe.Slot.1.1 NVMe controller device in PCIe slot
NVMe NVMe.Emb.1.1 NVMe controller device on embedded PCIe connector
Location depends on the device type:
Embedded
• Mass Storage Class Code (0x01)
• SATA Controller
• HD.Emb, RAID.Emb, CD.Emb, SATA.Emb
• VMD Controller (known at BIOS build)
• RAID.Emb
• NVMe Controller
• NVMe.Emb
• Other Mass Storage Controller
• Storage.Emb
• Network Class Code (0x02)
• Network Controller (LOM, known at BIOS build)
Page 51 of 100
• NIC.LOM
• Network Controller (FlexLOM, known at BIOS build)
• NIC.FlexLOM
• Serial Bus Class Code (0x0C)
• USB Controller
• Hard Disk
• HD.FrontUSB, HD.RearUSB, HD.InternalUSB
• CD/DVD
• CD.FrontUSB, CD.RearUSB, CD.InternalUSB
• Floppy
• FD.FrontUSB, FD.RearUSB, FD.InternalUSB
• iRMC Connection
• Remote Device
• HD.Virtual
• ISO Image
• CD.Virtual
• Other Class Codes
• Unknown.Emb
• Shell App
• Shell.Emb
Slot
• Mass Storage Class Code (0x01)
• RAID Controller
• RAID.Slot
• SATA Controller
• HD.Slot, SATA.Slot
• SAS Controller
• HD.Slot
• Other
• SAS.Slot
• Other Mass Storage Controller
• Storage.Slot
• Network Class Code (0x02)
• Network Controller
• NIC.Slot
• Other Class Codes
• PCI.Slot
• Empty Slot
• PCI.Slot
Other
• Unknown.Unknown
4.1.4.2 Boot Order Change results
After sending (writing) the boot order configuration to the BIOS, an initialization boot is performed that allows the BIOS to process the
configuration and verify it against actual boot sources available on the platform. If the BIOS encounters a Structured Boot String which is
incorrect, it is ignored when the new boot order is created. Boot devices which are not covered by the configuration supplied by BiosBootOrder
are pushed to the end of the new boot order list. The initialization boot ends with BIOS backup operation (reading of BIOS settings and status)
and the iRMC extracts the boot order change status and errors and puts them in the eLCM session log. After the whole operation, the power
state of the server is restored to the state that existed when the configuration was sent.
The log contains a "Boot Order status: <ReturnStatus>" entry with the following messages:
<ReturnStatus> Description
"no change" No boot order configuration change on last boot.
"change succeeded" All changes (StructuredBootStrings) applied, no errors.
"order changed but some errors
appeared"
Configuration changed, but errors occurred (error details below). Some changes were applied but some
were discarded.
"change failed" No change made because of errors, all given StructuredBootStrings were incorrect (error details below).
Page 52 of 100
If errors occurred (incorrect StructuredBootStrings were found), the error details are given in the subsequent log entries in the format:
"Boot Order status: Couldn't apply boot order device < StructuredBootString>'. Reason: <ErrorCode>,<ErrorMessage>”
<ErrorCode>,<ErrorMessage> values are:
- 11, Connector indicated by Structured Boot String is not available on the platform
Example: slot number exceeds total slot number. - 12, Device connected to mentioned path has a different type than the one specified in Structured Boot String
- 13, There is no device connected to the/a?? connector specified by Structured Boot String
4.2 Online Update
Using Microsoft CMD and cURL.
In the first step we need to execute the online update check, to identify the updatable component:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i “http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate”
HTTP/1.1 202 Accepted
Date: Thu, 10 Mar 2016 10:09:13 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 10:09:13 GMT
Content-Length: 141
Content-Type: application/json; charset=UTF-8
Location: rest/v1/Oem/eLCM/OnlineUpdate/updateCollection
{
"Session":{
"Id":5,
"Tag":"",
"WorkSequence":"updateCheck",
"Start":"",
"Duration":0,
"Status":"activated"
}
}
This call returns a session ID.
We can track the status using the following commands:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/5/status”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 12:49:14 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 12:49:14 GMT
Content-Length: 175
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":5,
"Tag":"",
"WorkSequence":"updateCheck",
"Start":"2016\/03\/10 10:10:03",
"Duration":203,
"Status":"terminated regularly"
}
}
Page 53 of 100
Afterwards we can look at the outcome of the update check:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 13:08:32 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 13:08:32 GMT
Content-Length: 931
Content-Type: application/json; charset=UTF-8
{
"Links":{
"Contains":[
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/SystemBoard\/D2939-RX300S8"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/Agent-Win\/Management%20Agent"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/PrimSupportPack-Win\/Intel_ChipSets"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/PrimSupportPack-Win\/Intel_LAN_ProSet_ALL"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/PrimSupportPack-Win\/LSI_SATA_MegaSR"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/PrimSupportPack-Win\/Matrox_Video"
},
{
"@odata.id":"rest\/v1\/Oem\/eLCM\/OnlineUpdate\/updateCollection\/PrimSupportPack-Win\/ServerView_RAID_E"
}
]
}
}
In this specific case several components are updatable, so newer versions of the firmware or BIOS of the component are available.
Let’s check the information for the BIOS of a RX300S8 server:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/SystemBoard/D2939-RX300S8”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 13:09:35 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 13:09:35 GMT
Content-Length: 263
Content-Type: application/json; charset=UTF-8
{
"Update":{
"Component":"SystemBoard",
"SubComponent":"D2939-RX300S8",
"Current":"V4.6.5.4 R1.15.0",
"New":"V4.6.5.4 R1.17.0",
"Severity":"recommended",
"Status":"not started",
"Reboot":"permitted",
"Execution":"selected"
Page 54 of 100
}
}
Multiple information is shown, e.g. the currently installed (V4.6.5.4 R1.15.0) and latest available (V4.6.5.4 R1.17.0) versions of the BIOS.
The “Reboot” information tells the customer that a system reboot is necessary for the update, while the “Execution” information indicates
whether the component is to be updated during the next online update execution.
As we want only to update the BIOS, we deselect the other update packages:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i “http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/Agent-
Win/Management%20Agent?Execution=deselected”
…
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-Win/Intel_ChipSets?Execution=deselected”
…
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-Win/Intel_LAN_ProSet_ALL?Execution=deselected”
…
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-Win/LSI_SATA_MegaSR?Execution=deselected”
…
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-Win/Matrox_Video?Execution=deselected”
…
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PATCH -i
“http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection/PrimSupportPack-Win/ServerView_RAID_E?Execution=deselected”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 14:40:03 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 14:40:03 GMT
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8
Now only the BIOS is selected to be updated. We start the online update:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X PUT -i “http://X.X.X.X/rest/v1/Oem/eLCM/OnlineUpdate/updateCollection”
HTTP/1.1 202 Accepted
Date: Thu, 10 Mar 2016 14:41:14 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 14:41:14 GMT
Content-Length: 143
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":6,
"Tag":"",
"WorkSequence":"updateExecute",
"Start":"",
"Duration":0,
"Status":"activated"
}
}
We control the online update by checking the status:
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/5/status”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 14:44:35 GMT
Server: iRMC S5 Webserver
Page 55 of 100
Expires: Wed, 09 Mar 2016 14:44:35 GMT
Content-Length: 286
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":6,
"Tag":"",
"WorkSequence":"updateExecute",
"Start":"2016\/03\/10 14:42:04",
"Duration":151,
"Status":"running",
"Details":{
"Activity":"Create ISO repository",
"Stage":"UpdateRepository",
"Progress":"41%"
}
}
}
H:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X GET -i “http://X.X.X.X/sessionInformation/5/status”
HTTP/1.1 200 OK
Date: Thu, 10 Mar 2016 15:07:38 GMT
Server: iRMC S5 Webserver
Expires: Wed, 09 Mar 2016 15:07:38 GMT
Content-Length: 177
Content-Type: application/json; charset=UTF-8
{
"Session":{
"Id":6,
"Tag":"",
"WorkSequence":"updateExecute",
"Start":"2016\/03\/10 14:42:04",
"Duration":277,
"Status":"terminated regularly"
}
}
The online update of the BIOS is done.
Don’t forget to remove the sessions.
4.3 Out-of-band RAID Configuration using Profile Management
Using Microsoft CMD and cURL.
4.3.1 Create Logical Drive (RAID Level 1) In this example you retrieve the profile from the profile store after you have created a RAIDAdapter subprofile.
You can create a RAIDAdapter subprofile in the same way you created a PCI config in 4.13.
C:\>curl -u <uname>:<pwd> -H "Accept: application/json" -X POST -i
“http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/get?PARAM_PATH=Server/HWConfigurationIrmc/Adapters/RAIDAdapter”
HTTP/1.1 202 Accepted
Date: Thu, 02 Mar 2017 12:06:23 GMT
Server: iRMC S5 Webserver
Expires: Wed, 01 Mar 2017 12:06:23 GMT
Content-Length: 154
Page 56 of 100
Content-Type: application/json; charset=UTF-8
Location: rest/v1/Oem/eLCM/ProfileManagement/RAIDAdapter
{
"Session":{
"Id":10,
"Tag":"",
"WorkSequence":"obtainProfileParameters",
"Start":"",
"Duration":0,
"Status":"activated"
}
}
Here you will find two physical disks connected to a controller and there is no logical drive assigned on the controller.
C:\>curl –u <uname>:<pwd> –H “Accept: application/json” –X GET –i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/RAIDAdapter”
{
“Server”:{
“HWConfigurationIrmc”:{
“Adapters”:{
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“PCIId”:{
“Vendor”:”1000”
“Device”:”1738”
“ControllerIndex”:1
}
…
PhysicalDisks:{
PhysicalDisk:[
{
“@Number”:”0”,
“@Action”:”None”,
“Slot”:0,
“PDStatus”:”Available”,
“Interface”:”SAS”,
“Type”:”HDD”,
“Vendor”:”TOSHIBA”,
“Profuct”:” MK1401GRRB”,
“Size”:{
“@Unit”:”GB”,
“#text”:300
}
},
{
“@Number”:”1”,
“@Action”:”None”,
“Slot”:1,
“PDStatus”:”Available”,
“Interface”:”SAS”,
“Type”:”HDD”
“Vendor”:”TOSHIBA”
“Profuct”:” MK1401GRRB”
“Size”:{
“@Unit”:”GB”,
“#text”:300
}
}
}
Page 57 of 100
}
}
}
To create a logical drive you need to prepare the following subprofile and then apply it.
To create a logical drive you need to introduce an Array resource and a LogicalDrive resource.
{
“Server”:{
“HWConfigurationIrmc”:{
“@Processing”:”execute”,
“Adapters”:{
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“Arrays”:{
“Array”:[
{
“@Number”:0,
“@ConfigurationType”:”Setting”,
“PhysicalDiskRefs”:{
“PhysicalDiskRef”:[
{
“@Number”:”0”
},
{
“@Number”:”1”
}
]
}
}
]
}
“LogicalDrives”:{
“LogicalDrive”:[
{
“@Number”:0,
“@Action”:”Create”,
“RaidLevel”:”1”
“ArrayRefs”:{
“ArrayRef”:[
{
“@Number”:0
}
]
}
}
]
}
}
]
}
}
}
You can also create a logical drive automatically by just introducing a LogicalDrive resource.
{
“Server”:{
“HWConfigurationIrmc”:{
“@Processing”:”execute”,
“Adapters”:{
Page 58 of 100
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“LogicalDrives”:{
“LogicalDrive”:[
{
“@Number”:0,
“@Action”:”Create”,
“RaidLevel”:”1”
}
]
}
}
]
}
}
}
It is not necessary to specify the LogicalDrive number, because the RAIDAdapter will automatically assign its number.
{
“Server”:{
“HWConfigurationIrmc”:{
“@Processing”:”execute”,
“Adapters”:{
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“LogicalDrives”:{
“LogicalDrive”:[
{
“@Action”:”Create”,
“RaidLevel”:”1”
}
]
}
}
]
}
}
}
Page 59 of 100
You can check your configuration by creating and retrieving the RAID subprofile again. You will find a new configuration on the controller.
4.3.2 Delete Logical Drive (Number#1) In this example you retrieve the following profile from the profile store. Here you will find two logical drives assigned on the controller.
C:\> curl –u <uname>:<pwd> –H “Accept: application/json” –X GET –i “http://X.X.X.X/rest/v1/Oem/eLCM/ProfileManagement/RAIDAdapter”
{
“Server”:{
“HWConfigurationIrmc”:{
“Adapters”:{
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“PCIId”:{
“Vendor”:”1000”,
“Device”:”0057”,
“ControllerIndex”:1
},
…
Arrays:{
Array:[
{
“@Number”:0,
“@AcofigurationType”:”Addressing”,
“PhysicalDiskRefs”:{
“PhysicalDiskRef”:[
{
“@Number”:”0”
},
{
“@Number”:”1”
}
]
}
},
{
“@Number”:1,
“@ConfigurationType”:”Addressing”,
“PhysicalDiskRefs”:{
“PhysicalDiskRef”:[
{
“@Number”:”2”
},
{
“@Number”:”3”
},
{
“@Number”:”4”
}
]
}
}
]
}
LogicalDrives:{
LogicalDrive:[
{
“@Number”:0,
“@Action”:”None”,
Page 60 of 100
“RaidLevel”:”1”,
”ArrayRefs”:{
“ArrayRef”:[
{
“@Number”:0
}
]
}
“WriteMode”:”WriteBack”,
.
},
{
“@Number”:1,
“@Action”:”None”,
“RaidLevel”:”5”,
”ArrayRefs”:{
“ArrayRef”:[
{
“@Number”:1
}
]
}
“WriteMode”:”WriteBack”,
.
}
]
}
PhysicalDisks:{
PhysicalDisk:[
{
“@Number”:”0”,
“@Action”:”None”,
“Slot”:0,
“PDStatus”:”Operational”,
.
},
{
“@Number”:”1”,
“@Action”:”None”,
“Slot”:1,
“PDStatus”:”Operational”,
.
},
{
“@Number”:”2”,
“@Action”:”None”,
“Slot”:2,
“PDStatus”:”Operational”,
.
},
{
“@Number”:”3”,
“@Action”:”None”,
“Slot”:3,
“PDStatus”:”Operational”,
.
},
{
“@Number”:”4”,
“@Action”:”None”,
“Slot”:4,
Page 61 of 100
“PDStatus”:”Operational”,
…
}
…
}
}
For this example you need to prepare the following subprofile to delete the logical drive, and then apply this subprofile.
{
“Server”:{
“HWConfigurationIrmc”:{
“@Processing”:”execute”,
“Adapters”:{
“RAIDAdapter”:[
{
“@AdapterId”:”RAIDAdapter1”,
“@ConfigurationType”:”Addressing”,
“PCIId”:{
“Vendor”:”1000”,
“Device”:”0057”,
“ControllerIndex”:1
},
LogicalDrives:{
LogicalDrive:[
{
“@Number”:0,
“@Action”:”None”
},
{
“@Number”:1,
“@Action”:”Delete”
}
]
}
}
]
}
}
}
You can check your configuration by creating and retrieving the RAID subprofile again. You will find a new configuration on the controller.
Page 62 of 100
5 eLCM Profile Management Profile Definitions
5.1 iRMC Profile Specification
Subprofile
Server/SystemConfig/IrmcConfig
PMS Path PMS Profile Value Changes
1.0x
Comments
BootConfig
BootConfig BootDevice None
Pxe
Hdd
Cd
BiosSetup
Floppy
8.2x (S4)
New
BootConfig BootType Legacy
UEFI
8.2x (S4)
New
BootConfig NextBootOnlyEnabled true
false
8.2x (S4)
New
Components
Components Fan
Components Fan DailyTestTime Number (TimeOfDay)
Components Fan TestEnabled true
false
Components Fan MaxFanSpeedEnabled true
false
Components SystemBoard
Components SystemBoard DynamicPartitioning
Components SystemBoard DynamicPartitioni
ng
Enabled true
false
Components SystemBoard DynamicPartitioni
ng
PCIIOConnection HomeSystemboard
AllSystemboards
Components SystemDisplay
Components SystemDisplay DisplayStrings
Components SystemDisplay DisplayStrings DisplayString
Components SystemDisplay DisplayStrings DisplayString @DisplayStringIdx [0..15]
Components SystemDisplay DisplayStrings DisplayString @DisplayStringIdx String String (20Bytes)
Components SystemDisplay NrOfDisplayStrings Number (2Bytes)
Components SystemDisplay Lines
Components SystemDisplay Lines Line
Components SystemDisplay Lines Line @LineIdx
Page 63 of 100
Components SystemDisplay Lines Line @LineIdx SysInfoValues ClearValueOnSet
Location
Name
BiosVersion
Description
Contact
CabinetModel
SerialNumber
VendorName
IPAddress1
IPAddress2
IPAddress3
IPAddress4
OperatingSystem
8.2x (S4)
New
Components SystemDisplay SeverityFilter
Components SystemDisplay SeverityFilter Critical true
false
Components SystemDisplay SeverityFilter Major true
false
Components SystemDisplay SeverityFilter Minor true
false
Components SystemDisplay SeverityFilter Informational true
false
Components SystemDisplay SeverityFilter CSSOnly true
false
VideoRedirection
VideoRedirection Title String (65Bytes)
VideoRedirection LocalMonitorOffEnabled true
false
VideoRedirection LocalMonitorOffControlEnabled true
false
VideoRedirection MouseMode Relative
Absolute
Other
VideoRedirection Html5Enabled true
false
VideoRedirection LocalUsbDisabling None
Front
Rear
All
WebUI
WebUI SeveritySELFilter
WebUI SeveritySELFilter Critical true
false
8.2x (S4)
Adjusted
WebUI SeveritySELFilter Major true
false
8.2x (S4)
Adjusted
WebUI SeveritySELFilter Minor true
false
8.2x (S4)
Adjusted
WebUI SeveritySELFilter Informational true
false
8.2x (S4)
Adjusted
WebUI SeveritySELFilter CSSOnly true
false
8.2x (S4)
Adjusted
WebUI SeveritySELFilter ShowActionAfterError true
false
8.2x (S4)
Adjusted
WebUI SeverityIELFilter Critical true
false
8.2x (S4)
Adjusted
Page 64 of 100
WebUI SeverityIELFilter Major true
false
8.2x (S4)
Adjusted
WebUI SeverityIELFilter Minor true
false
8.2x (S4)
Adjusted
WebUI SeverityIELFilter Informational true
false
8.2x (S4)
Adjusted
WebUI CpuUtilizationMonitoringEnabled true
false
WebUI TemperatureUnit Celsius
Fahrenheit
WebUI AutoRefreshTime Number (2Byte)
WebUI SessionTimeOut Number (2Byte)
WebUI AutoRefreshEnabled true
false
WebUI PowerHistoryChartPeriod 1Hour
12Hours
1Day
1Week
2Weeks
1Month
1Year
5Years
WebUI DefaultLanguage En
De
Ja
WebUI ColorSchema V1
V2
V2.2
WebUI ShowAvrWebStart true
false
WebUI ShowLogout true
false
WebUI AutoSubmitEnabled true
false
WebUI CpuHistoryImageType 1Hour
12Hours
1Day
1Week
2Weeks
1Month
1Year
5Years
PowerSetting
PowerSetting ScheduleSwitches
PowerSetting ScheduleSwitches ScheduleSwitch1
PowerSetting ScheduleSwitches ScheduleSwitch1 Monday
PowerSetting ScheduleSwitches ScheduleSwitch1 Monday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Monday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Tuesday
PowerSetting ScheduleSwitches ScheduleSwitch1 Tuesday Time Number (TimeOfDay)
Page 65 of 100
PowerSetting ScheduleSwitches ScheduleSwitch1 Tuesday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Wednesday
PowerSetting ScheduleSwitches ScheduleSwitch1 Wednesday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Wednesday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Thursday
PowerSetting ScheduleSwitches ScheduleSwitch1 Thursday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Thursday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Friday
PowerSetting ScheduleSwitches ScheduleSwitch1 Friday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Friday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Saturday
PowerSetting ScheduleSwitches ScheduleSwitch1 Saturday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Saturday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch1 Sunday
PowerSetting ScheduleSwitches ScheduleSwitch1 Sunday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch1 Sunday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
8.2x (S4)
Adjusted: Value schedule removed
PowerSetting ScheduleSwitches ScheduleSwitch2
PowerSetting ScheduleSwitches ScheduleSwitch2 Monday
PowerSetting ScheduleSwitches ScheduleSwitch2 Monday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Monday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Tuesday
PowerSetting ScheduleSwitches ScheduleSwitch2 Tuesday Time Number (TimeOfDay)
Page 66 of 100
PowerSetting ScheduleSwitches ScheduleSwitch2 Tuesday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Wednesday
PowerSetting ScheduleSwitches ScheduleSwitch2 Wednesday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Wednesday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Thursday
PowerSetting ScheduleSwitches ScheduleSwitch2 Thursday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Thursday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Friday
PowerSetting ScheduleSwitches ScheduleSwitch2 Friday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Friday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Saturday
PowerSetting ScheduleSwitches ScheduleSwitch2 Saturday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Saturday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting ScheduleSwitches ScheduleSwitch2 Sunday
PowerSetting ScheduleSwitches ScheduleSwitch2 Sunday Time Number (TimeOfDay)
PowerSetting ScheduleSwitches ScheduleSwitch2 Sunday Mode Disabled
BestPerformance
MinimumPower
Automatic
PowerLimit
LowNoise
PowerSetting LimitMode
PowerSetting LimitMode MaxUsage Number (2Byte)
PowerSetting LimitMode Threshold Number (2Byte)
[70..90]
PowerSetting LimitMode Period Number (2Byte)
PowerSetting LimitMode Action None
Shutdown
PowerOff
Page 67 of 100
PowerSetting PowerSafeGuardAction Continue
Shutdown
PowerSetting PowerUnit Watt
BTUperh
PowerSetting ControlMode Disabled
BestPerformance
MinimumPower
Automatic
Scheduled
Limitation
LowNoise
PowerSetting MonitoringEnabled true
false
PowerSetting DynPowerLimitEnabled true
false
PowerSetting WakeOnLanEnabled
true
false
8.2x (S4)
New
Users
Users User
Users User @UserIdx [0..15]
Users User @UserIdx BaseValues
Users User @UserIdx BaseValues Password
Users User @UserIdx BaseValues Password @Encryption String(20Byte)
[IRMC|none]
8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx BaseValues Password #text String(20Byte)
[<encrypted
Password>|<plain text
Password>]
8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx BaseValues Name String (16Byte) 8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx BaseValues Enabled true
false
8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx BaseValues Description String (32Byte) 8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx BaseValues Shell SmashCLP
RemoteManager
None
8.2x (S4)
Adjusted: Path changed to basevalues
Users User @UserIdx Permissions
Users User @UserIdx Permissions Standard
Users User @UserIdx Permissions Standard Lan Administrator
Oem
Operator
User
Callback
reserved
NoAccess
8.2x (S4)
Adjusted: Added additional values
Users User @UserIdx Permissions Standard Serial Administrator
Oem
Operator
User
Callback
reserved
NoAccess
8.2x (S4)
Adjusted: Added additional values
Users User @UserIdx Permissions Extended
Page 68 of 100
Users User @UserIdx Permissions Extended ConfigureUsers true
false
Users User @UserIdx Permissions Extended ConfigureIrmc true
false
Users User @UserIdx Permissions Extended UseVideoRedirection true
false
Users User @UserIdx Permissions Extended UseRemoteStorage true
false
Users User @UserIdx Permissions Extended RedfishEnabled true
false
x 1.0x (S5)
New
Users User @UserIdx Permissions Extended RedfishRole Administrator
Operator
ReadOnly
x 1.0x (S5)
New
Users User @UserIdx Permissions Extended RedfishAccountLocked true
false
x 1.0x (S5)
New
Users User @UserIdx Email
Users User @UserIdx Email AlertFilter
Users User @UserIdx Email AlertFilter Fans None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Temperature None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Hardware None
Critical
Warning
All
Users User @UserIdx Email AlertFilter SystemHang None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Post None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Security None
Critical
Warning
All
Users User @UserIdx Email AlertFilter SystemStatus None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Harddisk None
Critical
Warning
All
Users User @UserIdx Email AlertFilter NetworkError None
Critical
Warning
All
Users User @UserIdx Email AlertFilter RemoteManagement None
Critical
Warning
All
Page 69 of 100
Users User @UserIdx Email AlertFilter PowerSupply None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Spare None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Memory None
Critical
Warning
All
Users User @UserIdx Email AlertFilter Others None
Critical
Warning
All
Users User @UserIdx Email AlertChassisEventsUser true
false
This is a CX specific value
8.2x (S4)
Adjusted: Path changed
'Server/SystemConfig/IrmcConfig/Email/
AlertChassisEventsUser
[false|true]
->
'Server/SystemConfig/IrmcConfig/Users/
User[UserIdx="n"]/Email/AlertChassisEv
entsUser
[false|true]
Users User @UserIdx Email PagingEnabled true
false
Users User @UserIdx Email Layout Standard
IST
REMCS
FixedSubject
8.2x (S4)
Adjusted: Changed parameter name
from Format to Layout
Users User @UserIdx Email Address String (64Byte)
Page 70 of 100
Users User @UserIdx Email PreferredMailServer Auto
Primary
Secondary
Users User @UserIdx Email SmimeCertificate String (65Byte)
Users User @UserIdx Email SendEncryptedAlerts true
false
Users User @UserIdx Email ExtraSubjectEnabled true
false
Users User @UserIdx Email ExtraSubject String (65Byte)
Users User @UserIdx SnmpV3
Users User @UserIdx SnmpV3 ServiceEnabled true
false
Users User @UserIdx SnmpV3 AuthType None
MD5
SHA1
Users User @UserIdx SnmpV3 PrivType None
AES
DES
Users User @UserIdx SnmpV3 AccessType ReadOnly
ReadWrite
Other
FailureBehavior
FailureBehavior ACPowerFailAction AsBefore
RemainOff
AlwaysOn
FailureBehavior Fans
FailureBehavior Fans Fan
FailureBehavior Fans Fan FanIdx# [0..31]
FailureBehavior Fans Fan FanIdx# Action Continue
Shutdown
FailureBehavior Fans Fan FanIdx# ShutdownDelay Number (2Byte) (Seconds)
[Int:0..600]
FailureBehavior TempCritical
FailureBehavior TempCritical Sensors
FailureBehavior TempCritical Sensors Sensor
FailureBehavior TempCritical Sensors Sensor SensorIdx# [0..31]
FailureBehavior TempCritical Sensors Sensor SensorIdx# Action Continue
Shutdown
FailureBehavior ACPowerFailAction AsBefore
RemainOff
AlwaysOn
FailureBehavior BiosPostErrorAction Continue
Halt
FailureBehavior BiosOffEnabled true
false
Page 71 of 100
FailureBehavior PsuPowerInputLimit Number CX specific Value
8.2x (S4)
Adjusted: Path changed
'Server/SystemConfig/IrmcConfig/Failur
eBehavior/PsuPowerInputLimit
->
'Server/SystemConfig/IrmcConfig/Power
Setting/PsuPowerInputLimit
ServerManageme
nt
ServerManageme
nt
ReconfigurationAndRestart
ServerManageme
nt
ReconfigurationA
ndRestart
Cpus
ServerManageme
nt
ReconfigurationA
ndRestart
Cpus Cpu
ServerManageme
nt
ReconfigurationA
ndRestart
Cpus Cpu @CpuIdx [0..127]
ServerManageme
nt
ReconfigurationA
ndRestart
Cpus Cpu @CpuIdx Enabled true
false
8.2x (S4)
Adjusted: Path and values changed
ServerManageme
nt
ReconfigurationA
ndRestart
Cpus Cpu @CpuIdx CpuDisableReason Failed
Disabled
8.2x (S4)
Adjusted: Path and values changed
ServerManageme
nt
ReconfigurationA
ndRestart
Dimms
ServerManageme
nt
ReconfigurationA
ndRestart
Dimms Dimm
ServerManageme
nt
ReconfigurationA
ndRestart
Dimms Dimm @DimmIdx [0..127]
ServerManageme
nt
ReconfigurationA
ndRestart
Dimms Dimm @DimmIdx Enabled true
false
8.2x (S4)
Adjusted: Path and values changed
ServerManageme
nt
ReconfigurationA
ndRestart
Dimms Dimm @DimmIdx DimmDisableReason Failed
Disabled
8.2x (S4)
Adjusted: Path and values changed
ServerManageme
nt
ReconfigurationA
ndRestart
BootRetryCounter Number (1Byte)
ServerManageme
nt
ReconfigurationA
ndRestart
ErrorOffRestartDelay Number (2Byte)
ServerManageme
nt
ReconfigurationA
ndRestart
ConfRetryCounter Number (1Byte)
ServerManageme
nt
ReconfigurationA
ndRestart
PowerCycleDelay Number (1Byte)
ServerManageme
nt
Watchdogs
ServerManageme
nt
Watchdogs BootWatchdog
ServerManageme
nt
Watchdogs BootWatchdog Enabled true
false
ServerManageme
nt
Watchdogs BootWatchdog Time Number (Seconds)
ServerManageme
nt
Watchdogs BootWatchdog Behavior Continue
NMI
PowerCycle
Reset
ServerManageme
nt
Watchdogs SoftwareWatchdog
Page 72 of 100
ServerManageme
nt
Watchdogs SoftwareWatchdo
g
Enabled true
false
ServerManageme
nt
Watchdogs SoftwareWatchdo
g
Time Number (Seconds)
ServerManageme
nt
Watchdogs SoftwareWatchdo
g
Behavior Continue
NMI
PowerCycle
Reset
ServerManageme
nt
ServerManageme
nt
HPSim
ServerManageme
nt
HPSim IntegrationEnabled true
false
ServerManageme
nt
GuidResponseFormat IPMI
SMBIOS
8.2x (S4)
Adjusted:
Server/SystemConfig/IrmcConfig/Syste
m/GuidByteOrder
->
'Server/SystemConfig/IrmcConfig/Server
Management/GuidResponseFormat
with values: „IPMI“ and „SMBIOS“.
ServerManageme
nt
PermanentBiosConfigStorageEnabled true
false
8.4x (S4)
New
EventLog
EventLog MessageLogWrapEnabled true
false
EventLog IELLogWrapEnabled true
false
BiosConsole
BiosConsole Enabled true
false
BiosConsole Port COM1
COM2
COM3
COM4
BiosConsole BaudRate 1200
2400
4800
9600
19200
38400
57600
115200
BiosConsole MediaType Serial
Lan
BiosConsole Protocol Vt100_8bit
Ansi_8bit
Vt100+
Utf8
x 1.0x (S5)
Removed Vt100_7bit and Ansi_7bit
since they are not supported
BiosConsole FlowControl None
XonXof
CtsRts
Page 73 of 100
BiosConsole MuxMode BMC
System
Dns
Dns Servers
Dns Servers Server
Dns Servers Server @ServerIdx [0..2]
Dns Servers Server #text String (64Byte)
Dns DnsName
Dns DnsName NameExtension String (16Byte)
Dns DnsName AddSerialNumber true
false
Dns DnsName AddExtension true
false
Dns DnsName UseIrmcNameInsteadOfHostName true
false
Dns DnsName IrmcName String (64Byte)
Dns DnsName RegisterDNS None
RegisterDhcpAddress
RegisterFullQualifiedName
DnsUpdateEnabled
8.4x (S4)
New
Dns Retries Number (1Byte)
Dns Timeout Number (Minutes) (1Byte)
Dns Enabled true
false
Dns UseDhcp true
false
Dns Domain String(48Byte)
Dns SearchPath String(255Byte)
Email ITSCountryCode String (3Byte)
Email ITSCustomerId String (9Byte)
Email AttachScreenshotEnabled true
false
Email To true
false
Email From String (64Byte)
Email Subject String (64Byte)
Email Message String (64Byte)
Email AdminName String (64Byte)
Email AdminPhone String (64Byte)
Email ServerUrl String (64Byte)
Email PagingEnabled true
false
Smtp
Smtp Servers
Smtp Servers Server
Smtp Servers Server @ServerIdx [0..1]
Smtp Servers Server @ServerIdx Authentication
Smtp Servers Server @ServerIdx Authentication Password
Page 74 of 100
Smtp Servers Server @ServerIdx Authentication Password @Encryption String (64Byte)
[IRMC|none]
Smtp Servers Server @ServerIdx Authentication Password #text String (64Byte)
[<encrypted
Password>|<plain text
Password>]
Smtp Servers Server @ServerIdx Authentication Type None
Smtp
x 1.0x (S5)
Removed value “Pop”
Smtp Servers Server @ServerIdx Authentication UserName String (64Byte)
Smtp Servers Server @ServerIdx SslEnabled true
false
Smtp Servers Server @ServerIdx VerifyCertEnabled true
false
Smtp Servers Server @ServerIdx UseAddressLiteral true
false
8.2x (S4)
Adjusted: Values changed
Smtp Servers Server @ServerIdx HostName String (64Byte)
Smtp Servers Server @ServerIdx Port Number (PortNumber) (1Byte)
Smtp Enabled true
false
Smtp SmtpRetries Number (1Byte)
Smtp SmtpRetryDelay Number (2Byte)
Smtp ResponseTimeout Number (2Byte)
NetworkServices
NetworkServices Snmp
NetworkServices Snmp TrapDestinations
NetworkServices Snmp TrapDestinations TrapDestination
NetworkServices Snmp TrapDestinations @TrapDestinationIdx [0..6]
NetworkServices Snmp TrapDestinations Name String (64Byte)
NetworkServices Snmp TrapDestinations Protocol SnmpV1
SnmpV2c
SnmpV3
NetworkServices Snmp SnmpV3
NetworkServices Snmp SnmpV4 TrapUserIndex [0..6]
NetworkServices Snmp SnmpV5 EngineID String (EngineID)(32Byte)
NetworkServices Snmp TrapCommunityName String (64Byte)
NetworkServices Snmp ServicePort Number (PortNumber)
(64Byte)
NetworkServices Snmp Enabled true
false
NetworkServices Snmp CommunityName String (64Byte)
NetworkServices Snmp ServiceVersion All
V3only
NetworkServices Snmp PagingEnabled true
false
NetworkServices IpmiOverLanEnabled true
false
NetworkServices Cim
NetworkServices Cim LogLanguage Number (International
Country Code)(2Byte)
Page 75 of 100
NetworkServices Cim CimManagementEnabled true
false
NetworkServices Tls Sslv3Enabled true
false
8.2x (S4)
Adjusted: SslV3Enabled
->
Sslv3Enabled
NetworkServices Tls Tls10Enabled true
false
NetworkServices Tls Tls11Enabled true
false
NetworkServices Tls Tls12Enabled true
false
NetworkServices Text
NetworkServices Text Telnet
NetworkServices Text Telnet SshDropTime Number (Time)
NetworkServices Text Telnet Port Number
(2Byte)(PortNumber)
NetworkServices Text Telnet Enabled true
false
NetworkServices Text Http
NetworkServices Text Http Port Number
(2Byte)(PortNumber)
NetworkServices Text Https
NetworkServices Text Https Port Number
(2Byte)(PortNumber)
NetworkServices Text Https ForceHttpsEnabled true
false
NetworkServices Text Ssh
NetworkServices Text Ssh Port Number
(2Byte)(PortNumber)
NetworkServices Text Ssh Enabled true
false
NetworkServices Text Ssh AuthenticationMode Key
Password
8.2x (S4)
New
NetworkServices Text Ssh SecurityLevel Relaxed
Intermediate
Restricted
8.2x (S4)
New
NetworkServices Proxy Authentication
NetworkServices Proxy Authentication Password
NetworkServices Proxy Authentication @Encryption [IRMC|none]
NetworkServices Proxy Authentication #text [<encrypted
Password>|<plain text
Password>]
NetworkServices Proxy Authentication Username String (65Byte)
NetworkServices Proxy Hostname String (65Byte)
NetworkServices Proxy Port Number
(2Byte)(PortNumber)
NetworkServices Redfish
NetworkServices Redfish Enabled true
false
x 1.0x (S5)
New
NetworkServices Redfish AuthFailureLoggingThreshold Number (1Byte) x 1.0x (S5)
New
NetworkServices Redfish AccountLockoutThreshold Number (1Byte) x 1.0x (S5)
New
NetworkServices Redfish AccountLockoutDuration Number (2Byte) x 1.0x (S5)
New
NetworkServices Redfish AccountLockoutCounterResetAfter Number (2Byte) x 1.0x (S5)
Page 76 of 100
New New
NetworkServices Redfish ExternallyAccessible true
false
x 1.0x (S5)
New
NetworkServices Redfish SessionTimeout Number (4Byte)
[30..86400]
x 1.0x (S5)
New
RemoteManager
RemoteManager ConsoleLoggingEnabled true
false
8.2x (S4)
New
RemoteManager TextModeEnabled true
false
Lan
Lan IpV4
Lan IpV4 Enabled true
false
Lan IpV4 UseDhcp true
false
Lan IpV4 IpAddress IPv4 Address
Lan IpV4 SubnetMask IPv4 Address
Lan IpV4 DefaultGateway IPv4 Address
Lan IpV6
Lan IpV6 Enabled true
false
Lan IpV6 StaticAddress IPv6 Address
Lan IpV6 ManualConfiguration true
false
Lan IpV6 StaticAddressPrefixLength Number (1Byte)
Lan IpV6 StaticAddrIntIdentSource Static
Other
x 1.0x (S5)
Removed profile values: Unspecified,
Autoconfig, ByBios
StaticGatewayAddressSource Autoconfig x 1.0x (S5)
Removed profile values: Unspecified,
Static, ByBios, Other.
StaticGatewayAddressSource has no
use and is only kept for avoiding
compatibility issues.
Lan IpV6 StaticGateway IPv6 Address
Lan SharedLan
Lan Interface
Lan Interface Bonding
Lan Interface Bonding Enabled true
false
Lan Interface Mtu Number (2Byte)
Lan Interface Speed AutoNegotiate
10MBit-HalfDuplex
10MBit-FullDuplex
100MBit-HalfDuplex
100MBit-FullDuplex
1000MBit
Page 77 of 100
Lan Interface Port Management-LAN
Shared-LAN1
Shared-LAN2
Shared-LAN3
Shared-LAN4
Shared-LAN5
Shared-LAN6
Shared-LAN7
Shared-LAN8
Front-LAN
Lan Vlan
Lan Vlan Enabled true
false
Lan Vlan Id Number (2Byte)
Lan Vlan Priority Number (1Byte)
Lan Enabled true
false
FWUpdate
FWUpdate ServerName String (64Byte)
FWUpdate iRMCFileName String (64Byte)
FWUpdate iRMCImageSelector Auto
LowFWImage
HighFWImage
FWUpdate FirmwareBootSelector Auto
LowFWImage
HighFWImage
OldestFW
MostRecentProgrammedFW
LeastRecentProgrammedFW
x 1.0x (S5)
Fixed typo (Spec only)
FWUpdate BiosFileName String (64Byte)
PowerOnOff
PowerOnOff PowerOnTime
PowerOnOff PowerOnTime Monday Number (Time of Day)
PowerOnOff PowerOnTime Tuesday Number (Time of Day)
PowerOnOff PowerOnTime Wednesday Number (Time of Day)
PowerOnOff PowerOnTime Thursday Number (Time of Day)
PowerOnOff PowerOnTime Friday Number (Time of Day)
PowerOnOff PowerOnTime Saturday Number (Time of Day)
PowerOnOff PowerOnTime Sunday Number (Time of Day)
PowerOnOff PowerOffTime
PowerOnOff PowerOffTime Monday Number (Time of Day)
PowerOnOff PowerOffTime Tuesday Number (Time of Day)
PowerOnOff PowerOffTime Wednesday Number (Time of Day)
PowerOnOff PowerOffTime Thursday Number (Time of Day)
PowerOnOff PowerOffTime Friday Number (Time of Day)
PowerOnOff PowerOffTime Saturday Number (Time of Day)
PowerOnOff PowerOffTime Sunday Number (Time of Day)
PowerOnOff PowerOnTrapPremonitionTime Number (Minutes)(1Byte)
[Int:0.255]
PowerOnOff PowerOffTrapPremonitionTime Number (Minutes)(1Byte)
[Int:0:255]
Time
Page 78 of 100
Time Ntp
Time Ntp Servers
Time Ntp Servers Server
Time Ntp Servers Server @ServerIdx [0..1]
Time Ntp Servers Server @ServerIdx HostName String (e.g.pool.ntp.org)
Time TimeZoneOffset Number(in 1/4 hours)
(1Byte)
Time SyncSource iRMC
NTP
MMB
Time TimeZone Restricted String(65Byte) 8.2x (S4)
Adjusted: Aligned values to linux time
zone string
Time RtcMode LocalTime
UTC
Time MmbTimeSyncEnabled true
false
Memory
Memory ScrubbingEnabled 8.2x (S4)
New
Cas
Cas Permissions
Cas Permissions Extended
Cas Permissions Extended ConfigureiRMC true
false
Cas Permissions Extended ConfigureUsers true
false
Cas Permissions Extended UseVideoRedirection true
false
Cas Permissions Extended UseRemoteStorage true
false
Cas Permissions Privilege Administrator
Oem
Operator
User
Callback
NoAccess
Cas Permissions Assignment LocalAssigned
LdapAssigned
Cas Enabled true
false
Cas Server String (64Byte)
Cas Port Number
(2Byte)(PortNumber)
Cas LoginUri String (32Byte)
Cas LogoutUri String (32Byte)
Cas ValidateUri String (32Byte)
Cas VerifySslCertificate true
false
Cas DisplayLoginPage true
false
Ldap
Page 79 of 100
Ldap Email
Ldap Email Enabled true
false
Ldap Email TableRefresh Number (1Byte)
Ldap Email AlertChassisEvents true
false
x 1.0x (S5)
Moved from Email/AlertChassisEvents
to Ldap/Email/AlertChassisEvents
(Spec only)
Ldap Servers
Ldap Servers Server
Ldap Servers Server @ServerIdx [0..1]
Ldap Servers Server HostName String(48Byte)
Ldap Servers Server StandardPort Number
(2Byte)(PortNumber)
Ldap Servers Server SecuredPort Number
(2Byte)(PortNumber)
Ldap Access
Ldap Access Authentication
Ldap Access Authentication Password
Ldap Access Authentication Password @Encryption [IRMC|none]
Ldap Access Authentication Password #text String (48Byte)(Encrypted)
[<encrypted
Password>|<plain text
Password>]
Ldap Access Authentication UserName String (32Byte9
Ldap Access UserGroups
Ldap Access UserGroups UserGroup
Ldap Access UserGroups UserGroup @UserGroupIdx
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Temperature None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Fans None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Memory None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity HWErrors None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity SystemHang None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity PostErrors None
Warning
Critical
All
Page 80 of 100
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Security None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity SystemStatus None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Others None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity HDErrors None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity Network None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity RemoteManagem
ent
None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx PagingSeverity SystemPower None
Warning
Critical
All
Ldap Access UserGroups UserGroup @UserGroupIdx Name String (65Byte)
Ldap Access UserGroups UserGroup @UserGroupIdx PreferredShell SmashCLP
RemoteManager
None
Ldap Access UserGroups UserGroup @UserGroupIdx NetworkPrivilege Callback
User
Operator
Administrator
OEM
None
Ldap Access UserGroups UserGroup @UserGroupIdx SerialPrivilege Callback
User
Operator
Administrator
OEM
None
Ldap Access UserGroups UserGroup @UserGroupIdx ConfigureBMCPermission true
false
Ldap Access UserGroups UserGroup @UserGroupIdx ConfigureUserPermitted true
false
Ldap Access UserGroups UserGroup @UserGroupIdx AvrEnabled true
false
Ldap Access UserGroups UserGroup @UserGroupIdx RemoteStorageEnabled true
false
Ldap Access UserGroups UserGroup @UserGroupIdx EmailPagingEnabled true
false
Page 81 of 100
Ldap Access UserGroups UserGroup @UserGroupIdx MailFormat UserDefined
IST
Fujitsu
FixedSubject
SMSFormat
Ldap Access UserGroups UserGroup @UserGroupIdx RedfishRoles
Ldap Access UserGroups UserGroup @UserGroupIdx RedfishRoles AdminEnabled true
false
x 1.0x (S5)
New
Ldap Access UserGroups UserGroup @UserGroupIdx RedfishRoles OperatorEnabled true
false
x 1.0x (S5)
New
Ldap Access UserGroups UserGroup @UserGroupIdx RedfishRoles ReadOnlyEnabled true
false
x 1.0x (S5)
New
Ldap Access UserGroups UserGroup @UserGroupIdx PreferredMailServer Auto
Primary
Secondary
Ldap Access AppendBaseDn true
false
Ldap Access PrincipalUserDn String (128Byte)
Ldap Access EnhancedUserLogin true
false
Ldap Access UserSearchFilter
Ldap Access GroupScheme String (64Byte) 8.2x (S4)
Adjusted: Path changed
'Server/SystemConfig/IrmcConfig/Ldap/
Access/UserGroups/UserGroup[UserGro
upIdx=n]/GroupScheme
[String]
->
'Server/SystemConfig/IrmcConfig/Ldap/
Access/GroupScheme
[String]
Ldap Access MemberScheme String (64Byte) 8.2x (S4)
Adjusted: Path changed
'Server/SystemConfig/IrmcConfig/Ldap/
Access/UserGroups/UserGroup[UserGro
upIdx=n]/MemberScheme
[String]
->
'Server/SystemConfig/IrmcConfig/Ldap/
Access/MemberScheme
[String]
Ldap Enabled true
false
Ldap EnableSsl true
false
Ldap DirectoryServiceType ActiveDirectory
Novell
OpenLdap
Sun
Ldap Domain String (32Byte)
Ldap Department String (32Byte)
Ldap DisableLocalLogin true
false
Ldap BrowserLoginEnabled true
false
Ldap BaseDn String (128Byte)
Page 82 of 100
Ldap UseSslLogin true
false
Ldap PreferredMailServer Auto
ByBMC
ByLDAP
Ldap GroupDnContext String (64Byte)
Ldap UserBase String (64Byte)
Ldap UseEnhancedMode true
false
VirtualMedia
VirtualMedia FDImage
VirtualMedia FDImage Password
VirtualMedia FDImage Password @Encryption:IRMC String
[IRMC|none]
VirtualMedia FDImage Password #text String (64Byte)
[<encrypted
Password>|<plain text
Password>]
VirtualMedia FDImage Server String (65Byte)
VirtualMedia FDImage UserName String (65Byte)
VirtualMedia FDImage UserDomain String (65Byte)
VirtualMedia FDImage SharedType NFS
SMB
VirtualMedia FDImage SharedName String (65Byte)
VirtualMedia FDImage ImageName String (65Byte)
VirtualMedia FDImage MaximumNumber Number (1Byte)
VirtualMedia CDImage
VirtualMedia CDImage Password
VirtualMedia CDImage Password @Encryption:IRMC String
[IRMC|none]
VirtualMedia CDImage Password #text String (64Byte)
[<encrypted
Password>|<plain text
Password>]
VirtualMedia CDImage Server String (65Byte)
VirtualMedia CDImage UserName String (65Byte)
VirtualMedia CDImage UserDomain String (65Byte)
VirtualMedia CDImage SharedType NFS
SMB
VirtualMedia CDImage SharedName String (65Byte)
VirtualMedia CDImage ImageName String (65Byte)
VirtualMedia CDImage MaximumNumber Number (1Byte)
VirtualMedia HDImage
VirtualMedia HDImage Password
VirtualMedia HDImage Password @Encryption:IRMC String
[IRMC|none]
VirtualMedia HDImage Password #text String (64Byte)
[<encrypted
Password>|<plain text
Password>]
VirtualMedia HDImage Server String (65Byte)
Page 83 of 100
VirtualMedia HDImage UserName String (65Byte)
VirtualMedia HDImage UserDomain String (65Byte)
VirtualMedia HDImage SharedType NFS
SMB
VirtualMedia HDImage SharedName String (65Byte)
VirtualMedia HDImage ImageName String (65Byte)
VirtualMedia HDImage MaximumNumber Number (1Byte)
VirtualMedia RemoteMountEnabled true
false
VirtualMedia UsbAttachMode Attach
AutoAttach
Detach
Raid
Raid OOBRaidEventsEnabled true
false
Syslog
Syslog Servers
Syslog Servers Server
Syslog Servers Server @ServerIdx [0..3]
Syslog Servers Server @ServerIdx iELEnabled true
false
Syslog Servers Server @ServerIdx SELEnabled true
false
Syslog Servers Server @ServerIdx HostName String(65Byte)
Syslog Servers Server @ServerIdx Port Number (PortNumber)
(2Byte)
Syslog Servers Server @ServerIdx Protocol TCP
UDP
Syslog FilterSeverity
Syslog FilterSeverity Critical true
false
Syslog FilterSeverity Major true
false
Syslog FilterSeverity Minor true
false
Syslog FilterSeverity Informational true
false
Syslog PagingSeverities
Syslog PagingSeverities Temperature None
Critical
Warning
All
Syslog PagingSeverities Fans None
Critical
Warning
All
Syslog PagingSeverities Memory None
Critical
Warning
All
Syslog PagingSeverities HWErrors None
Critical
Warning
All
Page 84 of 100
Syslog PagingSeverities SysHang None
Critical
Warning
All
Syslog PagingSeverities PostErrors None
Critical
Warning
All
Syslog PagingSeverities Security None
Critical
Warning
All
Syslog PagingSeverities SysStatus None
Critical
Warning
All
Syslog PagingSeverities HDErrors None
Critical
Warning
All
Syslog PagingSeverities Network None
Critical
Warning
All
Syslog PagingSeverities Remote None
Critical
Warning
All
Syslog PagingSeverities Power None
Critical
Warning
All
Syslog PagingSeverities Spare None
Critical
Warning
All
Syslog PagingSeverities Others None
Critical
Warning
All
Syslog GlobalEnabled true
false
Syslog FilterScope Basic
Extended
Licenses
Licenses Keys
Licenses Keys IrmcAdvancedFeatures
Licenses Keys IrmcAdvancedFea
tures
@Encryption [IRMC|none]
Licenses Keys IrmcAdvancedFea
tures
#text String(64Byte)
[<encrypted Key>|<plain
text Key>]
System
System Location String(65Byte)
System Name String(65Byte)
Page 85 of 100
System Description String(65Byte)
System Contact String(65Byte)
System OperatingSystem String(65Byte)
System AssetTag String(40Byte)
System HelpdeskMessage String(65Byte)
System GuidByteOrder true
false
AISConnect
AISConnect Enabled Yes
No
AcceptEulaAndEnable
ForceDisable
Only AcceptEulaAndEnable and
ForceDisable can change the state of
AISConnect Enabled
AISConnect ServiceMode true
false
AISConnect ProxyEnabled true
false
AISConnect RemoteSessionAdmission true
false
AISConnect Country Number
(1Byte)(international
country code)
eLCM
eLCM Update
eLCM Update RepositoryAddress String(65Byte)
(e.g. :https:\\support.ts.fujits
u.com)
8.2x (S4)
Adjusted: Path changed
Server/SystemConfig/IrmcConfig/eLCM/
UpdateSetting/Repository/Address
->
Server/SystemConfig/IrmcConfig/eLCM/
Update/RepositoryAddress <-- yes
RepositoryAdress without / is right
eLCM Update
eLCM Update ProxyEnabled true
false
8.2x (S4)
Adjusted: Path changed
Server/SystemConfig/IrmcConfig/eLCM/
UpdateSetting/ProxyEnabled
to
Server/SystemConfig/IrmcConfig/eLCM/
Update/ProxyEnabled
eLCM Update OfflineUpdate
eLCM Update OfflineUpdate IncludeBIOSandFW true
false
8.2x (S4)
Adjusted: Path changed
Server/SystemConfig/IrmcConfig/eLCM/
OfflineUpdate/IncludeBIOSandFW
->
Server/SystemConfig/IrmcConfig/eLCM/
Update/OfflineUpdate/IncludeBIOSand
FW
eLCM Update OfflineUpdate BootMode Legacy
UEFI
eLCM CustomImage
eLCM CustomImage ProxyEnabled true
false
eLCM CustomImage BootMode Legacy
UEFI
eLCM SDCustomImages
Page 86 of 100
eLCM SDCustomImages SDCustomImage
eLCM SDCustomImages SDCustomImage @SDCustomImageIdx [0..6]
eLCM SDCustomImages SDCustomImage BootMode Legacy
UEFI
eLCM Deployment
eLCM Deployment ProxyEnabled true
false
8.2x (S4)
New
eLCM Deployment RepositoryAddress 8.2x (S4)
New
eLCM Deployment BootMode Legacy
UEFI
8.2x (S4)
New
IpmiFencing
IpmiFencing EmergencySystemPowerDownEnabled true
false
8.2x (S4)
New
5.2 BIOS Profile Specification
Subprofile
Server/SystemConfig/BiosConfig
PMS Path PMS Profile Value Changes
in 1.0x
System-specific
Support
Comments
CpuStatus
CpuStatus CPU1 x 1.0x (S5)
New
Enabled
Disabled
Failed
Empty
CpuStatus CPU2 x 1.0x (S5)
New
Enabled
Disabled
Failed
Empty
CpuStatus CPU3 x 1.0x (S5)
New
Enabled
Disabled
Failed
Empty
CpuStatus CPU4 x 1.0x (S5)
New
Enabled
Disabled
Failed
Empty
CpuConfig
CpuConfig HyperThreadingEnabled
false
true
CpuConfig ActiveProcessorCores
All
1
Page 87 of 100
2
3
4
5
6
7
8
9
10
11
12
13
14
CpuConfig ExecuteDisableBitEnabled Not for RX2530/40M1
false
true
CpuConfig HardwarePrefetcherEnabled
false
true
CpuConfig AdjacentCacheLinePrefetchEnabled
false
true
CpuConfig DcuStreamerPrefetchEnabled
false
true
CpuConfig DcuIpPrefetchEnabled
false
true
CpuConfig VtEnabled
false
true
CpuConfig VtdEnabled
false
true
CpuConfig PowerTechnology
EnergyEfficient
CpuConfig EnhancedSpeedStepEnabled
false
true
CpuConfig TurboModeEnabled
false
true
CpuConfig PStateCoordinationMode Not visible in BIOS menu since 1.6.0
HardwareControlled
OsControlledAllProcessors
OsControlledAnyProcessor
CpuConfig C3ReportEnabled
false
true
CpuConfig C6ReportEnabled
false
true
CpuConfig C7ReportEnabled
false
Page 88 of 100
true
CpuConfig CStateLimit
C0
C2 x 1.0x (S5)
New
C3
C6
C7
C7S x 1.0x (S5)
New
Auto x 1.0x (S5)
New
None Only Aptio IV
CpuConfig QpiLinkSpeed
6.4GTs
7.2GTs
8.0GTs
9.6GTs 8.2x (S4)
Adjusted: Added 9.6GTs support
CpuConfig FrequencyFloorOverwriteEnabled
false
true
CpuConfig LimitCpuIdMaximumEnabled
false
true
CpuConfig EnergyPerformanceMode
OptimizedPerformance
BalancedPerformance
BalancedEnergy
EnergyEfficient
CpuConfig OsEnergyPerformanceOverrideEnabled
false
true
CpuConfig UtilizationProfile
Even
Unbalanced
CpuConfig EarlySnoop
Disabled
Enabled
Auto
CpuConfig C1ESupportEnabled
false
true
CpuConfig QpiLink1Disabled
false
true
CpuConfig UncoreFrequenceyOverrideEnabled Not visible in BIOS menu since 1.6.0
false
true
CpuConfig LlcDeadLineAllocEnabled x 1.0x (S5)
New
false
true
CpuConfig StaleAtosEnabled x 1.0x (S5)
New
false
Page 89 of 100
true
MemoryConfig
MemoryConfig MemoryMode
Normal Only for Aptio V
Independent x Only for Aptio IV 1.0x (S5)
New
Mirroring
Sparing
MemoryConfig NumaEnabled
false
true
MemoryConfig DdrPerformance
LowVoltageOptimized
EnergyOptimized
PerformanceOptimized
MemoryConfig ImcInterleaving x 1.0x (S5)
New
Auto
1Way
2Way
MemoryConfig SubNumaClustering x 1.0x (S5)
New
Disabled
Enabled
Auto
MemoryConfig PostPackageRepairType x 1.0x (S5)
New
Hard
Soft
Disabled
VMDConfig
VMDConfig VMDForCPU1RootPort1Enabled x Only specific Aptio V
boards: Not on
RX4770M4.
1.0x (S5)
New
false
true
VMDConfig VMDForCPU1RootPort2Enabled x Only specific Aptio V
boards: RX2540M4N.
1.0x (S5)
New
false
true
VMDConfig VMDForCPU1RootPort3Enabled x Only specific Aptio V
boards. RX2530M4,
RX2540M4N.
1.0x (S5)
New
false
true
VMDConfig VMDForCPU2RootPort1Enabled x Only specific Aptio V
boards: RX4770M4,
RX2540M4N.
1.0x (S5)
New
false
true
VMDConfig VMDForCPU2RootPort2Enabled x Only specific Aptio V
boards: Not on
RX4770M4.
1.0x (S5)
New
false
true
VMDConfig VMDForCPU2RootPort3Enabled x Only specific Aptio V
boards: RX4770M4.
1.0x (S5)
New
Page 90 of 100
false
true
OnboardDeviceConfig
OnboardDeviceConfig FlexibleLOMOpromSupportEnabled x 1.0x (S5)
New
false
true
OnboardDeviceConfig LanController
Disabled
Enabled Only when LAN1 and LAN12 options are not available
(system-specific)
LAN1
LAN12
OnboardDeviceConfig Lan2Controller Only when LAN1 and LAN12 options are not available for
LanController (system-specific)
Disabled
Enabled
OnboardDeviceConfig SasSataEnabled Not for RX2530/40M1
false
true
OnboardDeviceConfig SasSataOptionRomEnabled Not for RX2530/40M1
8.2x (S4)
Adjusted: Parameter name changed
SasSataOptRomEnabled
->
SasSataOptionRomEnabled
false
true
OnboardDeviceConfig SasSataDriver Only for
BX920S4
BX924S4
8.2x (S4)
New
LSIMegaRAID
IntelRSTe
OnboardDeviceConfig CnaEnabled
false
true
OnboardDeviceConfig CnaOptionRomEnabled
false
true
OnboardDeviceConfig CnaStandbyEnabled
false
true
SataConfig
SataConfig SataMode
IDE
AHCI
RAID
SataConfig SataControllerEnabled
false
true
Page 91 of 100
SataConfig sSataMode x 1.0x (S5)
New
IDE
AHCI
RAID
SataConfig sSataControllerEnabled x 1.0x (S5)
New
false
true
UsbConfig
UsbConfig PortDisable
AllPortsEnabled
RearPortsDisabled
FrontPortsDisabled
ExternalPortsDisabled
UsbConfig OnboardControllersEnabled
false
true
UsbConfig LegacySupport
Disabled
Enabled
Auto
UsbConfig XHCIMode
SmartAuto
Auto
Enabled
Disabled
TpmConfig
TpmConfig Enabled
false
true
TpmConfig TpmStateEnabled
false
true
TpmConfig PendingTpmOperation For BX2560M2 not supported up to Bios Version R1.3.0
None
EnableTakeOwnership
DisableTakeOwnership
TpmClear
TpmConfig HashPolicy Only
Aptio5 Bios
8.2x (S4)
New
Sha-1
Sha-2
PciConfig
PciConfig Above4GDecodingEnabled
false
true
PciConfig ASPMSupport 8.2x (S4)
Added Greenlow-specific values
Disabled
Auto
Page 92 of 100
L0Limited
L1only
L0Force 8.2x (S4)
Added Greenlow-specific value L0Force
PciConfig DMILinkSpeed 8.2x (S4)
Added Greenlow-specific values
GEN1
GEN2
GEN3 Only for
RX1330/20
RX1320 M2
8.2x (S4)
Added Greenlow-specific value GEN3
Auto Only for
RX1330/20
RX1320 M2
8.2x (S4)
Added Greenlow-specific value Auto
PciConfig MemoryHoleSize
3GB
2GB
PciConfig PciSlot1Status
Enabled
Failed
Empty
PciConfig PciSlot2Status
Enabled
Failed
Empty
PciConfig PciSlot3Status
Enabled
Failed
Empty
PciConfig PciSlot4Status
Enabled
Failed
Empty
PciConfig PciSlot5Status
Enabled
Failed
Empty
PciConfig PciSlot6Status
Enabled
Failed
Empty
PciConfig PciSlot7Status
Enabled
Failed
Empty
PciConfig PciSlot8Status
Enabled
Failed
Empty
PciConfig PciSlot9Status
Enabled
Failed
Empty
PciConfig PciSlot10Status
Enabled
Failed
Page 93 of 100
Empty
PciConfig PciSlot11Status
Enabled
Failed
Empty
PciConfig PciSlot12Status
Enabled
Failed
Empty
PciConfig PciSlot13Status
Enabled
Failed
Empty
PciConfig PciSlot14Status
Enabled
Failed
Empty
PciConfig PciSlot15Status
Enabled
Failed
Empty
PciConfig PciSlot16Status
Enabled
Failed
Empty
PciConfig SingleRootIOVirtualizationSupportEnabled
false
true
PowerConfig
PowerConfig WakeOnLanBoot Force LAN boot after Wake On LAN (Option "Launch PXE
OpROM" must be enabled to actually force a network boot)
BootSequence
ForceLanBoot
PowerConfig PowerOnSource
BiosControlled
AcpiControlled
SecurityConfig
SecurityConfig SkipPasswordOnWol
false
true
SecurityConfig FlashWriteEnabled
false
true
SecurityConfig UserPasswordOnBoot
OnEveryBoot
OnFirstBoot
Never
SecurityConfig SecureBootControlEnabled
false
true
SecurityConfig AdminPassword
SecurityConfig UserPassword
SecurityConfig NewAdminPassword
SecurityConfig NewUserPassword
SecurityConfig FactoryDefaultKeyProvisionEnabled
Page 94 of 100
false
true
SecurityConfig SecureBootMode BIOS >=R1.8.0
Standard
Custom
BootConfig
BootConfig PxeBootOptionRetry For
BX2560M2 not supported up to Bios Version R1.3.0
false
true
BootConfig NumLockState
On
Off
BootConfig QuietBootEnabled
false
true
BootConfig CheckControllersHealthStatusEnabled For
BX2560M2 not supported up to Bios Version R1.3.0
false
true
BootConfig KeepVoidBootOptionsEnabled
false
true
BootConfig NewBootOptionPolicy x 1.0x (S5)
New
Default
PlaceFirst
PlaceLast
BootConfig BootRemovableMediaEnabled
false
true
BiosBootOrder
BiosBootOrder Devices/Device/@DeviceIdx 8.6x (S4)
new
[1-64]
Devices/Device/StructuredBootString 8.6x (S4)
new
<StructuredBootString>
Devices/Device/DeviceName 8.6x (S4)
new
<DeviceName>
BootOrderApply 8.6x (S4)
new
false
true
BootOrderReset 8.6x (S4)
new
false
true
NextBootDevice 8.6x (S4)
new
<StructuredBootString>
OptionRomConfig
OptionRomConfig OptionRomLan1Mode Not for
RX2530/40M1
Disabled
PXE
Page 95 of 100
ISCSI
OptionRomConfig OptionRomLan2Mode Not for
RX2530/40M1
Disabled
PXE
ISCSI
OptionRomConfig OptionRomSlot1Enabled
…
OptionRomSlot16Enabled
8.2x (S4)
Adjusted: Changed parameter name
OpRomSlotxEnabled
->
OptionRomSlotxEnabled
false
true
CsmConfig
CsmConfig LaunchScmEnabled
false
true
CsmConfig BootOptionFilter
UefiAndLegacy
LegacyOnly
UefiOnly
CsmConfig PxeOptionRomPolicy
DoNotLaunch
UefiOnly
LegacyOnly
CsmConfig StorageOptionRomPolicy
DoNotLaunch
UefiOnly
LegacyOnly
CsmConfig OtherPciDeviceRomPriority 8.2x (S4)
Adjusted: some new values are added
UefiOnly Value should be used on Aptio 5 based BIOS
LegacyOnly Value should be used on Aptio 5 based BIOS
UefiIOpROM 8.2x (S4)
New value
Value should be used on Aptio 4 based BIOS
LegacyOpROM 8.2x (S4)
New value
Value should be used on Aptio 4 based BIOS
CsmConfig VideoOptionRomPolicy 8.2x (S4)
Adjusted: Changed values from
true|false
->
UefiOnly|LegacyOnly
UefiOnly
LegacyOnly
SerialPortConfig
SerialPortConfig Port1Enabled
false
true
SerialPortConfig Port2Enabled not for
RX2530/40M1
BX2560M1/M2
false
true
Page 96 of 100
SerialPortConfig IOConfig/IO
Auto
IO=3F8h; IRQ=4;
IO=3F8h; IRQ=3,...,12;
IO=2F8h; IRQ=3,...,12;
IO=3E8h; IRQ=3,...,12;
IO=2E8h; IRQ=3,...,12;
NetworkStack
NetworkStackConfig Enabled
false
true
NetworkStackConfig IpV4PxeSupportEnabled
false
true
NetworkStackConfig IpV6PxeSupportEnabled
false
true
5.3 Out-of-band RAID Configuration Profile
SubProfile
Server/HWConf
igurationIrmc/
Adapters/RAID
Adapter
PMS Path
PMS Profile value Read
only
Description Mandatory Setting for
RAID function
Create LD
Delete LD
Modify LD
MDC
Locate LD
Start/Cancel Rebuild
Start copyback
Cancel copyback
Create Global Hotspare
Create Dedicated
Hotspare
Delete Hotspare
Replace Missing Drive
Modify Raid Controller
properties
Changes
1.0x
Comments
@AdapterId
string AdapterId shows the string
"RAIDAdapter%d". %d represents
controllerIndex.
8.4x (S4)
New
@ConfigurationType
Adressing
Setting
If no action,
ConfigurationType=”Addressing” is
specified.
8.4x (S4)
New
PCIId
- RAID adapter identifier 8.4x (S4)
New
PCIId Vendor
String PCI vendor ID 8.4x (S4)
New
PCIId Device
String PCI device ID 8.4x (S4)
New
PCIId ControllerIndex
[0-7] Controller ID 8.4x (S4)
New
Features
- Possible setting values 8.4x (S4)
New
Features RaidLevel String Possible RAID level 8.4x (S4)
New
Features Stripe
String Possible stripe size 8.4x (S4)
New
Page 97 of 100
Features Stripe @Unit String Unit=”KB” 8.4x (S4)
New
Features InitMode String Possible logical drive initialization
mode
8.4x (S4)
New
Features WriteMode
String Possible logical drive write mode 8.4x (S4)
New
Features ReadMode String Possible logical drive read mode 8.4x (S4)
New
Features CacheMode String Possible logical drive cache mode 8.4x (S4)
New
Features DiskCacheMode
String Possible logical drive disk cache
mode
8.4x (S4)
New
BGIRate
[0-100] Backgroud Initialization (BGI) rate 8.4x (S4)
New
MDCRate
[0-100] Make Data Consistency (MDC) rate 8.4x (S4)
New
RebuildRate
[0-100] Rebuild rate 8.4x (S4)
New
Copyback Enabled
Disabled
Enabled/Disabled copyback 8.4x (S4)
New
CopybackOnSMART Enabled
Disabled
Enabled/Disabled copyback on
SMART
8.4x (S4)
New
CopybackOnSSDSMART
Enabled
Disabled
Enabled/Disabled copyback on SSD
SMART
8.4x (S4)
New
AutoRebuild
Enabled
Disabled
Enabled/Disabled auto rebuild 8.4x (S4)
New
Arrays
- 8.4x (S4)
New
Arrays Array @Number
[0-127] 8.4x (S4)
New
Arrays Array @ConfigurationType
Adressing
Setting
If no action,
ConfigurationType=”Addressing” is
specified.
8.4x (S4)
New
Arrays Array PhysicalDiskRefs
- 8.4x (S4)
New
Arrays Array Physic
alDiskR
efs
PhysicalDiskR
ef
string
"%d" or "%d-%d"
Physical drives in the array 8.4x (S4)
New
LogicalDrives
Create
Delete
Modify
StartMDC
CancelMDC
SuspendMDC
ResumeMDC
CreateDedicatedHotspare
ReplaceMissingDrive
None
Logical drives assigned on the
controller
Create LD
Delete LD
Modify LD
MDC (Start, Cancel,
Suspend, Resume)
Create Dedicated
Hotspare
Replace Missing Drive
8.4x (S4)
New
LogicalDrives LogicalDrive @Number [0-63] Number is ignored if Action=”Create”,
because RAIDAdapter automatically
assigns its number. You can set the
number, but this will have no effect.
8.4x (S4)
New
Page 98 of 100
LogicalDrives LogicalDrive @Action Create
Delete
Modify
None
If no action required, Action="None",
otherwise each action is specified.
8.4x (S4)
New
LogicalDrives LogicalDrive RaidLevel
0
1
5
6
10
1E
50
60
RAID level 8.4x (S4)
New
LogicalDrives LogicalDrive ArrayRefs
- 8.4x (S4)
New
LogicalDrives LogicalDrive ArrayRef [0-127] Assigned array 8.4x (S4)
New
LogicalDrives LogicalDrive WriteMode WriteBack
WriteThrough
AlwaysWriteBack
Write mode 8.4x (S4)
New
LogicalDrives LogicalDrive ReadMode
NoReadAhead
ReadAhead
Read mode 8.4x (S4)
New
LogicalDrives LogicalDrive CacheMode Direct Cache mode 8.4x (S4)
New
LogicalDrives LogicalDrive DiskCacheMode
Enabled
Disabled
Disk cache mode 8.4x (S4)
New
LogicalDrives LogicalDrive Stripe
[8,16,32,64,128,256,512,1
024]
Stripe size 8.4x (S4)
New
LogicalDrives LogicalDrive Stripe @Unit KB Unit=”KB” 8.4x (S4)
New
LogicalDrives LogicalDrive InitMode
no
slow
fast
Init mode 8.4x (S4)
New
LogicalDrives LogicalDrive LDStatus Operational
Failed
Partially degraded
Degraded
Logical drive status 8.4x (S4)
New
LogicalDrives LogicalDrive Name
String (max length16byte
with NULL character)
Logical drive name 8.4x (S4)
New
LogicalDrives LogicalDrive Size
[1-Array Size] oro [0] Logical drive size. If this value is 0 in
Create LD,
logical drive size is
max size for array
8.4x (S4)
New
LogicalDrives LogicalDrive Size @Unit
MB
GB
TB
Unit=”MB” or “GB” or “TB” 8.4x (S4)
New
PhysicalDisks - Physical drives connected to
controller
Start/Stop Locate
Make Online/Offline
Start/Cancel Rebuild
Start copyback
Cancel copyback
Create Global Hotspare
Create Dedicated
Hotspare
Delete Hotspare
Replace Missing Drive
8.4x (S4)
New
Page 99 of 100
PhysicalDisks PhysicalDisk @Number string
"%d" or "%d-%d"
Number represents a physical drive
slot number (e.g. “0”). Note that if
physical drive is connected via
external enclosure, the Number is
shown as “enclosure number-slot
number” (e.g. “0-0”).
8.4x (S4)
New
PhysicalDisks PhysicalDisk @Action StartLocate
StopLocate
MakeOnline
MakeOffline
StartRebuild
CancelRebuild
StartCopybackSource
StartCopybackDestination
CancelCopyback
CreateGlobalHotspare
CreateDedicatedHotspare
DeleteHotspare
ReplaceMissingDrive
None
If no action required, Action="None",
otherwise each action is specified.
Start/Stop Locate
Make Online/Offline
Start/Cancel Rebuild
Start copyback
Cancel copyback
Create Global Hotspare
Create Dedicated
Hotspare
Delete Hotspare
Replace Missing Drive
8.4x (S4)
New
PhysicalDisks PhysicalDisk Slot
[0-n] Slot number (e.g. “0”). Note that if
physical drive is connected via
external enclosure, the Number is
shown as “enclosure number-slot
number” (e.g. “0-0”).
n : max slot no
8.4x (S4)
New
PhysicalDisks PhysicalDisk PDStatus Available
Failed
Hotspare
Offline
Rebuilding
Hot Spare
Offline
Rebuilding
Operational
Copyback
JBOD
Unconfigured - shielded
Hot spare - shielded
Configured - shielded
Physical drive status 8.4x (S4)
New
PhysicalDisks PhysicalDisk Interface
SCSI
SAS
SATA
FC
Interface 8.4x (S4)
New
PhysicalDisks PhysicalDisk Type HDD
SSD
Type 8.4x (S4)
New
PhysicalDisks PhysicalDisk Vendor String Vendor name 8.4x (S4)
New
PhysicalDisks PhysicalDisk Product String Product name 8.4x (S4)
New
PhysicalDisks PhysicalDisk Size
int [0-32767] Physical drive size 8.4x (S4)
New
PhysicalDisks PhysicalDisk Size @Unit
MB
GB
TB
Unit=”MB” or ”GB” or “TB” 8.4x (S4)
New
Page 100 of 100
5.4 Further Profile Specification
As mentioned in section 4.1.1, there are also subprofiles for OSInstallation (OS Deployment), HWConfiguration (e.g. RAID Adapter) and
AdapterConfig (Virtual IO Management settings). Since we recommend using these feature in combination with “ServerView Service for ISM”,
please refer to the profile specification available via the Software Pool. Search for “ServerView Service for ISM” for detailed information.
5.5 Profile Dependencies
According to the execution order of a complete server profile defined in section 4.1.2.1, we can see that the iRMC configuration is processed
before the OS installation. Please be aware that iRMC settings may face different environments for deployment and productive setup, and so
need different configuration for both environments. E.g. the wrong watchdog setting may cause incorrect OS installation. This applies for
different parts of the iRMC settings defined in the IrmcConfig subprofile.
The following settings require particular care:
- Server/SystemConfig/IrmcConfig/ServerManagement/Watchdogs
- Server/SystemConfig/IrmcConfig/Lan/IpV4
- Server/SystemConfig/IrmcConfig/Lan/IpV6
- Server/SystemConfig/IrmcConfig/Lan/Interface
- Server/SystemConfig/IrmcConfig/Lan/Vlan
- Server/SystemConfig/IrmcConfig/Lan/Enabled
- Server/SystemConfig/IrmcConfig/PowerOnOff
- Server/SystemConfig/IrmcConfig/Memory/ScrubbingEnabled
- Server/SystemConfig/IrmcConfig/Cas