Dell Lifecycle Controller Web Services
Interface Guide for Windows
A Dell Technical White Paper about the Best Practices to be followed for using the
WS-Man—based Remote Services provided by iDRAC and Lifecycle Controller
Dell Engineering
December 2013
A Dell Best Practices
Date
Description
August 2013
Initial release
Revisions
Dell, the DELL logo, and the DELL badge are trademarks of Dell Inc. Symantec, NetBackup, and Backup Exec are
trademarks of Symantec Corporation in the U.S. and other countries. Microsoft, Windows, and Windows Server are
registered trademarks of Microsoft Corporation in the United States and/or other countries. Other trademarks and
trade names may be used in this document to refer to either the entities claiming the marks and names or their
products. Dell disclaims any proprietary interest in the marks and names of others.
Dell™, the Dell logo, Dell Boomi™, Dell Precision™ ,OptiPlex™, Latitude™, PowerEdge™, PowerVault™,
PowerConnect™, OpenManage™, EqualLogic™, Compellent™, KACE™, FlexAddress™, Force10™ and Vostro™ are
trademarks of Dell Inc. Other Dell trademarks may be used in this document. Cisco Nexus®, Cisco MDS®, Cisco NX0S®, and other Cisco Catalyst® are registered trademarks of Cisco System Inc. EMC VNX®, and EMC Unisphere® are
registered trademarks of EMC Corporation. Intel®, Pentium®, Xeon®, Core® and Celeron® are registered trademarks of
Intel Corporation in the U.S. and other countries. AMD® is a registered trademark and AMD Opteron™, AMD
Phenom™ and AMD Sempron™ are trademarks of Advanced Micro Devices, Inc. Microsoft®, Windows®, Windows
Server®, Internet Explorer®, MS-DOS®, Windows Vista® and Active Directory® are either trademarks or registered
trademarks of Microsoft Corporation in the United States and/or other countries. Red Hat® and Red Hat® Enterprise
Linux® are registered trademarks of Red Hat, Inc. in the United States and/or other countries. Novell® and SUSE® are
registered trademarks of Novell Inc. in the United States and other countries. Oracle® is a registered trademark of
Oracle Corporation and/or its affiliates. Citrix®, Xen®, XenServer® and XenMotion® are either registered trademarks or
trademarks of Citrix Systems, Inc. in the United States and/or other countries. VMware®, Virtual SMP®, vMotion®,
vCenter® and vSphere® are registered trademarks or trademarks of VMware, Inc. in the United States or other
countries. IBM® is a registered trademark of International Business Machines Corporation. Broadcom® and
NetXtreme® are registered trademarks of Broadcom Corporation. Qlogic is a registered trademark of QLogic
Corporation. Other trademarks and trade names may be used in this document to refer to either the entities claiming
the marks and/or names or their products and are the property of their respective owners. Dell disclaims proprietary
interest in the marks and names of others.
2 Dell Lifecycle Controller Web Services Interface Guide for Windows
3 Dell Lifecycle Controller Web Services Interface Guide for Windows
3.1 Format for WinRM CLI Examples in Document....................................................................................................... 17
3.2 WS-Man Security and Time Parameters ................................................................................................................... 18
4.1 Discovering Web Service Capability .......................................................................................................................... 22
4.2 Discovering the Implemented Profiles ...................................................................................................................... 22
5 Managing iDRAC Local User Accounts ................................................................................................................................ 26
5.1 Description of iDRAC Attributes Versus Standard DMTF Model ........................................................................... 26
5.3.1 Modify User Name (Using iDRAC Attributes) ........................................................................................................... 29
4 Dell Lifecycle Controller Web Services Interface Guide for Windows
5.5.1 Modify User Name (Using DMTF Model) ................................................................................................................. 40
7.9.2 Create a Config Job ..................................................................................................................................................... 61
7.9.3 Set Update Schedule .................................................................................................................................................... 62
7.9.4 Get the Update Schedule ............................................................................................................................................ 63
7.9.5 Clear the Update Schedule ......................................................................................................................................... 63
7.10 Device Update from Repository ................................................................................................................................. 64
5 Dell Lifecycle Controller Web Services Interface Guide for Windows
7.10.1 Install from Repository ................................................................................................................................................. 64
7.10.2 Get Repo-Based Update List ....................................................................................................................................... 65
8 Power State Management ...................................................................................................................................................... 69
8.1 Description of Base Server Versus Power State Management Methods ............................................................. 69
8.2 Get Power State ............................................................................................................................................................ 69
8.2.1 Base Server Method ...................................................................................................................................................... 69
8.2.2 Power State Management Method ............................................................................................................................ 70
8.3 Get Power Control Capabilites ................................................................................................................................... 71
8.3.1 Base Server Method ...................................................................................................................................................... 71
8.3.2 Power State Management Method ............................................................................................................................ 73
8.4 Power Control ............................................................................................................................................................... 75
8.4.1 Base Server Method ...................................................................................................................................................... 75
8.4.2 Power State Management Method ............................................................................................................................ 76
9.1 Power Supply Inventory ............................................................................................................................................... 77
9.2 Fan Inventory ................................................................................................................................................................. 78
9.4 CPU Inventory................................................................................................................................................................ 82
9.7 Video Inventory ............................................................................................................................................................. 87
9.9 NIC Inventory and Configuration ............................................................................................................................... 89
9.10 RAID Inventory and Configuration ............................................................................................................................. 91
9.11 BIOS Inventory and Configuration ............................................................................................................................. 93
9.12 System Inventory (Including CSIOR Attribute) ......................................................................................................... 95
10 Job Control Management ...................................................................................................................................................... 98
10.1 Description of Job Management ............................................................................................................................... 98
10.2 Remote Job Control Examples .................................................................................................................................. 98
10.2.3 List Jobs in Job Store ............................................................................................................................................ 101
6 Dell Lifecycle Controller Web Services Interface Guide for Windows
11 Operating System Deployment ........................................................................................................................................... 104
11.1 OS Deployment Profile Implementation Conformance ...................................................................................... 104
11.2 Checking OS Deployment Service Availability ....................................................................................................... 104
11.3 OS Deployment Method Invocation Examples ..................................................................................................... 105
11.3.1 Get Driver Pack Information ..................................................................................................................................... 105
11.3.2 Unpack Selected Drivers and Attach to Host OS as USB Device ....................................................................... 106
11.3.3 Detach Emulated USB Device Containing Drivers ................................................................................................ 107
11.3.4 Unpack Selected Drivers and Copy to Network Share ........................................................................................ 107
11.3.5 Check Job Status ........................................................................................................................................................ 109
11.3.6 Boot to Network ISO .................................................................................................................................................. 110
11.3.7 Detach Network ISO USB Device .............................................................................................................................. 111
11.3.8 Boot To PXE ................................................................................................................................................................. 112
11.3.9 Get Host MAC Address Information ........................................................................................................................ 112
11.3.10 Download ISO to VFlash ................................................................................................................................... 113
11.3.11 Boot to ISO from VFlash ................................................................................................................................... 114
11.3.12 Delete ISO from VFlash ..................................................................................................................................... 115
11.3.13 Detach ISO from VFlash ................................................................................................................................... 115
11.3.14 Connect Network ISO Image .......................................................................................................................... 116
11.3.15 Disconnect Network ISO Image ...................................................................................................................... 117
11.3.16 Skip ISO Image Boot .......................................................................................................................................... 118
11.3.17 Get Network ISO Image Connection Information ....................................................................................... 119
11.3.18 Connect RFS ISO Image ................................................................................................................................... 119
11.3.19 Disconnect RFS ISO Image .............................................................................................................................. 120
11.3.20 Get RFS ISO Image Connection Information ............................................................................................... 121
11.3.21 Boot To Hard Disk Drive (HDD) ....................................................................................................................... 122
11.3.22 Configurable Boot to Network ISO ................................................................................................................ 122
12.1 Collect System Inventory on Restart (CSIOR) ........................................................................................................ 124
12.2 Part Replacement Configuration and Management ............................................................................................. 126
12.2.2 Get LC Config Job Status .......................................................................................................................................... 127
12.2.3 List All LC Jobs ............................................................................................................................................................. 127
7 Dell Lifecycle Controller Web Services Interface Guide for Windows
12.2.4 Get CSIOR Component Configuration Recovery (CCR) Attribute ..................................................................... 128
12.2.5 Get Part Firmware Update Attribute ........................................................................................................................ 129
12.4 Clear or Set Provisioning Server ............................................................................................................................... 131
12.6 Download Server Public Key ..................................................................................................................................... 133
12.9 Set Public Certificates ................................................................................................................................................ 136
12.10 Set iDRAC Certificate and Private Key ..................................................................................................................... 138
12.11 Delete Auto-Discovery Server Public Key .............................................................................................................. 139
12.12 Insert Comment in Lifecycle Controller Log ......................................................................................................... 139
12.17 System Decommission .............................................................................................................................................. 146
12.18 Get Remote Services API Status ............................................................................................................................... 146
12.19 Export System Configuration .................................................................................................................................... 147
12.20 Import System Configuration ................................................................................................................................... 148
12.21 XML Template Preview ............................................................................................................................................... 149
12.22.1 Run Diagnostics ................................................................................................................................................. 151
13.1 Listing the SD Card Partitions ................................................................................................................................... 154
13.2 Initialize the Virtual Flash Media ............................................................................................................................... 155
13.2.1 Get vFlash SD Card Inventory ................................................................................................................................... 155
13.2.2 Initialize or Format Media .......................................................................................................................................... 156
13.2.3 Verify Initialization or Formatting ............................................................................................................................. 157
13.3 Enable or Disable vFlash using vFlash State Change ............................................................................................ 158
8 Dell Lifecycle Controller Web Services Interface Guide for Windows
13.7 Format Partition ........................................................................................................................................................... 163
13.11 Export Data from Partition ........................................................................................................................................ 168
14 Boot Control Configuration Management ......................................................................................................................... 171
14.1 Listing the Boot Inventory-ConfigSetting Class ..................................................................................................... 171
14.2 Getting a Boot ConfigSetting Instance ................................................................................................................... 172
14.3 Listing the Boot Inventory-SourceSetting Class ................................................................................................... 173
14.4 Changing the Boot Order by InstanceID-ChangeBootOrderByInstanceID() .................................................. 174
14.5 Enable or Disable the Boot Source-ChangeBootSourceState() ......................................................................... 175
15 NIC or CNA Card Management .......................................................................................................................................... 177
15.1 Listing the NIC or CNA Inventory-Enumeration Class ......................................................................................... 177
15.2 Listing the NIC or CNA Inventory-String Class ...................................................................................................... 179
15.3 Listing the CNA Inventory-Integer Class ................................................................................................................ 182
15.4 Listing the CNA Inventory-NICView Class ............................................................................................................. 184
15.5 Listing the CNA Inventory-NICCapabilities Class.................................................................................................. 187
15.6 Listing the CNA Inventory- NICStatistics Class ..................................................................................................... 189
15.7 Applying the Pending Values for CNA-CreateTargetedConfigJob() ................................................................. 191
15.8 Deleting the Pending Values for CNA-DeletePendingConfiguration() ............................................................. 192
15.9 Getting the CNA Enumeration Instance ................................................................................................................. 193
15.10 Setting the IscsiOffloadMode Attribute ................................................................................................................... 194
15.11 Setting the MaxBandwidth Attribute ........................................................................................................................ 195
15.12 Setting the VirtMacAddr Attribute ............................................................................................................................ 196
15.13 Setting the LegacyBootProto Attribute ................................................................................................................... 197
15.14 Setting CNA LAN Modes ............................................................................................................................................ 199
15.15 Setting the iSCSI Boot Target................................................................................................................................... 200
15.16 Setting the FCoE Boot Target ................................................................................................................................... 201
9 Dell Lifecycle Controller Web Services Interface Guide for Windows
16.1 Listing the RAID Inventory-Enumeration Class .................................................................................................... 203
16.2 Getting a RAID Enumeration Instance ................................................................................................................... 205
16.3 Listing the RAID Inventory-Integer Class ............................................................................................................... 206
16.4 Getting a RAID Integer Instance .............................................................................................................................. 208
16.5 Listing the RAID Inventory-String Class ................................................................................................................. 208
16.6 Getting a RAID String Instance ................................................................................................................................. 210
16.7 Listing the RAID Inventory-ControllerView Class ................................................................................................. 210
16.8 Getting a RAID ControllerView Instance................................................................................................................. 212
16.9 Listing the RAID Inventory-PhysicalDiskView Class .............................................................................................. 213
16.10 Listing the RAID VirtualDiskView Inventory ............................................................................................................ 216
16.11 Listing the RAID EnclosureView Inventory ............................................................................................................. 219
16.16.2 Assigning the Hot Spare-AssignSpare() .......................................................................................................... 225
16.16.3 Unassigning the Hot Spare-UnassignSpare() ............................................................................................... 226
16.17 Managing Keys for Self Encrypting Drives ............................................................................................................. 226
16.17.1 Setting the Key-SetControllerKey() ................................................................................................................. 227
16.17.2 Locking the Virtual Disk-LockVirtualDisk() ................................................................................................... 228
16.17.3 Locking the Controller with a Key-EnableControllerEncryption() ........................................................... 228
16.17.4 Rekeying the Controller-ReKey() ................................................................................................................... 230
16.17.5 Removing the Key-RemoveControllerKey() .................................................................................................. 231
16.18 Managing Virtual Disk ................................................................................................................................................. 232
16.18.1 Getting the Available RAID levels-GetRAIDLevels() ..................................................................................... 232
16.18.2 Getting the Available Disks-GetAvailableDisks() .......................................................................................... 234
16.18.3 Checking the Create VD Parameters Validity-CheckVDValues() .............................................................. 235
16.18.4 Creating a Single Virtual Disk-CreateVirtualDisk() ...................................................................................... 236
16.18.5 Creating a Sliced Virtual Disk-CreateVirtualDisk() ........................................................................................239
16.18.6 Creating a Cachecade Virtual Disk-CreateVirtualDisk() ............................................................................. 242
10 Dell Lifecycle Controller Web Services Interface Guide for Windows
16.18.7 Deleting a Virtual Disk-DeleteVirtualDisk() ................................................................................................... 243
17.1 Listing the BIOS Inventory-Enumeration Class ..................................................................................................... 251
17.2 Getting a BIOS Enumeration Instance .................................................................................................................... 253
17.3 Changing the BIOS BootMode-SetAttribute()........................................................................................................ 253
17.5 Listing the BIOS Inventory-Integer Class ................................................................................................................ 255
17.6 Listing the BIOS Inventory-String Class ..................................................................................................................256
17.7 Applying the Pending Values for BIOS & Boot-CreateTargetedConfigJob() ................................................... 257
17.8 Deleting the Pending Values for BIOS & Boot-DeletePendingConfiguration() ...............................................259
17.9.3 Monitor Set BIOS Password Status ......................................................................................................................... 262
17.10 Listing the BIOS Inventory-Password Class .......................................................................................................... 262
18 Exporting and Importing Server Profile .............................................................................................................................265
18.1 Exporting Server Profile .............................................................................................................................................265
18.1.1 Exporting Server Profile to iDRAC vFlash Card-BackupImage() .........................................................................265
18.1.2 Exporting Server Profile to NFS Share-BackupImage() ....................................................................................... 266
18.1.3 Exporting Server Profile to CIFS Share-BackupImage() ...................................................................................... 266
18.1.4 Monitoring Export status ........................................................................................................................................... 267
18.2.1 Enable the Automatic Backup ................................................................................................................................. 268
18.2.2 Set Backup Schedule ................................................................................................................................................. 269
18.2.3 Get the Backup Schedule ......................................................................................................................................... 269
11 Dell Lifecycle Controller Web Services Interface Guide for Windows
18.2.4 Clear the Backup Schedule ..................................................................................................................................270
18.3 Importing Server Profile .............................................................................................................................................270
18.3.1 Importing Server Profile from iDRAC vFlash Card-RestoreImage() ...................................................................270
18.3.2 Importing Server Profile from NFS share-RestoreImage() ................................................................................... 271
18.3.3 Importing Server Profile from CIFS share-RestoreImage() .................................................................................. 271
18.3.4 Monitoring Import Status ...................................................................................................................................... 272
19.4.3 Set Attribute Verification ...................................................................................................................................... 282
19.5 Listing the iDRAC Card Inventory-Integer Class .................................................................................................. 285
19.6 Listing the iDRAC Card Inventory-Integer Class using groupID........................................................................ 286
19.7 Listing the iDRAC Card Inventory-String Class ..................................................................................................... 288
19.8 Listing the iDRAC Card Inventory-String Class using groupID .......................................................................... 289
19.9 Changing the iDRAC IP Change Notification........................................................................................................ 292
19.9.1 Getting the Current iDRAC IPChange State .......................................................................................................... 292
19.9.2 Setting the iDRAC IPChange Notification-SetAttribute() ............................................................................... 292
20 Remote Service Status ......................................................................................................................................................... 294
20.1 Getting Remote Service Status ................................................................................................................................ 294
20.2 Restarting Remote Service Status ........................................................................................................................... 296
21 System Information .............................................................................................................................................................. 298
21.1 Listing the System Inventory-SystemView Class .................................................................................................. 298
22 Sensor Information ................................................................................................................................................................ 301
22.1 Listing the Sensors Inventory-PSNumericSensor Class ....................................................................................... 301
23.1 Listing the FC Inventory-Attribute Class ................................................................................................................ 305
23.2 Listing the FC Inventory-Statistics Class ................................................................................................................ 306
23.3 Listing the FC Inventory-String Class ..................................................................................................................... 308
12 Dell Lifecycle Controller Web Services Interface Guide for Windows
23.4 Listing the FC Inventory-Integer Class ................................................................................................................... 309
23.5 Listing the FC Inventory-Enumeration Class ........................................................................................................ 309
23.6 Changing the FC Attributes-SetAttribute() ............................................................................................................. 310
23.7 Applying the Pending Values for FC-CreateTargetedConfigJob() ..................................................................... 311
23.8 Deleting the Pending Values for FC-DeletePendingConfiguration() ................................................................. 313
23.9 Listing the FC Views .................................................................................................................................................... 314
13 Dell Lifecycle Controller Web Services Interface Guide for Windows
Executive Summary
Dell PowerEdge servers are equipped with the integrated Dell Remote Access Controller and the
Lifecycle Controller solution for remote management―iDRAC6 on 11th generation servers and iDRAC7
on 12th generation servers. These servers can be remotely managed by using the WS-Man services for
configuration, update, deployment, and maintenance. This whitepaper describes the various WS-Man
interfaces with examples about using different interfaces in a Windows environment.
14 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 who want to utilize the remote
management capabilities using WS-Man protocol available from Dell Lifecycle Controller.
15 Dell Lifecycle Controller Web Services Interface Guide for Windows
16 Dell Lifecycle Controller Web Services Interface Guide for Windows
3 Overview
The remote interface guidelines provided in this document are illustrated by command line interface (CLI)
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 WinRM
management capabilities are organized by management domain and documented in Dell CIM Profile
specifications
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
2
.. The remote enablement feature for Lifecycle Controller 2.0 provides the following
4
and WSMANCLI
5
respectively. The Lifecycle Controller remote
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.
The following example is typical of the formatting used in this document:
17 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 and 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 documentation 4 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 Guide 1 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 WS-Man Commands
Check the network connection to make sure that the system is connected
Check the WS-Man syntax to ensure there are no typos in the command line
Check if there are other WS-Man commands sending from other systems
Wait for a few seconds and re-try the WSMAN command
18 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 Specification 4 as:
19 Dell Lifecycle Controller Web Services Interface Guide for Windows
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
ddddddddhhmmss.mmmmmm
Where:
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
20 Dell Lifecycle Controller Web Services Interface Guide for Windows
UEFI
Unified Extensible Firmware Interface
AMEA
Advanced Management Enablement
Adapter
HII
Human Interface Infrastructure
WS-Man
WS-Management is a specification of a
SOAP-based protocol for the management
of servers, devices, applications and more
21 Dell Lifecycle Controller Web Services Interface Guide for Windows
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
Selector: CreationClassName = DCIM_ComputerSystem, Name = srv:system, __cimnamespace =
root/dcim
25 Dell Lifecycle Controller Web Services Interface Guide for Windows
5 Managing iDRAC Local User Accounts
5.1 Description of iDRAC Attributes Versus 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/cimschema/2/root/dcim/DCIM_iDRACCardEnumeration -u:[USER] -p:[PASSWORD]
26 Dell Lifecycle Controller Web Services Interface Guide for Windows
Dependency = null
DisplayOrder = 0
FQDD = iDRAC.Embedded.1
GroupDisplayName = Users
GroupID = Users.1
InstanceID = iDRAC.Embedded.1#Users.1#Enable
IsReadOnly = true
PossibleValues = Disabled, Enabled
DCIM_iDRACCardEnumeration
AttributeDisplayName = User Admin Enable
AttributeName = Enable
CurrentValue = Enabled
DefaultValue = Enabled
Dependency = null
DisplayOrder = 0
FQDD = iDRAC.Embedded.1
GroupDisplayName = Users
GroupID = Users.2
InstanceID = iDRAC.Embedded.1#Users.2#Enable
IsReadOnly = false
PossibleValues = Disabled, Enabled
.
.
27 Dell Lifecycle Controller Web Services Interface Guide for Windows
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.
EXAMPLE:
DCIM_iDRACCardEnumeration
AttributeDisplayName = User Admin IPMI LAN Privilege
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/cimschema/
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
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:
32 Dell Lifecycle Controller Web Services Interface Guide for Windows
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.
Profiles:
33 Dell Lifecycle Controller Web Services Interface Guide for Windows
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.
OUTPUT-C:
DCIM_LocalUserAccountManagementCapabilities
ElementName = Local User Account Management Capabilities
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.
37 Dell Lifecycle Controller Web Services Interface Guide for Windows
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.
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.
3. Enumerate the associators of the CIM_RoleBasedAuthorizationService instance and search for
CIM_RoleBasedManagementCapabilities class instance using EnumerateEPR mode.
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.
42 Dell Lifecycle Controller Web Services Interface Guide for Windows
OUTPUT-C:
DCIM_Account
CreationClassName = DCIM_Account
ElementName = DCIM Account
EnabledDefault = 2
EnabledState = 3
Name = iDRAC.Embedded.1#Users.16
OrganizationName = DCIM
RequestedState = 0
SystemCreationClassName = DCIM_SPComputerSystem
SystemName = systemmc
TransitioningToState = 12
UserID = testuser4
UserPassword = null
UserID = testuser4
UserPassword = testuser4
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. Make sure 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
43 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 an
instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to enumerate
or get of the class.
44 Dell Lifecycle Controller Web Services Interface Guide for Windows
RequestStateChange_OUTPUT
ReturnValue = 0
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.
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.
Get an instance of the CIM_Privilege class of interest.
Using the class instance, replace the property ActivityQualifiers with the new values.
Use the new instance XML as input to the set operation.
45 Dell Lifecycle Controller Web Services Interface Guide for Windows
To determine if the new password has been successfully set, try logging in with the new password. Ensure
the account is enabled.
46 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 Update 2 and related MOFs 3. 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.
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.
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.
48 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 Profile 2 and related MOF files 3.
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
DCIM_LifecycleJob
InstanceID = JID_001276741956
JobStartTime = TIME_NA
49 Dell Lifecycle Controller Web Services Interface Guide for Windows
JobStatus = Downloaded
JobUntilTime = TIME_NA
Message = Package successfully downloaded.
MessageArguments = null
MessageID = RED002
Name = Rollback:DCIM:AVAILABLE:NONPCI:159:2.1.4
Job status after invoking SetupJobQueue
DCIM_LifecycleJob
InstanceID = JID_001276741956
JobStartTime = 00000101000000
JobStatus = Scheduled
JobUntilTime = 20100730121500
Message = Task successfully scheduled
MessageArguments = null
MessageID = JCP001
Name = Rollback:DCIM:AVAILABLE:NONPCI:159:2.1.4
Job status following reboot / install of operation
DCIM_LifecycleJob
InstanceID = JID_001276741956
JobStartTime = 00000101000000
JobStatus = Completed
JobUntilTime = 20100730121500
Message = Job finished successfully
MessageArguments = null
MessageID = USC1
Name = Rollback:DCIM:AVAILABLE:NONPCI:159:2.1.4
50 Dell Lifecycle Controller Web Services Interface Guide for Windows
7.3 BIOS Firmware “Rollback”
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.
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
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).
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.
ID (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
Entering an invalid instanceID may yield the following error message:
InstallFromSoftwareIdentity_OUTPUT
Message = Invalid InstanceID
MessageID = SUP024
53 Dell Lifecycle Controller Web Services Interface Guide for Windows
ReturnValue = null
7.5 Update from Network Source
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.
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:
54 Dell Lifecycle Controller Web Services Interface Guide for Windows
[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.
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.
InstallFromURI_OUTPUT
Job
Address = http://schemas.xmlsoap.org/ws
ReferenceParameters
ResourceURI =
http://schemas.dell.com/wbem/wscim/1/cim-schema
/2/DCIM_SoftUpdateConcreteJob
56 Dell Lifecycle Controller Web Services Interface Guide for Windows
SelectorSet
Selector: InstanceID = JID_001265810325,
__cimnamespace = root/dcim
ReturnValue = null
Missing XML parameters may yield the following error message:
InstallFromURI_OUTPUT
Message = Insufficient Method Parameters
MessageID = SUP001
ReturnValue = null
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
57 Dell Lifecycle Controller Web Services Interface Guide for Windows
It is available firmware on a NONPCI device.
This refers BIOS version 2.1.4
58 Dell Lifecycle Controller Web Services Interface Guide for Windows
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.
InstallFromURI_OUTPUT
Job
Address = http://schemas.xmlsoap.org/ws
ReferenceParameters
ResourceURI =
http://schemas.dell.com/wbem/wscim/1/cim-schema
/2/DCIM_SoftUpdateConcreteJob
SelectorSet
Selector: InstanceID = JID_001276741475,
__cimnamespace = root/dcim
ReturnValue = null
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.
1 = PowerCycle
2 = Graceful Reboot without forced shutdown
3 = Graceful reboot with forced shutdown
EXAMPLE:
59 Dell Lifecycle Controller Web Services Interface Guide for Windows
63 Dell Lifecycle Controller Web Services Interface Guide for Windows
ApplyUpdate
ReboootNeeded
Actions
0 X Only comparison report is generated
1
TRUE
All updates are applied immediately.
Note: If the update requires a restart, the
system is automatically
restarted immediately.
1
FALSE
Currently, only updates that do not require
a system restart will
be applied. For example, Driver Pack
DUPs. For those that
require a restart, a separate reboot job will
have to be created by
the user with CreateRebootJob. These
updates will go to a
scheduled state and are run after a restart.
7.10 Device Update from Repository
This feature allows multiple firmware updates by specifying a network repository which contains a catalog
of available updates. All applicable updates contained in the repository are applied to the system.
Following two methods introduced as a part of DCIM_SoftwareUpdate profile
InstallFromRepository: Initiate a job for device updates and creates a comparison report.
GetRepoBasedUpdateList: Get the comparison report generated with InstallFromRepository
7.10.1 Install from Repository
The InstallFromRepository method applies the updates
Options available for user to update devices from repositories using WS-Man.
Example:
winrm i InstallFromRepository
cimv2/root/dcim/DCIM_SoftwareInstallationService?CreationClassName=DCIM_Software
A comparison XML between the inventory present on the system and the updates present on the
repository can be obtained using the GetRepoBasedUpdateList() method.
Example:
winrm i GetRepoBasedUpdateList http://schemas.dmtf.org/wbem/wscim/1/cimschema/
68 Dell Lifecycle Controller Web Services Interface Guide for Windows
8 Power State Management
8.1 Description of Base Server Versus 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.
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):
71 Dell Lifecycle Controller Web Services Interface Guide for Windows
winrm e http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/CIM_ElementCapabilities -u:[USER] -p:[PASSWORD]
Selector: Name = srv:system, CreationClassName = DCIM_ComputerSystem,
__cimnamespace
= root/dcim
.
.
72 Dell Lifecycle Controller Web Services Interface Guide for Windows
EXAMPLE (Part B):
winrm g http://schemas.dell.com/wbem/wscim/1/cimschema/2/DCIM_CSEnabledLogicalElementCapabilities ?__cimnamespace=root/dcim
+InstanceID=DCIM:ComputerCap:1
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.
Power State Management Profile:
73 Dell Lifecycle Controller Web Services Interface Guide for Windows
When the PowerStatesSupported property contains the value in the “PowerStatesSupported Value”
column, the PowerChangeCapabilities property shall contain the value specified in the
“PowerChangeCapabilities Value” column.
74 Dell Lifecycle Controller Web Services Interface Guide for Windows
17.
18.
(Graceful Shutdown Supported)
19. 1
5
(Power Cycle (Off - Soft
Graceful))
(Power Cycling Supported) and
20.
21.
22.
23.
24.
(Graceful Shutdown Supported)
25. 1
6
(Power Cycle (Off - Hard
Graceful))
(Off Hard Power Cycling Supported) and
26.
27.
28.
(Graceful Shutdown Supported)
DCIM_CSPowerManagementCapabilities
Caption = null
Description = null
ElementName = Power Management Capabilities
InstanceID = DCIM:pwrmgtcap1
OtherPowerCapabilitiesDescriptions = null
OtherPowerChangeCapabilities = null
PowerCapabilities = null
PowerChangeCapabilities = 3, 4, 8
PowerStatesSupported = 2, 5, 8, 11, 12
8.4 Power Control
8.4.1 Base Server Method
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 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.
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()
76 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 MOFs 3. 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
77 Dell Lifecycle Controller Web Services Interface Guide for Windows
PartNumber = 0MU791A00
PrimaryStatus = 1
RedundancyStatus = 2
SerialNumber = CN7324597O0411
TotalOutputPower = 502
Type = 0
DCIM_PowerSupplyView
DetailedState = Presence Detected
FQDD = PSU.Slot.2
FirmwareVersion = 00.01.31
InputVoltage = 118
InstanceID = PSU.Slot.2
LastSystemInventoryTime = 20100331101859
LastUpdateTime = 20100401130929
Manufacturer = Dell
Model = PWR SPLY,502W,RDNT
PartNumber = 0MU791A00
PrimaryStatus = 1
RedundancyStatus = 2
SerialNumber = CN7324597O0446
TotalOutputPower = 502
Type = 0
9.2 Fan Inventory
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.
Profile and Associated MOFs:
78 Dell Lifecycle Controller Web Services Interface Guide for Windows
ManufactureDate = Mon Jun 29 12:00:00 2009 UTC Manufacturer = Samsung
MemoryType = 24
Model = DDR3 DIMM
PartNumber = M391B2873DZ1-CH9 PrimaryStatus = 1
Rank = 1
SerialNumber = 85C6DE0A
Size = 1024
Speed = 1333
.
81 Dell Lifecycle Controller Web Services Interface Guide for Windows
.
.
9.4 CPU Inventory
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.
Description = 82801I (ICH9 Family) USB UHCI Controller #4
DeviceNumber = 26
FQDD = USBUHCI.Embedded.4-1
FunctionNumber = 0
InstanceID = USBUHCI.Embedded.4-1
LastSystemInventoryTime = 20100331101859
LastUpdateTime = 20100325134947
Manufacturer = Intel Corporation
PCIDeviceID = 2937
PCISubDeviceID = 0236
PCISubVendorID = 1028
85 Dell Lifecycle Controller Web Services Interface Guide for Windows
PCIVendorID = 8086
SlotLength = 0002
SlotType = 0002
DCIM_PCIDeviceView
BusNumber = 0
DataBusWidth = 0002
Description = 5520/5500/X58 I/O Hub PCI Express Root Port 3
DeviceNumber = 3
FQDD = P2PBridge.Embedded.4-1
FunctionNumber = 0
InstanceID = P2PBridge.Embedded.4-1
LastSystemInventoryTime = 20100331101859
LastUpdateTime = 20100325134947
Manufacturer = Intel Corporation
PCIDeviceID = 340A
PCISubDeviceID = 0000
PCISubVendorID = 0000
PCIVendorID = 8086
SlotLength = 0002
SlotType = 0002
DCIM_PCIDeviceView
.
.
.
86 Dell Lifecycle Controller Web Services Interface Guide for Windows
9.7 Video Inventory
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.
87 Dell Lifecycle Controller Web Services Interface Guide for Windows
SlotLength = 0002
SlotType = 0002
9.8 VFlash SD Card Inventory
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.
88 Dell Lifecycle Controller Web Services Interface Guide for Windows
9.9 NIC Inventory and Configuration
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
contains all the methods used to configure the RAID storage. See Section 16 for more information,
including inventories for PhysicalDiskView, VirtualDiskView, and EnclosureView.
91 Dell Lifecycle Controller Web Services Interface Guide for Windows
CacheSizeInMB = 1024
CachecadeCapability = 1
ControllerFirmwareVersion = 20.10.1-0049
Device = 0
DeviceCardDataBusWidth = 1
DeviceCardManufacturer = DELL
DeviceCardSlotLength = 3
DeviceCardSlotType = PCI Express x8
DriverVersion = null
EncryptionCapability = 0
EncryptionMode = 0
FQDD = RAID.Integrated.1-1
Function = 0
InstanceID = RAID.Integrated.1-1
LastSystemInventoryTime = 20100331101859
LastUpdateTime = 20100330124133
PCIDeviceID = 73
PCISlot = 1
PCISubDeviceID = 1F51
PCISubVendorID = 1028
PCIVendorID = 1000
PatrolReadState = 1
PrimaryStatus = 0
ProductName = PERC H310 Mini
RollupStatus = 0
SASAddress = 50026B902A8B6E00
SecurityStatus = 0
92 Dell Lifecycle Controller Web Services Interface Guide for Windows
SlicedVDCapability = 1
9.11 BIOS Inventory and 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.
93 Dell Lifecycle Controller Web Services Interface Guide for Windows
InstanceID = BIOS.Setup.1-1:MemVolt
IsReadOnly = true
PendingValue = null
PossibleValues = AutoVolt, Volt15V
PossibleValuesDescription = Auto, 1.5V
DCIM_BIOSEnumeration
AttributeDisplayName = Serial Debug Output
AttributeName = SerialDbgOut
CurrentValue = Disabled
Dependency = null
DisplayOrder = 319
FQDD = BIOS.Setup.1-1
GroupDisplayName = Memory Settings
GroupID = MemSettings
InstanceID = BIOS.Setup.1-1:SerialDbgOut
IsReadOnly = false
PendingValue = null
PossibleValues = Enabled, Disabled
PossibleValuesDescription = Enabled, Disabled
DCIM_BIOSEnumeration
AttributeDisplayName = Password Status AttributeName = PasswordStatus
CurrentValue = Unlocked
Dependency = null
DisplayOrder = 1405
FQDD = BIOS.Setup.1-1
GroupDisplayName = System Security
GroupID = SysSecurity
94 Dell Lifecycle Controller Web Services Interface Guide for Windows
InstanceID = BIOS.Setup.1-1:PasswordStatus
IsReadOnly = false
PendingValue = null
PossibleValues = Unlocked, Locked
PossibleValuesDescription = Unlocked, Locked
.
.
.
9.12 System Inventory (Including CSIOR Attribute)
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.
96 Dell Lifecycle Controller Web Services Interface Guide for Windows
PopulatedDIMMSlots = 1
PopulatedPCIeSlots = 1
PowerCap = 0
PowerCapEnabledState = 3
PowerState = 2
PrimaryStatus = 3
RollupStatus = 3
ServerAllocation = null
ServiceTag = S78FGH5
StorageRollupStatus = 1
SysMemErrorMethodology = 6
SysMemFailOverState = NotInUse
SysMemLocation = 3
SysMemPrimaryStatus = 1
SysMemTotalSize = 2048
SystemGeneration = 12G Monolithic
SystemID = 1230
SystemRevision = 0
TempRollupStatus = 1
UUID = 4c4c4544-0037-3810-8046-d3c04f474835
VoltRollupStatus = 1
smbiosGUID = 44454c4c-3700-1038-8046-d3c04f474835
97 Dell Lifecycle Controller Web Services Interface Guide for Windows
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 Profile 2 and related MOF files 3. 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:
SetupJobQueue_OUTPUT
Message = Job Cannot be Scheduled
MessageID = SUP016
ReturnValue = null
SetupJobQueue_OUTPUT
Message = Duplicated/Invalid JOBID Entries
MessageID = SUP023
99 Dell Lifecycle Controller Web Services Interface Guide for Windows
ReturnValue = null
10.2.2 Delete Job Queue
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