Dell Lifecycle Controller 1.2 for Windows, Lifecycle Controller 1.3 for Windows, Lifecycle Controller 1.4 for Windows, Lifecycle Controller 1.5 for Windows, Lifecycle Controller 1.5.5 for Windows Web Services Interface Guide
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
This document is for informational purposes only and may contain typographical errors and
technical inaccuracies. The content is provided as is, without express or implied warranties of any
kind.
23.1 Listing the FC Inventory-Attribute Class .................................................................. 219
23.2 Listing the FC Inventory-Statistics Class ................................................................. 220
23.3 Listing the FC Inventory-String Class ................................................................ ...... 221
23.4 Listing the FC Inventory-Integer Class ................................ .................................... 222
23.5 Listing the FC Inventory-Enumeration Class ........................................................... 222
23.6 Changing the FC Attributes-SetAttribute() ............................................................... 223
23.7 Applying the Pending Values for FC-CreateTargetedConfigJob() ........................... 223
23.8 Deleting the Pending Values for FC-DeletePendingConfiguration() ........................ 225
23.9 Listing the FC Views ............................................................................................... 225
9
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
1 Introduction
This document serves as a guideline for utilizing the functionality available from embedded Lifecycle
Controller Remote Enablement Web Services interfaces. The purpose of this document is to provide
information and examples for utilizing the Web services for Management (WS-Man) management
protocol using Windows WinRM and open source WSMANCLI command line utilities. Examples and
invocation information is provided for the following functionality.
Inventory for BIOS, component firmware and embedded software
Update of BIOS, component firmware and embedded software
Job Control of update tasks
Enhancement of Operating System Deployment using VFlash SD Card
Enhancement of Discovery and Handshake from LifeCycle Controller 1.x
Raid configuration management
iDRAC Inventory and configuration features
NIC configuration management
Boot configuration management
BIOS configuration management
The target audience for this document is application and script writers that want to utilize the remote
management capabilities using WS-Man protocol available from Dell Lifecycle Controller.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
7
List of PCI IDs:
http://pciids.sourceforge.net/pci.ids
11
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3 Overview
The remote interface guidelines provided in this document are illustrated by command line examples
of the WS-MAN protocol Web services APIs that expose the remote management capabilities of the Dell
Lifecycle Controller. The command line examples are from the Microsoft® Windows® and Linux
environments using WinRM4 and WSMANCLI5 respectively. The Lifecycle Controller remote management
capabilities are organized by management domain and documented in Dell CIM Profile specifications2.
The remote enablement feature for Lifecycle Controller 2.0 provides the following capabilities:
Remotely get inventory of the BIOS, component firmware, and embedded software including
version information of both the installed as well as available cached versions
power supplies from remotely located Dell Update Packages or cached images located in the
Lifecycle Controller
Remotely schedule and track the status of update tasks (jobs)
Remotely manage the Part Replacement feature by allowing retrieving and setting auto update
and auto system inventory sync
Enable re-initiation of Lifecycle Controller Auto-Discovery feature
Enhancement of Operation System Deployment capabilities by supporting the downloading of
an ISO image to a Dell VFlash SD Card and booting to the ISO image on the VFlash SD Card
NIC configuration enables the ability to get and set NIC attributes that are configurable using
NIC Option ROM or NIC UEFI HII.
Remote RAID configuration allows users to remotely query and configure the Hardware Raid of
the system
Multiple HW Inventory views allows users to remote query the inventory of Hardware
3.1 Format for WinRM CLI Examples in Document
The examples of WinRM and WSMANCLI command line invocations in this document are formatted for
readability and often span multiple lines in the document. In actual use, scripted or hand-typed
invocations are contained on one line. The examples also use substitute values for the target iDRAC IP
address, username (with ExecuteServerCommand privilege), password and other site specific
information. Actual use of these examples would require using values for IP Address, username and
password, etc. that are valid. These values are represented in the examples as follows:
Target iDRAC IP address = [IPADDRESS]
iDRAC Username = [USER]
iDRAC Password = [PASSWORD]
Additional substitute values are used in some of the examples and are described in the specific
example.
12
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
The following example is typical of the formatting used in this document:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_OSDeploymentService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
3.2 WS-Man Security & Time Parameters
3.2.1 Encryption Certificate Security
For the WinRM examples provided in this document, the strict checks of certificates such as matching
of CNs (Common Names) and verification with the actual CA (Certificate Authority) of the certificate of
the WS-Management protocol HTTPS encryption certificate is assumed to be already configured and
enabled. To disable the strict certificate checking, add the following command line options to all
WinRM examples: –skipCACheck and –skipCNCHeck.
Additionally, the following error may result if the end point does not support this feature. Use the
switch -skiprevocationcheck to bypass this error.
WSManFault
Message = The server certificate on the destination computer (10.35.0.232:443) has the following
errors:
The SSL certificate could not be checked for revocation. The server used to check for revocation might
be unreachable.
Refer to the WinRM documentation4 and related documentation for directions on setting up encryption
certificates for WinRM and executing WinRM invocations using full security capabilities. Refer to the
Lifecycle Controller User Guide1 for directions on configuring different encryption certificates for the
iDRAC Web server. Dell recommends that the full security and encryption capabilities of the WSManagement protocol is used for production level utilization of the Lifecycle Controller Web services
interfaces.
3.2.2 Handling invalid responses from WSMAN commands
Check the network connection to make sure that the system is connected
Check the WSMAN syntax to ensure there are no typos in the command line
Check if there are other WSMAN commands sending from other systems
Wait for a few seconds and re-try the WSMAN command
13
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3.2.3 Improving WinRM Enumeration Performance
When an enumeration command is executed, the default WinRM configuration gets only 20 instances at
a time and therefore slows down the system drastically. Changing the WinRM configuration to allow a
greater number, such as 50, will reduce the time taken by the enumeration operations.
Execute the following command to get instances in groups of up to 50.
winrm set winrm/config @{MaxBatchItems="50"}
Additionally, increasing the allotted maximum envelope size and timeout can also increase
performance.
winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}
Other optional WinRM configuration commands are listed below for convenience. To get the current
WinRM configuration settings, execute the following command.
winrm g winrm/config
By default, the client computer requires encrypted network traffic. To allow the client computer to
request unencrypted traffic, execute the following command:
winrm s winrm/config/Client @{AllowUnencrypted="true"}
TrustedHosts is an array that specifies the list of remote computers that are trusted. Other computers
in a workgroup or computers in a different domain should be added to this list.
Note: The computers in the TrustedHosts list are not authenticated.
Execute the following command to allow all computers to be included in TrustedHosts.
winrm s winrm/config/Client @{TrustedHosts="*"}
Basic authentication is a scheme in which the user name and password are sent in clear text to the
server or proxy. This method is the least secure method of authentication. The default is True.
Execute the following command to set client computer to use Basic authentication.
winrm s winrm/config/Client/Auth @{Basic="true"}
3.2.4 Specifying StartTime, Until Time, and TIME_NOW Parameters
The several methods that attach a virtual USB device to the target system accept a StartTime and Until
parameter. The parameter data type is CIM date-time. If the StartTime parameter is null the action
will not be started. If the Until parameter is null, the default value will be 17 hours. The date-time
data type is defined in the CIM Infrastructure Specification4 as:
ddddddddhhmmss.mmmmmm
Where:
14
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Term
Meaning
BIOS
Basic Input / Output System
HW
Hardware
iDRAC
Integrated DELL Remote Access Controller
IPL
Initial Program Load
DUP
Dell Update Package
MOF
Managed Object File
CIM
Common Information Model
NIC
Network Interface Controller
RAID
Redundant Array of Independent Disks
FQDD
Fully Qualified Device Description
UEFI
Unified Extensible Firmware Interface
AMEA
Advanced Management Enablement Adapter
HII
Human Interface Infrastructure
WSMAN
WS-Management is a specification of a SOAP-based protocol for the
management of servers, devices, applications and more
• dddddddd is the number of days
• hh is the remaining number of hours
• mm is the remaining number of minutes
• ss is the remaining number of seconds
• mmmmmm is the remaining number of microseconds
The Lifecycle controller firmware update, and set attribute related methods that require a date time
parameter, use the form YYYYMMDDhhmmss (Eg. 20090930112030). The user is expected to enter the
date and time in this format for all Lifecycle Controller updates and set attribute tasks. TIME_NOW is a
special value that represents “running the tasks immediately”.
3.2.5 Return Values
Many of the methods in this document have the following possible return values. They are summarized
here for convenience.
0 = Success
1 = Not Supported
2 = Failed
4096 = Job Created
3.2.6 Glossary
15
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
4 Discovery
4.1 Discovering Web Service Capability
Determine if the target system supports the WinRM interface using the ‘identify’ command.
The above example shows that the DMTF Base Server profile version 1.0.0 is implemented.
4.3 Discovering Implementation Namespace
The implementation CIM namespace may be discovered from the interop (root/interop) CIM namespace
using the class CIM_ElementConformsToProfile that associates an instance of CIM_RegisteredProfile
class with an instance of CIM_ComputerSystem class.
Profiles: n/a
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/* -dialect:association -associations filter:
{object=DCIM_ComputerSystem?CreationClassName=DCIM_ComputerSystem+Name=srv:system+__cimna
mespace=root/dcim}
5.1 Description of iDRAC Attributes vs Standard DMTF Model
The iDRAC user account management data model is represented by both DMTF and Dell Profiles. Both
models are currently offered. The DMTF Profiles for Simple Identity Management and Role Based
Authorization represent iDRAC user accounts and privileges. The DMTF data model is complex and
typically requires multiple transactions to accomplish simple operations such as specifying a username
and password or giving a user account admin privileges. For this reason, LC also offers a Dell data
model for managing iDRAC user accounts that is based on an attribute model. The DCIM iDRAC Card
Profile specifies the attributes for each user account name, password, and privilege. The iDRAC has 15
local user account that can be managed.
5.2 Account Inventory (using iDRAC Attributes)
The list of user accounts may be retrieved by enumerating the DCIM_iDRACCard classes. The class
provides the user account name and enabled state properties.
5.2.1 Account and Capabilities (using iDRAC Attributes)
Enumerating the DCIM_iDRACCardEnumeration class, Section 19.1, and parsing the output for the
attribute AttributeDisplayName = User Admin Enable, will display all of the 16 possible user accounts
and their respective status.
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardEnumeration
-u:[USER] -p:[PASSWORD]
18
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.2.2 Privilege and Capabilities (using iDRAC Attributes)
Enumerating the DCIM_iDRACCardEnumeration class, Section 19.1, and parsing the output for the
attribute AttributeDisplayName = User Admin IPMI LAN(or Serial) Privilege, will display all of the 16
possible user accounts and their respective status.
When the account setting capability allows, the user name of an account may be modified by invoking
the ApplyAttributes() method on the UserName property. Confirmation of successful user name or
password verification can be obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
5.3.1 Modify User Name (using iDRAC Attributes)
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.3.3 Modify Account State (using iDRAC Attributes)
When the account setting capability allows, the user account may be enabled or disabled by invoking
the method ApplyAttributes() method on the Enable property. Confirmation of the change can be
obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
The following error may result if the password has not initially been set to a value. The password may
be set an initail value at the same time as the account is enabled by adding the Users.4#Password
attribute name and corresponding attribute value, as shown above.
ApplyAttributes_OUTPUT
Message = The User Password is not configured so cannot Enable the User or set values for IPMILan
IPMISerial or User Admin Privilege
MessageArguments = NULL
MessageID = RAC023
ReturnValue = 2
22
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
5.3.4 Modify User Privilege (using iDRAC Attributes)
When the account setting capability allows, the user privileges may be enabled or disabled by invoking
the method ApplyAttributes() method on the Enable property. Confirmation of the change can be
obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
The list of user accounts may be retrieved by enumerating the CIM_Account class. The class provides
the user account name and EnabledState properties. The user account password is also included but it
is a write-only property.
Account setting capability is defined in the class CIM_AccountManagementCapabilities associated with
the CIM_Account class instance. The ability to enable and disable an account is defined in the
capability class CIM_EnabledLogicalElementCapabilities associated with the CIM_Account class.
To determine account setting capabilities:
1. Get the CIM_Account class instance of interest using EnumerateEPR mode.
2. Enumerate the associators of the CIM_Account instance and search for
CIM_AccountManagementService class instance using EnumerateEPR mode.
3. Enumerate the associators of the CIM_AccountManagementService instance and search for
CIM_AccountManagementCapabilities class instance.
4. One exception is account index 0. The first account is static and could not be set.
5.4.2 Privilege and Capabilities (using DMTF Model)
The account privilege assigned to a user is defined in the class CIM_Privilege associated with the
CIM_Account class. The class contains a list of privileges granted to the user account.
To get the instance of CIM_Privilege for an account:
1. Get the CIM_Account class instance of interest using EnumerateEPR mode.
2. Enumerate the associators of the CIM_Account instance and search for CIM_Identity class
instance using EnumerateEPR mode.
3. Enumerate the associators of the CIM_Identity instance and search for CIM_Role class instance
using EnumerateEPR mode.
4. Enumerate the associators of the CIM_Role instance and search for CIM_Privilege class instance.
An alternative to the above method, you can retrieve the specific CIM_Privilege instance by
enumerating the class directly with filter. This method is similar to the example used to retrieve
CIM_Account.
EXAMPLE:
26
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/DCIM_LocalRolePrivilege
Privilege setting capability is defined in the class CIM_RoleBasedManagementCapabilities associated
with the CIM_Privilege class instance. This class contains the list of possible values used to assign
privileges. Look for the property ActivityQualifiersSupported.
To determine privilege setting capabilities:
1. Acquire the class instance of CIM_Privilege of interest.
2. Enumerate the associators of the CIM_Privilege instance and search for
CIM_RoleBasedAuthorizationService class instance using EnumerateEPR mode.
27
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
3. Enumerate the associators of the CIM_RoleBasedAuthorizationService instance and search for
CIM_RoleBasedManagementCapabilities class instance using EnumerateEPR mode.
OUTPUT:
DCIM_LocalRoleBasedManagementCapabilities
ActivitiesSupported = 7, 7, 7, 7, 7, 7, 7, 7, 7
ActivityQualifiersSupported = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Execute
Server Control Commands, Access Console Redirection, Access Virtual Media, Test Alerts, Execute Di
agnostic Commands
ElementName = Local Role Based Management Capabilities
InstanceID = DCIM:LocalRoleBasedManagementCapabilities
QualifierFormatsSupported = 9, 9, 9, 9, 9, 9, 9, 9, 9
SharedPrivilegeSupported = false
SupportedMethods = 8
When the account setting capability allows, the user name of an account may be modified by issuing a
set operation on the UserID property of the CIM_Account class instance. The set operation requires an
instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to
enumerate or get of the class.
When this command is executed, the UserID will be displayed in the output. The UserPassword will be
displayed as null when the account is disabled. After the account is enabled, it will be displayed as
blank. The value of UserPassword will never be displayed.
D) If the account specified is new or not yet enabled, it will not be accessible. Login as root in the UI
and verify the user name is set correctly and enable it.
E) Logout of the UI. Logging in with new user name and password and be successful.
Possible responses:
1. A fault is returned which suggests a possible error in the request payload.
2. An empty response which suggests an error occurred while processing the request.
3. An instance of the class is returned where the property value is unchanged.
4. An instance of the class is returned where the property value is modified. The set is successful.
5. The property value may be blank as intended by the implementation for security. To determine
success, try logging in with the new password. Ensure the account is enabled.
5.5.2 Modify Password (using DMTF Model)
When the account setting capability allows, the user password of an account may be modified by
issuing a set operation on the UserPassword property of the CIM_Account class instance. The set
operation requires an instance reference. The instance reference may be retrieved by adding
EnumerateEPR mode to enumerate or get of the class.
NOTE: The profile defines this property as string array of type octet string. In this implementation, the
password is a string of type clear text. The security concern is resolved by transmission of this
information only through secure HTTPS communication.
When the account setting capability allows, the user account may be enabled or disabled by invoking
the RequestStateChange() method of the CIM_Account class instance. The invoke operation requires
31
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
an instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to
enumerate or get of the class.
Response status other than zero indicates failure and error message information may be provided.
5.5.4 Modify User Privilege (using DMTF Model)
When the account setting capability allows, the user account privileges may be modified by issuing a
set() operation on the ActivityQualifiers property of the CIM_Privilege class instance associated with
the CIM_Account class instance. The set() operation requires an instance reference. The instance
reference may be retrieved by adding EnumerateEPR mode to enumerate or get of the class.
The profile defines this property as string array containing all the privileges to be granted for the
account. Setting the list of privileges is a complete over-write of the previous setting. This restriction
is a limitation where the protocol does not define how to set a particular index in the list. The new list
will replace the previous list in its entirety.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Here is an example list of available privileges from an instance of the class
CIM_RoleBasedManagementCapabilities:
DCIM_LocalRoleBasedManagementCapabilities
ActivitiesSupported = 7, 7, 7, 7, 7, 7, 7, 7, 7
ActivityQualifiersSupported = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Execute
Server Control Commands, Access Console Redirection, Access Virtual Media, Test Alerts, Execute Di
agnostic Commands
ElementName = Local Role Based Management Capabilities
InstanceID = DCIM:LocalRoleBasedManagementCapabilities
QualifierFormatsSupported = 9, 9, 9, 9, 9, 9, 9, 9, 9
SharedPrivilegeSupported = false
SupportedMethods = 8
The privilege property ActivityQualifiers is an array of type string. To set more than one privilege, you
need to provide the same key name more than once. The tool does not allow duplicate keys to be
entered through the command line. Instead, you need to perform two operations.
1. Get an instance of the CIM_Privilege class of interest.
2. Using the class instance, replace the property ActivityQualifiers with the new values.
3. Use the new instance XML as input to the set operation.
To determine if the new password has been successfully set, try logging in with the new password.
Ensure the account is enabled.
6 Firmware Inventory
6.1 Software Inventory Profile Specification
The Dell Common Information Model (CIM) class extensions for supporting remote firmware inventory
are defined in the Dell OS Software Update2 and related MOFs3. The diagrams representing the classes
that are implemented by the Lifecycle Controller firmware can be found in Dell Software Inventory
Profile.
6.2 Remote Inventory Method Invocation – Get Software Inventory
The SoftwareIdentity class contains information for the BIOS and component firmware installed on the
target system as well as available firmware images cached in the Lifecycle Controller. The
enumeration of the SoftwareIdentity class returns a list of SoftwareIdentity objects with properties
such as firmware type and version.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
winrm e cimv2/root/dcim/DCIM_SoftwareIdentity
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8
When this method is executed, a list of software identity objects will be returned, including installed
and available firmware. Below is a snippet of the output.
The key properties in the above output include the following:
InstanceID: Normally identifies the firmware on a particular type of device. The substring right
after DCIM: is the status of a payload or firmware on the system. This can be installed or
available.
ComponentID: Uniquely identifies a unique type of device such as BIOS, NIC, Storage and Lifecycle
controller firmware.
34
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
InstallationDate: The date when the payload was installed to the system. If the system time was
not set when the firmware installation took place the install date will be 1970-01-01. Factory
installed firmware will have the 1970-01-01 date.
VersionString: Shows the version of the firmware represented.
7 Firmware Update
7.1 Software Update Profile Specification
The Dell Common Information Model (CIM) class extensions for supporting BIOS, component firmware,
and embedded software update are defined in the Dell Software Update Profile2 and related MOF
files3. The diagrams representing the classes that are implemented by the Lifecycle Controller
firmware can be found in Dell Software Update Profile as well.
The InstallFromSoftwareIdentity() method is used for installation of a previous version of a component
firmware that is available on the Lifecycle Controller (i.e. “rollback” of component firmware). The
general “Rollback” firmware steps are performed in several stages as described in the next sections.
Meanwhile, the steps are demonstrated in examples in Section 7.3 and Section 7.4.
7.2.1 Request “Rollback” Image
The first stage is a request to initiate and download the rollback image from the Lifecycle
Controller by invoking the InstallFromSoftwareIdentity() method.
7.2.2 Create Reboot Job
The second stage is to create a reboot job as shown in Section 7.8.
7.2.3 Schedule Update Jobs
The third stage is to invoke the SetupJobQueue() method as shown in Section 10.2.1. Use the
jobID(JID) from InstallFromSoftwareIdentity() and rebootID(RID) from the reboot job. The
reboot may take several minutes as the UEFI performs the desired operation.
7.2.4 Monitor Update Jobs
The output of getting the job status during various steps, Section 10.2.3, is shown below.
Initial job status after invoking InstallFromSoftwareIdentity
35
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
The InstallFromSoftwareIdentity() method is used for installation of a previous version of a component
firmware that is available on the Lifecycle Controller (i.e. “rollback” of component firmware).
All steps to complete a rollback successfully are listed below.
Invoke InstallFromSoftwareIdentity() with the following parameters and syntax:
[InstanceID]: This is the instanceID of the SoftwareIdentify that is to be used to rollback the
firmware to a previous version. The InstanceID can have value such as:
DCIM:AVAILABLE:NONPCI:159:2.1.4
It is available firmware on a NONPCI device.
36
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
This refers BIOS version 2.1.4
EXAMPLE:
winrm i InstallFromSoftwareIdentity cimv2/root/dcim/
DCIM_SoftwareInstallationService
?CreationClassName=DCIM_SoftwareInstallationService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=IDRAC:ID
+Name=SoftwareUpdate -file:RollInputBIOS.xml
The InstallFromSoftwareIdentity() method is used for installation of a previous version of a component
firmware that is available on the Lifecycle Controller (i.e. “rollback” of component firmware).
37
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Invoke InstallFromSoftwareIdentity with the following parameters and syntax:
[InstanceID]: This is the instanceID of the SoftwareIdentify that is to be used to rollback the
firmware to a previous version. The InstanceID can have value such as:
DCIM:PREVIOUS:PCI:14E4:1639:0237:1028
It refers to a previous firmware on a PCI device.
VID (Vendor ID)= 14E4
DID (Device ID) = 1639
SSID (Subsystem ID) = 0237
SVID (Subvendor ID) = 1028
This refers to a Broadcom NetXtreme II BCM5709 network adaptor
7
.
EXAMPLE:
winrm i InstallFromSoftwareIdentity cimv2/root/dcim/
DCIM_SoftwareInstallationService
?CreationClassName=DCIM_SoftwareInstallationService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=IDRAC:ID
+Name=SoftwareUpdate -file:RollInputNIC.xml
A Firmware update can be achieved by invoking the InstallFromURI() method in the class
DCIM_SoftwareInstallationService. Firmware update is performed in several stages as described in the
next sections. The steps are demonstrated in examples in Section 7.6 and Section 7.7.
Note: When using WSMAN command to initiate update jobs, make sure to wait for two seconds
before submitting a second job in order to avoiding racing conditions.
7.5.1 Request Update Download
The first stage is a request to initiate and download the update image from a source defined by the
user by invoking the InstallFromURI() method.
7.5.2 Monitor Download Status
Downloading the update package may take several minutes. The second stage is to monitor the
download. The download status may be monitored by enumerating or getting the instance of the
corresponding job.
7.5.3 Reboot to Perform Update
Once downloaded, the request needs to be scheduled. The third stage is to schedule the update. To
schedule the update, use the SetupJobQueue() method of the class DCIM_JobService in Section 10.2.1.
7.5.4 Wait for Job Completion
The fourth stage is to wait for the job to be completed, which may take several minutes. The job
status can be monitored as shown in Section 10.2.3.
39
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
7.5.5 Delete Job
The fifth and final stage is to delete the completed job from the job store. Deleting the job queue is
shown in Section 10.2.2.
7.6 Update NICs from HTTP, CIFS Share, NFS share, TFTP, or FTP
The InstallFromURI() method takes the following input and downloads the Dell Update Package to the
Lifecycle Controller in the target system. The method returns a jobid for an instance of
DCIM_SoftwareUpdateJob that can be scheduled to execute or queried for status at a later time. The
following is the example of the method for updating a NIC firmware.
Invoke InstallFromURI() with the following parameters and syntax:
[URI-IP-ADDRESS]: This is the IP address of the location for Dell Update Package. The Dell Update
Package will need to be the Windows type update package. The file share can be HTTP, CIFS, NFS,
TFTP, or FTP type as shown below:
[InstanceID]: The instanceID is the SoftwareIdentify instanceID that represents the firmware that
is to be updated. This instanceID can be retrieved as described in Section 6.2. For example, the
instanceID can be:
DCIM:INSTALLED:PCI:14E4:1639:0237:1028
It is installed firmware on a PCI device.
VID (Vendor ID)= 14E4
DID (Device ID) = 1636
SSID (Subsystem ID) = 0237
SVID (Subvendor ID) = 1028
This refers to a Broadcom NetXtreme II BCM5709 network adaptor
7
.
40
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
In the above sample, the [URI-IP-ADDRESS] must be replaced with the actual value of the IP address of
the server that stores update content, [PATH-TO-EXE] must be replaced with the applicable path to the
executable, [FILE.exe] must be replaced with the executable name, and [INSTANCEID] should be
replaced with the actual InstanceID of the device to be updated.
OUTPUT:
When this method is executed, a jobid or an error message is returned. This jobid can then be used
for subsequent processing with job control provider in Section 10.
7.7 Update BIOS from HTTP, CIFS Share, NFS share, TFTP, or FTP
The InstallFromURI() method takes the following input and downloads the Dell Update Package to the
Lifecycle Controller in the target system. The method returns a jobid for an instance of
DCIM_SoftwareUpdateJob that can be scheduled to execute or queried for status at a later time. The
following is the example of the method for updating a BIOS firmware.
Invoke InstallFromURI() with the following parameters and syntax:
[URI-IP-ADDRESS]: This is the IP address of the location for Dell Update Package. The Dell Update
Package will need to be the Windows type update package. The file share can be HTTP, CIFS, NFS,
TFTP, or FTP type as shown below:
[InstanceID]: The instanceID is the SoftwareIdentify instanceID that represents the firmware that
is to be updated. This instanceID can be retrieved as described in Section 6.2. For example, the
instanceID can be:
DCIM:AVAILABLE:NONPCI:159:2.1.4
It is available firmware on a NONPCI device.
This refers BIOS version 2.1.4
EXAMPLE:
42
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
In the above sample, the [URI-IP-ADDRESS] must be replaced with the actual value of the IP address of
the server that stores update content, [PATH-TO-EXE] must be replaced with the applicable path to the
executable, [FILE.exe] must be replaced with the executable name, and [INSTANCEID] should be
replaced with the actual InstanceID of the device to be updated.
OUTPUT:
When this method is executed, a jobid or an error message is returned. This jobid can then be used
for subsequent processing with job control provider in section 10.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
7.8 CreateRebootJob()
The CreateRebootJob() method creates a reboot job that can be scheduled to reboot immediately or
at a later time. When the reboot job is scheduled and then executed, via SetupJobQueue() (Section
10.2.1), the reboot will take several minutes depending on the system setup, including whether
collecting system inventory (CSIOR) is enabled.
Invoke CreateRebootJob with the following parameters and syntax:
RebootJobType: There are three options for rebooting the system.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Jobid = InstanceID = RID_001265648530
8 Power State Management
8.1 Description of Base Server vs Power State Management Methods
The remote control of a server power state (On, Off) and methodology for cycling power is available
through data models specified in both the DMTF Base Server Profile and the DMTF Power State
Management Profile. The Base Server Profile offers the RequestStateChange() method on the instance
of the CIM_ComputerSystem class representing the server platform. The Power State Management
Profile offers the RequestPowerStateChange() method available on the instance of the
PowerStateManagmentService associated with the instance of CIM_ComputerSystem representing the
server platform.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
ResourceURI = http://schemas.dell.com/wbem/wscim/1/cimschema/2/DCIM_ComputerSystem
SelectorSet
Selector: Name = srv:system, CreationClassName = DCIM_ComputerSystem, __cimnames
pace = root/dcim
8.3 Get Power Control Capabilites
8.3.1 Base Server Method
The power control capabilities are reported by the RequestedStatesSupported property of the
CIM_EnabledLogicalElementCapabilities class associated with the main system CIM_ComputerSystem
In “Part A” enumerate the CIM_ElementCapabilities class and search for the
DCIM_CSElementCapabilities reference. Use the resulting InstanceID in “Part B” to obtain the
RequestedStatesSupported property.
EXAMPLE (Part A):
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ElementCapabilities
The power control capabilities are also reported by the PowerStatesSupported property of the
CIM_PowerManagementCapabilities (PMC) class associated with the CIM_PowerManagementService
(PMS) class. Getting the instance of PMC is a two step process. First, enumerate the instance of PMS
with EPR. Second, enumerate the associated PMC class. When there is only one instance of PMC class as
in the case of iDRAC, the first step may be skipped and the PMC class may be enumerated directly.
When the PowerStatesSupportedproperty contains the value in the “PowerStatesSupported Value”
column, the PowerChangeCapabilities property shall contain the value specified in the
“PowerChangeCapabilities Value” column.
Changing the power state, such as cycling the power, is performed by invoking the
RequestStateChange() method of the CIM_ComputerSystem class instance. For iDRAC, there is one
49
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
instance for the main system and another for iDRAC. Use the main system instance. The method
requires you to specify the RequestedState argument. Refer to Section 8.3 to get the possible values
for this argument.
RequestStateChange_OUTPUT
ReturnValue = 0
Return values of zero indicate success, while others indicate failure and may include a corresponding
error message.
8.4.2 Power State Management Method
Changing the power state is performed by invoking the RequestPowerStateChange() method of the
DCIM_PowerManagementService (PMS) class instance. It is a three step process shown below:
1) Enumerate the DCIM_PowerManagementService with EPR
2) Enumerate the DCIM_ComputerSystem class and search for the Host instance
3) Use the EPR on steps 1) and 2) to invoke RequestPowerStateChange()
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
9 Hardware Inventory
The Dell Common Information Model (CIM) class extensions for supporting remote hardware inventories
are defined in the various Dell profiles and related MOFs3. The Hardware Inventory allows users to
remote query the inventory of hardware.
Each of the hardware inventory classes return the attribute LastSystemInventoryTime, which is when
the last time ‘collect system inventory on restart’ or CSIOR was run. See Section 12.1 for more details
on CSIOR. It is an important attribute as it shows how recently the inventory was updated.
9.1 Power Supply Inventory
This section describes the implementation for the DCIM_PowerSupplyView class. The Dell Power Supply
Profile describes platform’s power supply information. Each platform power supply is represented by
an instance of DCIM_PowerSupplyView class.
This section describes the requirements and guidelines for implementing Dell Fan Profile. The Dell Fan
Profile describes platform’s fans including the fan speed sensor information. Each platform fan is
represented by an instance of DCIM_FanView class.
This section describes the implementation for the DCIM_MemoryView class. The Dell Memory Profile
describes platform’s physical memory. Each DIMM’s information is represented by an instance of DCIM_MemoryView class.
This section describes the implementation for the DCIM_CPUView class. The Dell CPU Profile describes
platform’s CPUs. Each CPU’s information is represented by an instance of DCIM_CPUView class.
This section describes the implementation for the DCIM_iDRACCardView class. The Dell iDrac Profile
describes the platform’s iDrac remote access card. Each remote access card’s information is
represented by an instance of DCIM_iDRACCARDView class.
Enumerate DCIM_iDRACCardView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_iDRACCARDView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
55
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_iDRACCardView
FQDD = iDRAC.Embedded.1
FirmwareVersion = 1.00.00
GUID = 314b544f-c0b5-5180-5210-00484c4c454
IPMIVersion = 2.0
InstanceID = iDRAC.Embedded.1-1#IDRACinfo
LANEnabledState = 1
LastSystemInventoryTime = 20100331101859
LastUpdateTime = 19700101000000
Model = Enterprise
PermanentMACAddress = 0:21:9b:92:70:5f
ProductDescription = This system component provides a complete set of remote management
functions for Dell PowerEdge server
SOLEnabledState = 1
URLString = https://192.35.10.1:443
9.6 PCI Device Inventory
This section describes the implementation for the DCIM_PCIDeviceView class. The Dell PCI Profile
describes platform’s PCI devices. Each PCI device’s information is represented by an instance of DCIM_PCIDeviceView class.
This section describes the implementation for the DCIM_VideoView class. The Dell Video Profile
describes platform’s videos. Each video controller’s information is represented by an instance of
DCIM_VideoView class.
Each SD card partition is represented by an instance of DCIM_VFlashView that is used to represent the
physical attributes of the virtual flash media, such as total size, available size, category etc. on which the
partitions will reside. See Section 13 for more information.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
The NIC Profile describes NIC controller’s representation and configuration. The profile also describes
the relationship of the NIC classes to the DMTF/Dell profile version information. See Section 15 for
more information, including inventories for NICString, NICInteger, and NICEnumeration.
The RAID profile extends the management capabilities of referencing profiles by adding the capability
to represent the configuration of RAID storage. The RAID storage is modeled as collections of attributes
where there are collections for the storage adaptors, physical disks, logical disks, end enclosures and
parent-child relationships between the collections. Additionally, there is a configuration service that
60
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
contains all the methods used to configure the RAID storage. See Section 16 for more information,
including inventories for PhysicalDiskView, VirtualDiskView, and EnclosureView.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
9.11 BIOS Inventory & Configuration
The BIOS Management Profile extends the management capabilities of referencing profiles by adding
the capability to represent and configure BIOS attributes, such as a Network Controller or IDE
Controller. The individual BIOS attribute’s relationship with a respective device is also described.
Additionally, the profile’s registration for the schema implementation version information is described.
See Section 17 for more information, including inventories for BIOSString, and BIOSInteger.
This section describes the implementation for the DCIM_SystemView class which is used to represent
the higher level attributes of the system, such as asset tag, model, server manufacturer, etc.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
10 Job Control Management
10.1 Description of Job Management
The Dell Common Information Model (CIM) class extensions for supporting update and attribute
configuration job control are defined in the Dell Job Control Profile2 and related MOF files3. The
diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be
found in Dell Job Control Profile as well.
The SetupJobQueue() method takes in an array of jobids and schedules them to run immediately or at
a later time. The jobids are acquired via enumerating DCIM_LifecycleJob as described in Section
10.2.3. When there is a Reboot Job, in a job array that contains multiple jobs, the system will reboot
the UEFI (Unified Extensible Firmware Interface) at the scheduled time.
Invoke SetupJobQueue() with the following parameters and syntax:
JobArray: The jobids are listed in the JobArray element. Multiple jobs are listed in the order of
job execution sequence. If a system is to reboot at the scheduled start time, a reboot job will
need to be added to the list. This reboot job has a prefix of RID_ for its jobid.
Note, scheduling a job that is already scheduled will result in an error message.
If there is no reboot job in the job array, the system will schedule the jobs for execution at the
specified start time. The jobs will not be executed until the system is rebooted by something other
than Lifecycle Controller. At the specified UntilTime, any jobs that have not been executed are failed
with an error indicating that the job was not executed in the specified maintenance window. For some
component updates such as Diagnostics, USC, and iDRAC firmware, a system reboot is not needed.
Here the JobArray element shows a list of Jobids that are to be scheduled to run. TIME_NOW is a
special value that represents “running the tasks immediately”. The UntilTime value specifies the
“maintenance windows”. Once a task is not run after passing UntilTime, it should not be run again.
Upon successfully invocation of the SetupJobQueue() method, the aforementioned times will be listed
when enumerated in Section 10.2.3.
OUTPUT:
Returns 0 for success or non-zero for error with messageID and message description.
SetupJobQueue_OUTPUT
ReturnValue = null
Entering an invalid jobid or XML syntax error can yield one of the following error messages:
The DeleteJobQueue() method takes in a jobID and then deletes it from the job store.
Note: When clearing all jobs and pending data using the keyword JID_CLEARALL, as shown in example
2 below, the remote services instrumention is restarted to clear the cache [LC 1.x ONLY]. Users should
allow two minutes for this process to complete.
Invoke DeleteJobQueue() with the following parameters and syntax:
[JobID]: The jobID of a particular job instance to be deleted from a jobqueue
Return 0 for success or non-zero for error with messageID and message description.
DeleteJobQueue_OUTPUT
Message = The specified job was deleted
MessageID = SUP020
ReturnValue = null
An XML syntax error could yield the following message:
Syntax Error: input must be of the form
{KEY="VALUE"[;KEY="VALUE"]}
10.2.3 List Jobs in Job Store
The instances of this class will enumerate jobs in the job store along with status information.
Invoke enumerate job status with the following parameters and syntax:
[JobID]: The JobID of a particular job instance to be queried
To get the status of one particular job, use the following:
EXAMPLE 1:
winrm get http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LifecycleJob
?InstanceID=[JobID]
-r:https://[IPADDRESS]/wsman:443
-u:[USERNAME] -p:[PASSWORD]
-a:basic -encoding:utf-8
To get the status of all jobs, use the following:
EXAMPLE 2:
67
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
winrm e cimv2/root/dcim/DCIM_LifecycleJob
-u:[USERNAME] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-auth:basic -encoding:utf-8
OUTPUT 1 & 2:
The method either returns a list of Concrete job objects or an error message. Once job instanceID
are returned via these status queries, they can be used for job scheduling and setup. Several examples
of job objects are shown below.
An error message similar to the following can occur if an invalid JobID is entered:
WSManFault
Message = The WinRM client cannot process the request. The destination computer returned an empty
response to the request.
Error number: -2144108299 0x803380F5
The WinRM client cannot process the request. The destination computer returned an empty response to
the request.
68
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
11 Operating System Deployment
The Dell Common Information Model (CIM) class extensions for supporting remote operating system (OS)
deployment are defined in the Dell OS Deployment Profile2 and the DCIM_OSDeploymentService MOF
file3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware
can be found in Dell OS Deployment Profile as well.
2. Filter the returned enumeration using property filter (RegisteredName=”OS Deployment”)
3. Result shall contain one instance of CIM_RegisteredProfile containing property
RegisteredVersion=”1.1.0”
4. Associators (objectpath= “instance returned from step 3”, AssociationClass =
”CIM_ElementConformsToProfile”)
5. Result shall contain one instance of DCIM_OSDeploymentService
11.2 Checking OS Deployment Service Availability
Invoke enumerate with the following syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_OSDeploymentService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_OSDeploymentService
CreationClassName = DCIM_OSDeploymentService
ElementName = Operating System Deployment Service
Name = DCIM:OSDeploymentService
SystemCreationClassName = DCIM_ComputerSystem
SystemName = DCIM:ComputerSystem
11.3 OS Deployment Method Invocation Examples
69
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
11.3.1 Get Driver Pack Information
The GetDriverPackInfo() method returns the embedded driver pack version and list of supported OSs
for OS deployment that can be installed on the server using the embedded device drivers present in the
Lifecycle Controller.
1. Follow the steps listed in Section 11.1 to test for profile conformance.
2. Invoke extrinsic method using the following parameters:
a. object path = object path returned from Section 11.1 (profile conformance)
b. Method name = “GetDriverPackInfo”
3. Invoke method returns the following output parameters:
a. Version = String version
b. SupportedOperatingSystems = String array of OS names
4. If the Job output parameter from Step 2 contains a non-null value, then both Version and
OSList contain null values. The next call to GetDriverPackInfo() after the Job is completed will
return non-null values for output parameters Version and OSList.
Invoke GetDriverPackInfo() with the following syntax:
EXAMPLE:
winrm i GetDriverPackInfo
cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic
OUTPUT:
GetDriverPackInfo_OUTPUT
OSList = Microsoft Windows Server 2008 with SP2
, Microsoft Windows Server 2008, x64 with SP2
, Microsoft Windows Server 2008 R2 with SP1
, Microsoft Windows Small Business Server 2011
, Red Hat Enterprise Linux 5 SP7 x86
, Red Hat Enterprise Linux 5 SP7 x64
, Red Hat Enterprise Linux 6 SP1 x64
, SuSE Enterprise Linux 10 SP4 x64
, SuSE Enterprise Linux 11 SP2 x64
, VMware ESX 4.1 U2
, VMware ESXi 4.1 U2 HDD
, VMware ESXi 5.0 HDD
, Citrix Xen Server 6.0 FP1 HDD
ReturnValue = 0
70
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Version = 7.0.0.35
11.3.2 Unpack Selected Drivers and Attach to Host OS as USB Device
This method is used to unpack the drivers for the selected OS to a virtual storage partition, and to then
attach this partition to the host OS as an emulated USB storage device.
1. Invoke extrinsic method using the following parameters section:
a. object path = object path returned from Section 11.1 (profile conformance)
b. Method name = “UnpackAndAttach”
c. OSName = “” (Has to be a valid value from the list returned by GetDriverPackInfo)
d. ExposureStartTime = “” (for this release the value is NULL)
e. ExposureDuration = “” (a string formatted as an interval in CIM_DateTime format)
This parameter denotes the interval of time after which the partition containing
OS drivers with label OEMDRV is to be detached from the Host OS
2. Invoke method shall return the following output parameters:
a. Job = object path to CIM_ConcreteJob (reports the status of unpack and attach)
b. Enumerating this instance of CIM_ConcreteJob will show the status of the current
operation.
Invoke UnpackAndAttach() with the following syntax:
EXAMPLE:
winrm i UnpackAndAttach cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
The return will be 0 for success or an integer for error or job in execution. An error message
containing a MessageID and Message similar to the following can occur if the system is waiting to finish
a previously invoked method:
11.3.4 Unpack Selected Drivers and Copy to Network Share
The UnpackAndShare() method is used to unpack the drivers for the selected OS and copy them to a
specified network share; CIFS and NFS network share technologies are supported.
Note that the values for the CIFSUSER and CIFSPASSWORD must be alphanumeric characters, and must
not contain special characters.
Invoke UnpackAndShare() with the following syntax:
[CIFS_IPADDRESS]: This is the IP address of the file server.
72
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
[DRIVESHARE]: This is the directory path to the drivers.
[CIFS_USERNAME]: This is the username to the file share.
[CIFS_PASSWORD]: This is the password to the file share.
[OSName]: This example uses Windows Server® 2003 SP2.
[NFS_Password]: This is the corresponding password to the username containing the ISO
EXAMPLE:
winrm i UnpackAndShare cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]:443/wsman
-encoding:utf-8 -a:basic
@{IPAddress="[CIFS_IPADDRESS]";ShareName="/[DRIVERSHARE]";ShareType="2";Username="[CIFS_USERN
AME]";Password="[CIFS_PASSWORD]";OSName="Microsoft Windows Server 2008 with SP2"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
A missing command line character, such as a “{“, could result in the following syntax error:
Syntax Error: input must be of the form {KEY="VALUE"[;KEY="VALUE"]}
11.3.5 Check Job Status
The following methodology is used to determine the status of the jobs generated by the invocation of
the UnpackAndAttach() and UnpackAndShare() methods. The methodology involves enumerating the
DCIM_OSDConcreteJob instances, and checking the JobStatus property value.
73
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
When the jobs are complete, the JobStatus property value will be “Successful” if the job completed
successfully or “Failed” if an error occurred while executing the request. If the job failed, the Message
property on the returned DCIM_OSDConcreteJob instance will contain more detailed error information
on the cause of the failure.
For the Lifecycle Controller version of the OS Deployment Profile there is only one instance of a job
generated by various method invocations, and it will persist until the next method that generates a job
is invoked. The job must complete before another method that generates a job can be called
successfully. This is unchanged from the Lifecycle Controller 1.2 for OS Deployment.
Invoke enumerate DCIM_OSDConcreteJob instance with the following syntax:
EXAMPLE:
winrm e cimv2/root/DCIM/DCIM_OSDConcreteJob
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -encoding:utf-8 -a:basic
OUTPUT:
The enumeration will return the instances of OSDConcreteJob as shown:
DCIM_OSDConcreteJob
DeleteOnCompletion = false
InstanceID = DCIM_OSDConcreteJob:1
JobName = UnpackAndShare
JobStatus = Failed
Message = Installation not supported for the selected operating system
MessageID = OSD10
Name = UnpackAndShare
11.3.6 Boot to Network ISO
The BootToNetworkISO() method can be used to boot the target system to a bootable ISO image
located on a CIFS or NFS share. The ISO image is attached to the host system as an emulated USB CDROM storage device. By default the ISO will be attached for around 18 hrs after which it will be
detached automatically. An optional parameter ExposeDuration can be used to specify a time less than
18 hrs if the ISO needs to be detached sooner.
Invoke BootToNetworkISO() via NFS share with the following syntax:
[NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/NFS/OSISO]: This is the directory path to the ISO image.
[NFS_Username]: This is the username to the IP address of the ISO image.
[NFS_Password]: This is the corresponding password to the username containing the ISO image.
74
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
EXAMPLE:
winrm i BootToNetworkISO
cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
The following error message is a caused by a typo in the WinRM input. Careful attention must be paid
to the input capitalization of the attributes.
WSManFault
Message = The WinRM client cannot process the request. The destination computer returned an
empty response to the request.
Error number: -2144108299 0x803380F5
The WinRM client cannot process the request. The destination computer returned an empty response to
the request.
11.3.7 Detach Network ISO USB Device
75
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
This method is used to detach the emulated USB device that had been attached by previously calling
the BootToNetworkISO() method.
Invoke DetachISOImage() with the following syntax:
EXAMPLE:
winrm i DetachISOImage cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
The method will return 0 for success or an integer for error or job in execution. An error such as the
following can occur if an ISO image is not attached.
DetachISOImage_OUTPUT
Message = ISO image is not attached
MessageID = OSD32
ReturnValue = 2
11.3.8 Boot To PXE
The BootToPXE() method is used to boot to server using the PXE mechanism, which is to reboot the
host server and boot to PXE.
Invoke to boot target system to PXE with the following syntax:
EXAMPLE:
winrm i BootToPXE cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
OUTPUT:
BootToPXE_OUTPUT
ReturnValue = 0
76
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
11.3.9 Get Host MAC Address Information
Invoke GethostMACInfo() with the following syntax:
EXAMPLE:
winrm i GetHostMACInfo cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
The return will be 0 for success and a list of MAC addresses or an integer for error or job in execution.
The MessageID and Message output parameters will further contain method invocation information if an
error occurred.
The DownloadISOToVFlash() method allows using remote command to download an ISO image to
VFlash. The image needs to be an ISO image. Once this image is downloaded to VFlash, it can be
booted via another WS-MAN command.
Invoke DownloadISOToVFlash() with the following parameters and syntax:
[IPADDRESS-ISO]: The IP address of the server that stores ISO images.
[DRIVESHARE]: This is the directory path to the ISO image.
[SHARETYPE]: The type of the remote storage. 0: NFS, 1: TFTP, 2: CIFS
[SHAREUSER]: User account for the ISO share location
[SHAREPASSWORD]: Password of the share account
[WORKGROUP]: Applicable workgroup
[IMAGENAME]: Image name of the iso image, such as boot.iso.
[Port]: Port number for connecting to the share, such as 2049.
77
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
EXAMPLE:
winrm i DownloadISOToVFlash cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
The DeleteISOFromVFlash() method will delete the ISO image that was downloaded to the VFlash.
Invoke DeleteISOFromVFlash() with the following syntax:
EXAMPLE:
winrm i DeleteISOFromVFlash cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
-u:[USERNAME] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
When this command is executed, a status or error message will be returned. If an image is not found
the following message will display:
79
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
DeleteISOFromVFlash_OUTPUT
Message = ISO Image not found on VFlash
MessageID = OSD41
ReturnValue = 2
11.3.13 Detach ISO from VFlash
The DetachISOFromVFlash() method will detach the ISO image in the VFlash from the system.
Invoke DetachISOFromVFlash() with the following syntax:
EXAMPLE:
winrm i DetachISOFromVFlash cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
When this command is executed, a status or error message will be returned. If an image is not found
the following message will display:
DetachISOFromVFlash_OUTPUT
Message = Unable to detach ISO image on VFlash
MessageID = OSD44
ReturnValue = 2
11.3.14 Connect Network ISO Image
This method can be used to connect to a bootable ISO image located on a CIFS or NFS share. The ISO
image is attached to the host system as an emulated USB CD-ROM storage device. Whenever the host
system reboots it will boot to this ISO Image every single time until DisconnectNetworkISOImage is
called. The ISO will be reattached upon iDRAC reset.
Invoke ConnectNetworkISOImage() via CIFS/NFS share with the following syntax:
[CIFS_or_NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/CIFS_or_NFS/OSISO]: This is the sharename directory path to the ISO image.
[2_or_0]: 2=CIFS, 0=NFS
80
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
[CIFS_or_NFS_Username]: This is the username to the IP address of the ISO image.
[CIFS_or_NFS_Password]: This is the corresponding password to the username containing the ISO
image.
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
EXAMPLE:
winrm i ConnectNetworkISOImage http://schemas.dmtf.org/wbem/wscim/1/cim-
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
DisconnectNetworkISOImage_OUTPUT
ReturnValue = 0
11.3.16 Skip ISO Image Boot
This method can be used to skip the target system from booting to a bootable ISO image (connected
using ConnectNetworkISOImage method) one time only for next immediate host reboot. After that
host server will continue to boot to the ISO image.
Invoke SkipISOImageBoot() via NFS share with the following syntax:
EXAMPLE:
winrm i SkipISOImageBoot http://schemas.dmtf.org/wbem/wscim/1/cim-
Shown below are return messages of failure and success, 2 and 0, respectively. The MessageID and
Message output parameters will further contain method invocation information if an error occurred.
Failure:
SkipISOImageBoot_OUTPUT
Message = ISO image is not attached
MessageID = OSD32
ReturnValue = 2
82
Dell™ Lifecycle Controller 2 Web Services Interface Guide for WindowsVersion: 2.1.0
Success:
SkipISOImageBoot_OUTPUT
ReturnValue = 0
11.3.17 Get Network ISO Image Connection Information
This method outputs the ISO connection status of the image that has been exposed to the host.
Invoke GetNetworkISOImageConnectionInfo() with the following syntax:
EXAMPLE:
winrm i GetNetworkISOImageConnectionInfo cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
GetNetworkISOImageConnectionInfo_OUTPUT
Message = ISO image is not attached
MessageID = OSD32
ReturnValue = 2
11.3.18 Connect RFS ISO Image
The ConnectRFSISOImage() method is used to connect the ISO image that is mounted through Remote
File Share (RFS) and is exposed to the host system as a USB-based CD-ROM device. The successful
execution of this method shall connect to the ISO located on NFS/CIFS share to the host server and
expose it as a virtual CDROM device using RFS USB endpoint. The successful execution of the method
shall not change the boot order of that device. In order to boot to the CD-ROM, the CD-ROM shall be
configured in the boot order in a separate step (using BIOS and Boot Management Profile), and the host
server shall boot to the CD-ROM. Unlike the ConnectNetworkISOImage() method, the Lifecycle
Controller is not locked and may perform other management tasks.
Invoke ConnectRFSISOImage() with the following syntax:
[IPADDRESS-ISO]: The IP address of the server that stores ISO images.
[DRIVESHARE]: This is the directory path to the ISO image.
[SHARETYPE]: The type of the remote storage. 0: NFS, 2: CIFS
83
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
[SHAREUSER]: User account for the ISO share location
[SHAREPASSWORD]: Password of the share account
[WORKGROUP]: Applicable workgroup
[IMAGENAME]: Image name of the iso image, such as boot.iso.
EXAMPLE:
winrm i ConnectRFSISOImage cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
Concrete jobs return 4096 upon successful invocation. Poll for the concrete job “JobStatus =
Success”.
11.3.19 Disconnect RFS ISO Image
The DisconnectRFSISOImage() method is used to disconnect and detach the ISO Image that is mounted
through Remote File Share (RFS) and is exposed to the host system as a USB-based CD-ROM device.
Invoke DisconnectRFSISOImage() with the following syntax:
EXAMPLE:
winrm i DisconnectRFSISOImage
84
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
GetRFSISOImageConnectionInfo_OUTPUT
Message = Unable to connect to ISO using RFS.
MessageID = OSD60
ReturnValue = 2
A return value of 0 indicates success, while the above output indicates an image was not present to
retrieve the connection information from.
11.3.21 Boot To Hard Drive (HD)
The BootToHD() method is used for one time boot to the host server’s hard disk. After this method is
executed thye host is rebooted immediately and will boot to the first configured hard disk irrespective
of its boot order.
Invoke BootToHD() with the following syntax:
85
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
EXAMPLE:
winrm i BootToHD cimv2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService
+SystemCreationClassName=DCIM_ComputerSystem
+SystemName=DCIM:ComputerSystem
This method was added during the LC2 Version 1.1 release.
The ConfigurableBootToNetworkISO() works similar to BootToNetworkISO() except that the immediate
boot to the ISO is not automatic and controlled by an input parameter called ResetType which will
enable you to do a warm reset or cold reset or no immediate reset.
Invoke ConfigurableBootToNetworkISO () via NFS share with the following syntax:
[NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/NFS/OSISO]: This is the directory path to the ISO image.
[NFS_Username]: This is the username to the IP address of the ISO image.
[NFS_Password]: This is the corresponding password to the username containing the ISO image.
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Workgroup="WORKGROUP";ImageName="[OS.ISO]"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input
parameters. The MessageID and Message output parameters will further contain method invocation
information if an error occurred.
The LC Management Profile describes the LC attribute configuration service and the collections and
attributes instances that the service manages. The profile also describes the relationship of the LC
attribute service to the DMTF/Dell profile version information and Dell Job Control profile.
The Dell Common Information Model (CIM) class extensions for supporting Lifecycle Controller feature
management are defined in the Dell LC Management2 and related MOF files3. The diagrams representing
the classes that are implemented by the Lifecycle Controller firmware can be found in Dell LC
Management Profile.
By default, ‘collect system inventory on restart’ is disabled. To enable this feature, utilize the
SetAttribute() method in the following example.
NOTE: To query the system to determine when the last CSIOR event occurred, list system inventory
and examine the LastSystemInventoryTime attribute.
The Collect System Inventory on Restart attribute flags whether the system should do an automatic
inventory or not. To get the current status of this attribute, see Section 12.3. The values can be:
87
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
Disabled (default) = Disallow collecting inventory on restart
Enabled = Allow collecting system inventory on restart
The Part Firmware Update attribute flags whether the Part Replacement automatic firmware update
performed. The values can be:
Disable (default) = firmware update is not allowed
Allow version upgrade only = Allow firmware update only on up-revision
Match firmware of replaced part = Always update firmware
The example below configures the Part Replacement feature to allow upgrade only and for the
automatic synchronization to be on.
Invoke SetAttribute() with the following parameters and syntax:
EXAMPLE 1:
winrm i SetAttribute http://schemas.dmtf.org/wbem/wscim/1/cim-
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
-r:https://[IPADDRESS]:443/wsman
-u:[USER] -p:[PASSWORD]
-auth:basic -encoding:utf-8
-SkipCNCheck -SkipCACheck
The input file SetAttributes_LC.xml is shown below:
<p:SetAttributes_INPUTxmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/root/dcim/DCIM_LCService">
<p:AttributeName>Part Firmware Update</p:AttributeName>
<p:AttributeValue>Allow version upgrade only</p:AttributeValue>
<p:AttributeName>Collect System Inventory on Restart </p:AttributeName>
<p:AttributeValue>Enabled</p:AttributeValue>
</p:SetAttributes_INPUT>
OUTPUT:
SetAttribute_OUTPUT
RebootRequired = No
ReturnValue = 0
SetResult = Set PendingValue
12.2 Part Replacement Configuration and Management
If the SetAttribute[s]() method has been invoked, the pending values must be applied by creating a
configuration job. The CreateConfigJob() method in the DCIM_LCService class creates a configuration
job and executes it at the specified time.
12.2.1 Create Config Job
Invoke CreateConfigJob() with the following parameters and syntax:
EXAMPLE:
winrm i CreateConfigJob http://schemas.dmtf.org/wbem/wscim/1/cim-
To get the status of the above jobID or list all jobIDs, see 12.2.2 and 12.2.3, respectively.
12.2.2 Get LC Config Job Status
EXAMPLE:
winrm g http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob
?__cimnamespace=root/dcim
+InstanceID=JID_001265982202
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]:wsman -encoding:utf-8
-a:basic -SkipCNCheck -SkipCACheck
The method either returns a list of Concrete job objects or an error message. Check for the JobStatus
property equal to Completed (shown below) to know the set has been completed.
OUTPUT:
DCIM_LifecycleJob
InstanceID = JID_001265982202
JobStartTime = 20191010101010
JobStatus = COMPLETED
JobUntilTime = 2009:8:11
Message = The command was successful
MessageArguments = null
MessageID = LC001
Name = LC Config
12.2.3 List All LC Jobs
EXAMPLE:
90
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
winrm e http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob
?__cimnamespace=root/dcim
Get the current Part Replacement firmware update mode as follows:
EXAMPLE:
winrm g http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LCEnumeration
?InstanceID=LifecycleController.Embedded.1#LCAttributes.1#PartFirmwareUpdate
DCIM_LCEnumeration
AttributeName = Part Firmware Update
CurrentValue = Allow version upgrade only
DefaultValue = Disable
ElementName = LC.emb.1
InstanceID = LifecycleController.Embedded.1#LCAttributes.1#PartFirmwareUpdate
IsReadOnly = false
PendingValue = null
PossibleValues = Disable, Allow version upgrade only, Match firmware of replaced part
See Section 12.5 to get the status on whether there is a valid VFlash License on the system.
12.3 Re-Initiate Auto-Discovery Client
Invoke the ReInitiateDHS() method to re-initialize and restart the Auto-Discovery client. All
configuration information is replaced with the auto discovery factory defaults. Auto discovery can be
disabled, enabled and initiated immediately, or delayed until next power cycle.
Invoke ReInitiateDHS() with the following parameters and syntax:
92
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
[PS_IP_ADDRESS]: Substitution will need to be replaced with the actual IP address(s) or DNS
name(s) of the Provisioning Server(s).
PerformAutoDiscovery:
1 = off (disables auto discovery)
2 = Now (enables and initiates auto discovery immediately )
3 = NextBoot (delay reconfiguration & auto discovery until next power cycle)
EXAMPLE:
winrm i ReInitiateDHS cimv2/root/dcim/DCIM_LCService
This method will return status 0 or error message.
SetAttribute_OUTPUT
RebootRequired = No
ReturnValue = 0
SetResult = Set CurrentValue
94
Dell™ Lifecycle Controller 2 Web Services Interface Guide for Windows Version: 2.1.0
12.5 Check VFlash License Enablement
The following command can be used to check VFlash License enablement. Features such as Part
Replacement, downloading ISO image to VFlash, or booting from VFlash are licensed features and
require Dell VFlash SD Card to be inserted in order to function.
EXAMPLE:
winrm g cimv2/root/dcim/DCIM_LCEnumeration
?InstanceID=LifecycleController.Embedded.1#LCAttributes.1#Licensed
This ‘get’ command will return the instance of the DCIM_LCEnumeration attribute class. The CurrentValueproperty will contain “True” (yes) or “False” (no) indicating whether features dependent
on the presence of the VFlash SD card are enabled.
This method is used to download the server public key to the Lifecycle Controller. A base64 encoded
string containing the certificate authentication (CA) content is required as the input.
Invoke DownloadServerPublicKey() with the following parameters and syntax:
EXAMPLE:
winrm i DownloadServerPublicKey http://schemas.dmtf.org/wbem/wscim/1/cim-
When this method is executed, a jobid or an error message is returned. This jobid can then be used
for subsequent processing with job control provider in Section 10.
This method is used to download the client private certificate, password, and root certificate to
Lifecycle Controller. A base64 encoded string containing the certificate authentication (CA) private key
content is required as input.
Invoke DownloadClientCerts() with the following parameters and syntax:
EXAMPLE:
winrm i DownloadClientCerts http://schemas.dmtf.org/wbem/wscim/1/cim-
When this method is executed, a jobid or an error message is returned. This jobid can then be used
for subsequent processing with job control provider in Section 10.
SetCertificateAndPrivateKey_OUTPUT
Message = Server certificate successfully modified, iDRAC will now reset and be unavailable for a
few minutes
MessageID = LC018
ReturnValue = 0
12.11 Delete Auto-Discovery Server Public Key
This method is used to delete the public server key set previously by the set auto discovery method.
Invoke DeleteAutoDiscoveryServerPublicKey() with the following parameters and syntax:
EXAMPLE:
winrm i DeleteAutoDiscoveryServerPublicKey
cimv2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem
+CreationClassName=DCIM_LCService
+SystemName=DCIM:ComputerSystem
+Name=DCIM:LCService