Dell Lifecycle Controller Web Services
Interface Guide for Linux
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
December 2013
1.0 Release: 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
2 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
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.
3 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
3.1 Format for WS-Man CLI Examples in Document .................................................................................................... 17
3.2 WS-Man Security and Time Parameters ................................................................................................................... 18
4.1 Discovering Web Service Capability .......................................................................................................................... 20
4.2 Discovering what Profiles are implemented ............................................................................................................ 20
5 Managing iDRAC Local User Accounts ................................................................................................................................ 23
5.1 Description of iDRAC Attributes Versus Standard DMTF Model ........................................................................... 23
5.3.1 Modify User Name (using iDRAC Attributes) ............................................................................................................ 25
4 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
5.5.1 Modify User Name (using DMTF Model) ................................................................................................................... 35
7.9.2 Create a Config Job ..................................................................................................................................................... 52
7.9.3 Set Update Schedule .................................................................................................................................................... 53
7.9.4 Get the Update Schedule ............................................................................................................................................ 54
7.9.5 Clear the Update Schedule ......................................................................................................................................... 55
7.10 Device Update from Repository ................................................................................................................................. 55
5 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
7.10.1 Install From Repository ................................................................................................................................................ 55
7.10.2 Get Repo-Based Update List ....................................................................................................................................... 56
8 Power State Management ...................................................................................................................................................... 59
8.1 Description of Base Server versus Power State Management Methods ............................................................. 59
8.2 Get Power State ............................................................................................................................................................ 59
8.2.1 Base Server Method ...................................................................................................................................................... 59
8.2.2 Power State Management Method ........................................................................................................................... 60
8.3 Get Power Control Capabilites .................................................................................................................................. 60
8.3.1 Base Server Method ..................................................................................................................................................... 60
8.3.2 Power State Management Method ............................................................................................................................ 62
8.4 Power Control ............................................................................................................................................................... 63
8.4.1 Base Server Method ...................................................................................................................................................... 63
8.4.2 Power State Management Method ............................................................................................................................ 63
9.1 Power Supply Inventory ............................................................................................................................................... 65
9.2 Fan Inventory ................................................................................................................................................................. 66
9.4 CPU Inventory................................................................................................................................................................ 67
9.7 Video Inventory ............................................................................................................................................................. 70
9.9 NIC Inventory and Configuration ............................................................................................................................... 71
9.10 RAID Inventory and Configuration ............................................................................................................................. 73
9.11 BIOS Inventory and Configuration ............................................................................................................................. 74
9.12 System Inventory (including CSIOR attribute) ......................................................................................................... 74
10 Job Control Management ...................................................................................................................................................... 77
10.1 Description of Job Management ............................................................................................................................... 77
10.2 Remote Job Control Examples .................................................................................................................................. 77
10.2.3 List Jobs in Job Store .............................................................................................................................................. 79
6 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
11 Operating System Deployment ............................................................................................................................................. 81
11.1 OS Deployment Profile Implementation Conformance ........................................................................................ 81
11.2 Checking OS Deployment Service Availability ......................................................................................................... 81
11.3 OS Deployment Method Invocation Examples ....................................................................................................... 82
11.3.1 Get Driver Pack Information ....................................................................................................................................... 82
11.3.2 Unpack Selected Drivers and Attach to Host OS as USB Device ......................................................................... 83
11.3.3 Detach Emulated USB Device Containing Drivers .................................................................................................. 84
11.3.4 Unpack Selected Drivers and Copy to Network Share .......................................................................................... 85
11.3.5 Check Job Status .......................................................................................................................................................... 86
11.3.6 Boot to Network ISO .................................................................................................................................................... 87
11.3.7 Detach Network ISO USB Device ............................................................................................................................... 89
11.3.8 Boot To PXE ................................................................................................................................................................... 89
11.3.9 Get Host MAC Address Information ......................................................................................................................... 90
11.3.10 Download ISO to VFlash .................................................................................................................................... 90
11.3.11 Boot to ISO from VFlash ..................................................................................................................................... 92
11.3.12 Delete ISO from VFlash ....................................................................................................................................... 92
11.3.13 Detach ISO from VFlash ..................................................................................................................................... 93
11.3.14 Connect Network ISO Image ............................................................................................................................ 93
11.3.15 Disconnect Network ISO Image ....................................................................................................................... 94
11.3.16 Skip ISO Image Boot ............................................................................................................................................ 95
11.3.17 Get Network ISO Image Connection Information ......................................................................................... 95
11.3.18 Connect RFS ISO Image ..................................................................................................................................... 96
11.3.19 Disconnect RFS ISO Image ................................................................................................................................ 97
11.3.20 Get RFS ISO Image Connection Information ................................................................................................. 98
11.3.21 Boot To Hard Drive (HD) .................................................................................................................................... 98
11.3.22 Configurable Boot to Network ISO .................................................................................................................. 99
12.1 Collect System Inventory on Restart (CSIOR) ........................................................................................................ 101
12.2 Part Replacement Configuration and Management ............................................................................................. 102
12.2.2 Get LC Config Job Status .......................................................................................................................................... 103
12.2.3 List All LC Jobs ............................................................................................................................................................. 103
7 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
12.2.4 Get CSIOR Component Configuration Recovery (CCR) Attribute ..................................................................... 104
12.2.5 Get Part Firmware Update Attribute ........................................................................................................................ 105
12.4 Clear or Set Provisioning Server ............................................................................................................................... 106
12.6 Download Server Public Key ..................................................................................................................................... 108
12.9 Set Public Certificates ................................................................................................................................................ 110
12.10 Set iDRAC Certificate and Private Key ...................................................................................................................... 111
12.11 Delete Auto-Discovery Server Public Key .............................................................................................................. 112
12.12 Insert Comment in Lifecycle Controller Log ......................................................................................................... 113
12.17 System Decommission .............................................................................................................................................. 118
12.18 Get Remote Services API Status ............................................................................................................................... 118
12.19 Export System Configuration .................................................................................................................................... 119
12.20 Import System Configuration ................................................................................................................................... 120
12.21 XML Template Preview ............................................................................................................................................... 121
12.22.1 Run Diagnostics ................................................................................................................................................. 122
12.22.3 Verify the Diagnostics Job Status ................................................................................................................... 123
13.1 Listing the SD Card Partitions ................................................................................................................................... 125
13.2 Initialize the Virtual Flash Media ............................................................................................................................... 126
13.2.1 Get VFlash SD Card Inventory .................................................................................................................................. 126
13.2.2 Initialize or Format Media .......................................................................................................................................... 126
13.2.3 Verify Initialization or Formatting ............................................................................................................................. 127
13.3 Enable or Disable VFlash using VFlash State Change ........................................................................................... 128
8 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
13.7 Format Partition ........................................................................................................................................................... 132
13.11 Export Data from Partition ........................................................................................................................................ 136
14 Boot Control Configuration Management ........................................................................................................................ 139
14.1 Listing the Boot Inventory-ConfigSetting Class .................................................................................................... 139
14.2 Getting a Boot ConfigSetting Instance ................................................................................................................... 140
14.3 Listing the Boot Inventory-SourceSetting Class ................................................................................................... 140
14.4 Changing the Boot Order by InstanceID-ChangeBootOrderByInstanceID() .................................................. 141
14.5 Enable or Disable the Boot Source-ChangeBootSourceState() ......................................................................... 142
15 NIC or CNA Card Management .......................................................................................................................................... 144
15.1 Listing the NIC or CNA Inventory-Enumeration Class ......................................................................................... 144
15.2 Listing the NIC or CNA Inventory-String Class ...................................................................................................... 145
15.3 Listing the CNA Inventory-Integer Class ................................................................................................................ 146
15.4 Listing the CNA Inventory-NICView Class ............................................................................................................. 147
15.5 Listing the CNA Inventory-NICCapabilities Class.................................................................................................. 148
15.6 Listing the CNA Inventory- NICStatistics Class ..................................................................................................... 149
15.7 Applying the Pending Values for CNA-CreateTargetedConfigJob() ................................................................. 150
15.8 Deleting the Pending Values for CNA-DeletePendingConfiguration() ............................................................. 151
15.9 Getting the CNA Enumeration Instance ................................................................................................................. 152
9 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
16.1 Listing the RAID Inventory-Enumeration Class ..................................................................................................... 160
16.2 Getting a RAID Enumeration Instance .................................................................................................................... 161
16.3 Listing the RAID Inventory-Integer Class ................................................................................................................ 162
16.4 Getting a RAID Integer Instance ............................................................................................................................... 163
16.5 Listing the RAID Inventory-String Class .................................................................................................................. 164
16.6 Getting a RAID String Instance ................................................................................................................................. 165
16.7 Listing the RAID Inventory-ControllerView Class ................................................................................................. 165
16.8 Getting a RAID ControllerView Instance................................................................................................................. 166
16.9 Listing the RAID Inventory-PhysicalDiskView Class .............................................................................................. 167
16.10 Listing the RAID VirtualDiskView Inventory ............................................................................................................ 168
16.11 Listing the RAID EnclosureView Inventory ............................................................................................................. 169
16.16.2 Assigning the Hot-Spare-AssignSpare() ......................................................................................................... 174
16.16.3 Unassigning the Hot Spare-UnassignSpare() ................................................................................................ 175
16.17 Managing Keys for Self Encrypting Drives .............................................................................................................. 175
16.17.1 Setting the Key-SetControllerKey() ................................................................................................................. 176
16.17.2 Locking the Virtual Disk-LockVirtualDisk() .................................................................................................... 176
16.17.3 Locking the Controller with a Key-EnableControllerEncryption() ............................................................ 177
16.17.4 Rekeying the Controller-ReKey() .................................................................................................................... 178
16.17.5 Removing the Key-RemoveControllerKey() .................................................................................................. 179
16.18 Managing Virtual Disk ................................................................................................................................................. 180
16.18.1 Getting the Available RAID levels-GetRAIDLevels() ..................................................................................... 180
16.18.2 Getting the Available Disks-GetAvailableDisks() ........................................................................................... 181
16.18.3 Checking the Create VD Parameters Validity-CheckVDValues() .............................................................. 182
16.18.4 Creating a Single Virtual Disk-CreateVirtualDisk() ....................................................................................... 183
16.18.5 Creating a Sliced Virtual Disk-CreateVirtualDisk() ........................................................................................ 186
16.18.6 Creating a Cachecade Virtual Disk-CreateVirtualDisk() .............................................................................. 189
10 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
16.18.7 Deleting a Virtual Disk-DeleteVirtualDisk() .................................................................................................... 190
17.1 Listing the BIOS Inventory-Enumeration Class ..................................................................................................... 196
17.2 Getting a BIOS Enumeration Instance .................................................................................................................... 197
17.3 Changing the BIOS BootMode-SetAttribute()........................................................................................................ 198
17.5 Listing the BIOS Inventory-Integer Class ................................................................................................................ 199
17.6 Listing the BIOS Inventory-String Class .................................................................................................................. 199
17.7 Applying the Pending Values for BIOS & Boot-CreateTargetedConfigJob() .................................................. 200
17.8 Deleting the Pending Values for BIOS and Boot-DeletePendingConfiguration() ........................................... 201
17.9.3 Monitor Set BIOS Password Status ......................................................................................................................... 203
17.10 Listing the BIOS Inventory-Password Class .......................................................................................................... 204
18 Exporting and Importing Server Profile ............................................................................................................................ 206
18.1 Exporting Server Profile ............................................................................................................................................ 206
18.1.1 Exporting Server Profile to iDRAC vFlash Card-BackupImage() ........................................................................ 206
18.1.2 Exporting Server Profile to NFS Share-BackupImage() ........................................................................................207
18.1.3 Exporting Server Profile to CIFS Share-BackupImage() .......................................................................................207
18.1.4 Monitoring Export status .......................................................................................................................................... 208
18.2.1 Enable the Automatic Backup ................................................................................................................................. 209
18.2.2 Set Backup Schedule .................................................................................................................................................. 210
18.2.3 Get the Backup Schedule .......................................................................................................................................... 210
11 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
18.2.4 Clear the Backup Schedule .................................................................................................................................. 210
18.3 Importing Server Profile ............................................................................................................................................. 211
18.3.1 Importing Server Profile from iDRAC vFlash Card-RestoreImage() ................................................................... 211
18.3.2 Importing Server Profile from NFS share-RestoreImage() ................................................................................... 211
18.3.3 Importing Server Profile from CIFS share-RestoreImage() .................................................................................. 212
18.3.4 Monitoring Import Status ...................................................................................................................................... 213
19.4 Applying the Attributes and Polling Job Completion ........................................................................................... 217
19.4.3 Set Attribute Verification ....................................................................................................................................... 219
19.5 Listing the iDRAC Card Inventory-Integer Class .................................................................................................. 220
19.6 Listing the iDRAC Card Inventory-Integer Class using
19.7 Listing the iDRAC Card Inventory-String Class ...................................................................................................... 222
19.8 Listing the iDRAC Card Inventory-String Class using
19.9 Changing the iDRAC IP Change Notification......................................................................................................... 225
19.9.1 Getting the Current iDRAC IPChange State ........................................................................................................... 225
19.9.2 Setting the iDRAC IPChange Notification-SetAttribute() ............................................................................... 226
20 Remote Service Status .......................................................................................................................................................... 227
20.1 Getting Remote Service Status ................................................................................................................................. 227
20.2 Restarting Remote Service Status ........................................................................................................................... 228
21 System Information .............................................................................................................................................................. 230
21.1 Listing the System Inventory-SystemView Class .................................................................................................. 230
22 Sensor Information ................................................................................................................................................................ 232
22.1 Listing the Sensors Inventory-PSNumericSensor Class ....................................................................................... 232
23.1 Listing the FC Inventory-Attribute Class ................................................................................................................. 233
23.2 Listing the FC Inventory-Statistics Class ................................................................................................................ 234
23.3 Listing the FC Inventory-String Class ..................................................................................................................... 234
12 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
23.4 Listing the FC Inventory-Integer Class .................................................................................................................... 235
23.5 Listing the FC Inventory-Enumeration Class ........................................................................................................ 236
23.6 Changing the FC Attributes-SetAttribute() ............................................................................................................ 236
23.7 Applying the Pending Values for FC-CreateTargetedConfigJob() ..................................................................... 237
23.8 Deleting the Pending Values for FC-DeletePendingConfiguration() ................................................................ 238
23.9 Listing the FC Views ....................................................................................................................................................239
13 Lifecycle Controller Integration – Web Services Interface Guide for Windows | Revision 1.0.
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 provides information about the various WSMan interfaces with examples on how to use the interfaces in a Linux
environment.
1 Introduction
This document serves as a guideline for utilizing the functionality available from embedded Lifecycle
Controller Remote Enablement Web Services. The purpose of this document is to provide
information and examples for utilizing the Web services for Management (WS-Man) 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 are script writers and the application that utilizes the remote
management capabilities using WS-Man protocol available from Dell Lifecycle Controller.
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 WinRM 4 and WSMANCLI 5 respectively. The Lifecycle Controller remote
management capabilities are organized by management domain and documented in Dell CIM Profile
specifications 2. The remote enablement feature for Lifecycle Controller 2.0 provides the following
capabilities:
Remotely retrieve information about inventory of the BIOS, component firmware, and
embedded software including version information of both the installed as well as available
cached versions
pack, 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 you to remotely query and configure the Hardware Raid
of the system
Multiple HW Inventory views allows you to remote query the inventory of Hardware
3.1 Format for WS-Man 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 incorporated in 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 valid values for IP address, username,
password, and so on. 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 represents the format used in this document:
For the WS-Man 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, run the following command line
options to all WS-Man examples: –v and –V.
For more information about directions on setting up encryption certificates and executing WS-Man
invocations using full security capabilities for WS-Man, see the WS-Man documentation4 and related
documents. For more information about directions on configuring different encryption certificates for
the iDRAC Web server, see the Lifecycle Controller User Guide1. Dell recommends that the full
security and encryption capabilities of the WS- Management 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 sent from other systems Wait for a few seconds and re-try running the WS-Man command
3.2.3 Improving WS-Man Enumeration Performance
Enumeration configuration only available for winRM.
3.2.4 Specifying
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:
StartTime, Until
Time, and
TIME_NOW
Parameters
dddddddd is the number of days
hh is the remaining number of hours
mm is the remaining number of minutes
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
WS-MAN
WS-Management is a specification of a SOAP-based protocol
for the management of servers, devices, applications and more
ss is the remaining number of seconds
mmmmmm is the remaining number of microseconds
The Lifecycle controller 2.0 firmware update, and set attribute related methods that require a date
time parameter, use the form YYYYMMDDhhmmss (Eg. 20090930112030). You are expected to enter
the date and time in this format for all Lifecycle Controller 2.0 updates and set attribute tasks.
TIME_NOW
3.2.5 Return Values
Many of the methods in this document have the following possible return values. They are
summarized here for convenience.
is a special value that represents “running the tasks immediately”.
0 = Success
1 = Not Supported
2 = Failed
4096 = Job Created
3.2.6 Glossary
4 Discovery
4.1 Discovering Web Service Capability
Determine if the target system supports the Ws-Man interface using the ‘identify’ command.
The example above 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.
The example shows that implementation namespace is “root/dcim”.
Account Disabled as displayed
in
CurrentValue
attribute for
Users.1
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.
iDRAC has 15 local user accounts that can be managed.
5.2 Account Inventory (using iDRAC Attributes)
The list of user accounts may be retrieved by enumerating the
class provides the user account name and enabled state properties.
5.2.2 Privilege and Capabilities (using iDRAC Attributes)
Enumerating 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 username of an account may be modified by
invoking the ApplyAttributes() method on the
username or password verification can be obtained by enumerating the
class( Section 19.6).
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
can be obtained by enumerating the
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
attribute name and corresponding attribute value, as shown above.
<n1:ApplyAttributes_OUTPUT>
<n1:Message>The User Password is not configured so cannot Enable the
User or set values for
User Password IPMILan IPMISerial or User Admin Privilege</n1:Message>
<n1:MessageArguments>NULL</n1:MessageArguments>
<n1:MessageID>RAC023</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:ApplyAttributes_OUTPUT>
Users.4#Password
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
can be obtained by enumerating the
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
enumerating the class directly with filter. This method is similar to the example used to retrieve
When the account setting capability allows, the user name of an account may be modified by
running a set operation on the
requires an instance reference. The instance reference may be retrieved by adding
mode to enumerate or get of the class.
B) Perform a ‘get’ on any instance from A) to ensure correctness of the URI.
EXAMPLE-B:
wsman get "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/DCIM_MFAAccount
?__cimnamespace=root/dcim,SystemCreationClassName=DCIM_SPComputerSystem,Creat
ionClassNam
e=DCIM_MFAAccount,SystemName=systemmc,
Name=DCIM User 1"
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-j utf-8 -y basiс
When this method is executed, the particular object will be returned. Below is the output.
C) If B) is successful, set the new values for the specified instance.
EXAMPLE-C:
wsman put "http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/DCIM_MFAAccount
?__cimnamespace=root/dcim,SystemCreationClassName=DCIM_SPComputerSyste,Creati
onClassName=
DCIM_MFAAccount,SystemName=systemmc,Name=DCIM User 16"
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-k UserID=testuser4 -k UserPassword=testuserpss4
-j utf-8 -y basic
When this command is executed, the
be displayed as null when the account is disabled. After the account is enabled, it will be displayed as
blank. The value of
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. Login with new user name and password.
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 running a set operation on the
The set operation requires an instance reference. The instance reference may be retrieved by
adding
EnumerateEPR
UserPassword
mode to enumerate or get of the class.
property of the
CIM_Account
class instance.
NOTE: The profile defines this property as a 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.
Response status other than zero indicates an error has occurred and a message may be displayed.
5.5.4 Modify User Privilege (using DMTF Model)
When the account setting capability allows, the user account privileges may be modified by running
a set() operation on the
with the
instance reference may be retrieved by adding
class.
CIM_Account
ActivityQualifiers
class instance. The set() operation requires an instance reference. The
property of the
EnumerateEPR
CIM_Privilege
mode to enumerate or get of the
class instance associated
The profile defines this property as string array containing all the privileges to be allowed for the
account. Setting the list of privileges is a complete over-write of the earlier 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 earlier list in its entirety.
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
The privilege property
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.
ActivityQualifiers
is an array of type string. To set more than one privilege, you
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.
To determine if the new password has been successfully set, try logging in with the new
password. Make sure 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 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
the target system as well as available firmware images cached in the Lifecycle Controller. The
enumeration of the
such as firmware type and version.
When this method is run, a list of software identity objects will be returned, including installed and
available firmware. Below is a snippet of the output.
OUTPUT:
<n1:DCIM_SoftwareIdentity>
class contains information for the BIOS and component firmware installed on
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: Displays 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 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 earlier version of a component
firmware that is available on the Lifecycle Controller (that is “rollback” of component firmware). The general “Rollback” firmware steps are performed in several stages as described in the next sections.
The tasks 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
may take several minutes as the UEFI performs the desired operation.
(JID) from InstallFromSoftwareIdentity() and
rebootID(RID)
from the reboot job. The reboot
7.2.4 Monitor Update Jobs
The output of getting the job status during various steps, Section 10.2.3, is shown below.
The InstallFromSoftwareIdentity() method is used for installation of a earlier version of a component
firmware that is available on the Lifecycle Controller (that is “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 earlier version. The InstanceID can have the following values:
EXAMPLE:
wsman invoke -a InstallFromSoftwareIdentity
http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/root/dcim/DCIM_SoftwareInsta
llationService
?CreationClassName=DCIM_SoftwareInstallationService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=IDRAC:ID,Name=SoftwareUpdate
-h $IPADDRESS -V –v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-J RollInputBIOS.xml -j utf-8 -y basic
The rollback input file, RollInputBIOS.xml, is shown below:
The InstallFromSoftwareIdentity() method is used for installation of a earlier version of a component
firmware that is available on the Lifecycle Controller (that is “rollback” of component firmware).
Invoke
EXAMPLE:
wsman invoke -a InstallFromSoftwareIdentity
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_SoftwareInstallationService
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 earlier version. The InstanceID can have the following value:
DCIM:PREVIOUS:PCI:14E4:1639:0237:1028
• It refers to a earlier 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.
A firmware update can be performed by invoking the InstallFromURI() method in the class
DCIM_SoftwareInstallationService
the next sections. The tasks are demonstrated in examples in Section 7.6 and Section 7.7.
. Firmware update is performed in several stages as described in
Note: When running a WS-Man command to initiate update jobs, make sure to wait for two seconds
before submitting a second job in order to avoid 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
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.
DCIM_JobService
in Section 10.2.1.
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
DCIM_SoftwareUpdateJob
following is the example of the method for updating a NIC firmware.
that can be scheduled to run or queried for status at a later time. The
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:
tftp://[IP ADDRESS]/[PATH TO FILE.exe]
ftp://[IP ADDRESS]/[PATH TO FILE.exe]
[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
.
EXAMPLE:
wsman invoke -a InstallFromURI
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_SoftwareInstallationService
?CreationClassName=DCIM_SoftwareInstallationService,
SystemCreationClassName=DCIM_ComputerSystem,SystemName=IDRAC:ID,
Name=SoftwareUpdate
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-J UpdateInputNIC.xml -j utf-8 -y basic
The above command takes in an input file named UpdateInputNic.xml to supply input
parameters required for the InstallFromURI() method.
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 run, a
used for subsequent processing with job control provider in Section 10.
jobid
or a message is displayed indicating an error. This
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
DCIM_SoftwareUpdateJob
following is the example of the method for updating a BIOS firmware.
that can be scheduled to run or queried for status at a later time. The
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:
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 run, a
usedfor subsequent processing with job control provider in section 10.
jobid
or a message is displayed indicating an error. This
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 ran, using SetupJobQueue() (Section
10.2.1),the reboot will take several minutes depending on the system setup, including whether or
notcollecting system inventory (CSIOR) is enabled.
Invoke
RebootJobType: There are three options for rebooting the system.
EXAMPLE:
wsman invoke -a CreateRebootJob
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_SoftwareInstallationService
?CreationClassName=DCIM_SoftwareInstallationService,
SystemCreationClassName=DCIM_ComputerSystem,SystemName=IDRAC:ID,
Name=SoftwareUpdate
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.9.5 Clear the Update Schedule
Clears the schedule for the automatic updates, that has been set by the SetUpdateSchedule() method.
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:
1. InstallFromRepository: Initiate a job for device updates and creates a comparison report.
2. 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
A comparison XML between the inventory available on the system and the updates available on the
repository can be obtained using the GetRepoBasedUpdateList() method.
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.
The power control capabilities are also reported by the
CIM_PowerManagementCapabilities
(PMC) class associated with the
(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.
Changing the power state, such as cycling the power, is performed by invoking the
RequestStateChange() method of the
one instance for the main system and another for iDRAC. Use the main system instance. The
method requires you to specify the
possible values for this argument.
If the value returned is zero then it implies that the command is successfully run.Else, other values
indicate failure and may display a message indicating an error.
8.4.2 Power State Management Method
Changing the power state is performed by invoking the RequestPowerStateChange() method of
the
DCIM_PowerManagementService
1) Enumerate the
(PMS) class instance. It is a three task process shown below:
DCIM_PowerManagementService
with EPR
2) Enumerate the D
3) Use the EPR on steps 1) and 2) to invoke RequestPowerStateChange()
CIM_ComputerSystem
class and search for the Host instance
Power State Management Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1027_2.0.0.pd
f
EXAMPLE:
wsman invoke -a RequestPowerStateChange
"http://schemas.dell.com/wbem/wscim/1/cimschema/
2/DCIM_CSPowerManagementService?CreationClassName=DCIM_CSPowerManagementServi
ce,
SystemCreationClassName=DCIM_SPComputerSystem,SystemName=systemmc,Name=pwrmgt
svc:1"
-k PowerState="2"
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -j utf-8 -y basic
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
you to remote query the inventory of hardware.
Each of the hardware inventory classes return the attribute
the last time ‘collect system inventory on restart’ or CSIOR was run. For more information about
CSIOR, see Section 12.1. 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
Supply Profile describes power supply information of each platform. Each platform power supply is
represented by an instance of
This section describes the requirements and guidelines for implementing Dell Fan Profile. The Dell Fan
Profile describes the fans of each platform including the fan speed sensor information. Each platform
fan is represented by an instance of
This section describes the implementation for the
Profile describes physical memory of each platform. Each DIMM’s information is represented by an
instance of
This section describes the implementation for the
Profile describes the iDrac remote access card of each platform. Each remote access card’s
information is represented by an instance of
<n1:FQDD>iDRAC.Embedded.1-1</n1:FQDD>
<n1:FirmwareVersion>1.00.00</n1:FirmwareVersion>
<n1:GUID>3132334f-c0b7-3480-3510-00364c4c454</n1:GUID>
<n1:IPMIVersion>2.0</n1:IPMIVersion>
<n1:InstanceID>iDRAC.Embedded.1-1#IDRACinfo</n1:InstanceID>
<n1:LANEnabledState>1</n1:LANEnabledState>
<n1:LastSystemInventoryTime>20120106113848.000000+000
</n1:LastSystemInventoryTime>
<n1:LastUpdateTime>20120110193815.000000+000
</n1:LastUpdateTime>
<n1:Model>Enterprise</n1:Model>
<n1:PermanentMACAddress>78:2b:cb:54:54:11
</n1:PermanentMACAddress>
<n1:ProductDescription>This system component provides a complete set of
remote
management functions for Dell PowerEdge servers</n1:ProductDescription>
<n1:SOLEnabledState>1</n1:SOLEnabledState>
<n1:URLString>https://10.36.1.223:443</n1:URLString>
</n1:DCIM_iDRACCardView>
DCIM_iDRACCardView
DCIM_iDRACCARDView
class. The Dell iDrac
class.
9.6 PCI Device Inventory
This section describes the implementation for the
Profile describes PCI devices of each platform. Each PCI device’s information is represented by
an instance of
This section describes the implementation for the
describes videos of each platform. Each video controller’s information is represented by an
instance of
Each SD card partition is represented by an instance of
physical attributes of the virtual flash media, such as total size, available size, category, on which the
partitions will reside. For more information, see Section 13.
The NIC Profile describes representation and configuration of NIC controller. The profile also
describes the relationship of the NIC classes to the DMTF or Dell profile version information. For
more information, see Section 15, including inventories for
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 disk drives, 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. For more
information, see Section 16, including inventories for
adding the capability to represent and configure BIOS attributes, such as a Network Controller or
IDE Controller. The relationship between an individual BIOS attribute and a respective device is also
described. Additionally, the registration of a profile for the schema implementation version
information is described. For more information, see Section 17, including inventories for
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
also be found in Dell Job Control Profile.
The SetupJobQueue() method takes in an array of
at a later time. The
Section 10.2.3. Whenthere is a
rebootthe UEFI (Unified Extensible Firmware Interface) at the scheduled time.
jobids
and schedules them to run immediately or
jobids
are acquired using enumerating
Reboot Job,
in a job array that contains multiple jobs, the system will
DCIM_LifecycleJob
as described in
Invoke SetupJobQueue() with the following parameters and syntax:
JobArray: The
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
jobids
are listed in the
JobArray
element. Multiple jobs are listed in the order of job
RID_
for its
jobid
.
Note: Scheduling a job that is already scheduled will display a message indicating an error.
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
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.
UntilTime
, any jobs that have not been executed are failed
EXAMPLE:
wsman invoke -a SetupJobQueue
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_JobService
?SystemCreationClassName=DCIM_ComputerSystem,
CreationClassName=DCIM_JobService,SystemName=Idrac,Name=JobService
or XML syntax error can yield one of the following error messages:
<n1:Message> Job Cannot be Scheduled </n1:Message>
<n1:MessageID>SUP016</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
<n1:Message>Invalid Job Id </n1:Message>
<n1:MessageID>SUP011</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
10.2.2 Delete Job Queue
The DeleteJobQueue() method takes in a
Note: When clearing all jobs and pending data using the keyword
example 2, 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
EXAMPLE 1:
wsman invoke -a DeleteJobQueue
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_JobService
?SystemCreationClassName=DCIM_ComputerSystem,
CreationClassName=DCIM_JobService,SystemName=Idrac,Name=JobService
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -k JobID="JobID"
-j utf-8 -y basic
The example below uses JID_CLEARALL for the
“deleting all jobs in the jobstore”.
jobID
and then deletes it from the job store.
JID_CLEARALL
jobID
, which is a predefined value that represents
, as shown in
EXAMPLE 2:
wsman invoke -a DeleteJobQueue
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_JobService
?SystemCreationClassName=DCIM_ComputerSystem,
CreationClassName=DCIM_JobService,SystemName=Idrac,Name=JobService
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -k JobID="JID_CLEARALL"
-j utf-8 -y basic
OUTPUT:
Return 0 for success or non-zero for error with
messageID
and message description.
<n1:DeleteJobQueue_OUTPUT>
<n1:Message>The specified job was deleted</n1:Message>
<n1:MessageID>SUP020</n1:MessageID>
<n1:ReturnValue>0</n1:ReturnValue>
</n1:DeleteJobQueue_OUTPUT>
An XML syntax error could display 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:
A message indicating an error similar to the following can occur if an invalid
<s:Fault>
<s:Code>
<s:Value>s:Sender</s:Value>
<s:Subcode>
<s:Value>wsa:DestinationUnreachable</s:Value>
</s:Subcode>
</s:Code>
<s:Reason>
<s:Text xml:lang="en">No route can be determined to reach the destination
role defined by the
WS-Addressing To.</s:Text>
</s:Reason>
<s:Detail>
<wsman:FaultDetail>
http://schemas.dmtf.org/wbem/wsman/1/wsman/faultDetail/InvalidResourceURI
</wsman:FaultDetail>
</s:Detail>
</s:Fault>
JobID
is entered:
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 Profile 2 and the
DCIM_OSDeploymentService
by the Lifecycle Controller firmware can be found in Dell OS Deployment Profile as well.
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 tasks listed in Section 11.1 to test for profile conformance.
2. Invoke extrinsic method using the following parameters:
3. Invoke method returns the following output parameters:
4. If the Job output parameter from Step 2 contains a non-null value, then both Version and
EXAMPLE:
wsman invoke -a GetDriverPackInfo
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-j utf-8 -y basic
OUTPUT:
a. object path = object path returned from Section 11.1 (profile conformance)
b. Method name = “GetDriverPackInfo”
a. Version = String version
b. SupportedOperatingSystems = String array of OS names
OSList contain null values. The next call to GetDriverPackInfo() after the Job is completed will
Version
following syntax:
return non-null values for output parameters
and
OSList
. Invoke GetDriverPackInfo() with the
<n1:GetDriverPackInfo_OUTPUT>
<n1:OSList>Windows Server(R) 2003 R2 with SP2
</n1:OSList>
<n1:OSList>Windows(R) Small Business Server 2003 R2 with SP2
</n1:OSList>
<n1:OSList>Windows Server(R) 2003, x64
</n1:OSList>
<n1:OSList>Windows Server(R) 2008
</n1:OSList>
<n1:OSList>Windows Server(R) 2008, x64
</n1:OSList>
<n1:OSList>Windows(R) Small Business Server 2008
</n1:OSList>
<n1:OSList>Windows(R) Essential Business Server 2008
</n1:OSList>
<n1:OSList>Windows Server(R) 2008, x64 R2
</n1:OSList>
<n1:OSList>Red Hat Enterprise Linux 4.7 32-bit
</n1:OSList>
<n1:OSList>Red Hat Linux Enterprise 4.7 64-bit
</n1:OSList>
<n1:OSList>Red Hat Enterprise Linux 5.3 32-bit
</n1:OSList>
<n1:OSList>Red Hat Enterprise Linux 5.3 64-bit
</n1:OSList>
<n1:OSList>SUSE Linux Enterprise Server 10 SP2 64-bit
</n1:OSList>
<n1:OSList>SUSE Linux Enterprise Server 11 64-bit
</n1:OSList>
<n1:OSList>ESX 3.5 U4
</n1:OSList>
<n1:OSList>ESX 4.0
</n1:OSList>
<n1:ReturnValue>0</n1:ReturnValue>
<n1:Version>6.1.0.7</n1:Version>
</n1:GetDriverPackInfo_OUTPUT>
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:
2. Invoke method shall return the following output parameters:
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
a. Job = object path to CIM_ConcreteJob (reports the status of unpack and attach)
b. Enumerating this instance of CIM_ConcreteJob will display the status of the
current operation.
Invoke UnpackAndAttach() with the following syntax:
EXAMPLE:
wsman invoke -a UnpackAndAttach
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
11.3.3 Detach Emulated USB Device Containing Drivers
This method is used to detach the USB device attached to the system by a prior invocation of theUnpackAndAttach() method.
Invoke DetachDrivers() with the following syntax:
EXAMPLE:
wsman invoke -a DetachDrivers http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,Name=DCIM:OSDeploymentService,Sys
temCreationC
lassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-j utf-8 -y basic
OUTPUT:
Returns 0 for success or an integer for error or job in execution. A message indicating an error,
contains a
complete an earlier invoked method:
<n1:DetachDrivers_OUTPUT>
</n1:DetachDrivers_OUTPUT>
MessageID
<n1:Message>Unable to retrieve Lifecycle Controller handle
</n1:Message>
<n1:ReturnValue>2</n1:ReturnValue>
and
Message
<n1:MessageID>OSD7</n1:MessageID>
similar to the following is displayed if the system is waiting to
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: 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.
[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:
wsman invoke -a UnpackAndShare
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
A missing command line character, such as a “{“, could result in the following syntax error:
Connection failed. response code = 0
Couldn't connect to server
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
When the jobs are complete, the
successfully or “Failed” if an error occurred while executing the request. If the job failed, the
property on the returned
information on the cause of the failure.
DCIM_OSDConcreteJob instances
JobStatus
DCIM_OSDConcreteJob
, and checking the
property value will be “Successful” if the job completed
JobStatus
property value.
Message
instance will contain more detailed error
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.
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
CD-ROM storage device. By default the ISO will be attached for around 18 hours after which it will be
detached automatically. An optional parameter
than 18 hours if the ISO needs to be detached sooner.
ExposeDuration
can be used to specify a time less
Invoke BootToNetworkISO() using 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.
EXAMPLE:
wsman invoke -a BootToNetworkISO
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
output parameters will further contain method invocation information if an
11.3.10 Download ISO to VFlash
The DownloadISOToVFlash() method allows using remote command to download an ISO
image to VFlash. The image needs to be an ISO image. After you download this image to VFlash,
it can be booted by running 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.
EXAMPLE:
wsman invoke -a DownloadISOToVFlash
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
The DeleteISOFromVFlash() method will delete the ISO image that was downloaded to the
Invoke DeleteISOFromVFlash() with the following syntax:
EXAMPLE:
wsman invoke -a DeleteISOFromVFlash
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,Name=DCIM:OSDeploymentService,Sys
temCreationC
lassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v –c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-j utf-8 -y basic
VFlash
.
OUTPUT:
After running this command, a status or a message will be displayed indicating an error. If an image is
not foundthe following message will be displayed:
<n1:DeleteISOFromVFlash_OUTPUT>
<n1:Message>ISO Image not found on VFlash</n1:Message>
<n1:MessageID>OSD41</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:DeleteISOFromVFlash_OUTPUT>
11.3.13 Detach ISO from VFlash
The DetachISOFromVFlash() method will detach the ISO image in the
Invoke DetachISOFromVFlash() with the following syntax:
EXAMPLE:
wsman invoke -a DetachISOFromVFlash
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,Name=DCIM:OSDeploymentService,Sys
temCreationC
lassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v –c dummy.cert -P 443
-u $USERNAME -p $PASSWORD
-j utf-8 -y basic
OUTPUT:
After running this command, a status or a message will be displayed indicating an error. If an image is
not found the following message will be displayed:
VFlash
from the system.
<n1:DetachISOFromVFlash_OUTPUT>
<n1:Message>ISO Image not found on VFlash</n1:Message>
<n1:MessageID>OSD41</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:DetachISOFromVFlash_OUTPUT>
11.3.14 Connect Network ISO Image
This method can be used to connect to a bootable ISO image located on a CIFS or an 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
Invoke ConnectNetworkISOImage() using a CIFS or an 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
[CIFS_or_NFS_Username]: This is the username to the IP address of the ISO image.
is called. The ISO will be reattached after iDRAC reset.
[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:
wsman invoke -a ConnectNetworkISOImage
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,Name=DCIM:OSDeploymentService,Sys
temCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
output parameters will further contain method invocation information if
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
reboot. After that host server will continue to boot to the ISO image.
Invoke SkipISOImageBoot() using an NFS share with the following syntax:
EXAMPLE:
wsman invoke -a SkipISOImageBoot
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -j utf-8 -y basic
OUTPUT:
The return messages displayed here indicates the failure and success, 2 and 0, respectively. The
MessageID
error occurred.
and
Failure:
<n1:SkipISOImageBoot_OUTPUT>
<n1:Message>ISO image is not attached</n1:Message>
<n1:MessageID>OSD32</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:SkipISOImageBoot_OUTPUT>
output parameters will further contain method invocation information if an
method) one time only for next immediate host
11.3.17 Get Network ISO Image Connection Information
This method outputs the ISO connection status of the image that has been made available to the host.
Invoke GetNetworkISOImageConnectionInfo() with the following syntax:
EXAMPLE:
wsman invoke -a GetNetworkISOImageConnectionInfo
http://schemas.dmtf.org/wbem/wscim/1/cimschema/2/root/dcim/DCIM_OSDeploymentS
ervice
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -j utf-8 -y basic
OUTPUT:
<n1:GetNetworkISOImageConnectionInfo_OUTPUT>
<n1:Message>ISO image is not attached</n1:Message>
<n1:MessageID>OSD32</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:GetNetworkISOImageConnectionInfo_OUTPUT>
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 made available 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 CD-ROM 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 CDROM, 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
[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:
wsman invoke -a ConnectRFSISOImage
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=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 made available to the host system as a USB-based CD-ROM
device.
Invoke DisconnectRFSISOImage() with the following syntax:
EXAMPLE:
wsman invoke -a DisconnectRFSISOImage
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -j utf-8 -y basic
OUTPUT:
<n1:DisconnectRFSISOImage_OUTPUT>
<n1:Message>Unable to connect to ISO using RFS.</n1:Message>
<n1:MessageID>OSD60</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:DisconnectRFSISOImage_OUTPUT>
11.3.20 Get RFS ISO Image Connection Information
The GetRFSISOImageConnectionInfo() method is used to provide the status of the ISO Image
connection that has been made available to the host system.
Invoke GetRFSISOImageConnectionInfo() with the following syntax:
EXAMPLE:
wsman invoke -a GetRFSISOImageConnectionInfo
http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
?CreationClassName=DCIM_OSDeploymentService,
Name=DCIM:OSDeploymentService,
SystemCreationClassName=DCIM_ComputerSystem,
SystemName=DCIM:ComputerSystem
-h $IPADDRESS -V -v -c dummy.cert -P 443
-u $USERNAME -p $PASSWORD -j utf-8 -y basic
OUTPUT:
<n1:GetRFSISOImageConnectionInfo_OUTPUT>
<n1:Message>Unable to connect to ISO using RFS.</n1:Message>
<n1:MessageID>OSD60</n1:MessageID>
<n1:ReturnValue>2</n1:ReturnValue>
</n1:GetRFSISOImageConnectionInfo_OUTPUT>
A return value 0 indicates success, 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 hard disk drive of the host server. After this
method is ran, the host is rebooted immediately and will boot to the first configured hard disk drive
irrespective of its boot order.
Invoke BootToHD() with the following syntax:
EXAMPLE:
wsman invoke -a BootToHD http://schemas.dmtf.org/wbem/wscim/1/cimschema/
2/root/dcim/DCIM_OSDeploymentService
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 () through an 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.