Dell Lifecycle Controller 1.2 for Windows, Lifecycle Controller 1.3 for Windows, Lifecycle Controller 1.4 for Windows, Lifecycle Controller 1.5 for Windows, Lifecycle Controller 1.5.5 for Windows Web Services Interface Guide

...
Steven Zessin
December 18, 2012
Version 2.1.0
Dell™ Lifecycle Controller 2 Web
Services Interface Guide for Windows
Document Status: Published
This document is for informational purposes only and may contain typographical errors and technical inaccuracies. The content is provided as is, without express or implied warranties of any kind.
© 2012 Dell Inc. All rights reserved. Dell and its affiliates cannot be responsible for errors or omissions in typography or photography. Dell, the Dell logo, and PowerEdge are trademarks of Dell Inc. Intel and Xeon are registered trademarks of Intel Corporation in the U.S. and other countries. Microsoft, Windows, and Windows Server are either trademarks or 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 proprietary interest in the marks and names of others.
December 2012| Rev 2.1.0
2
CONTENTS
1 Introduction ........................................................................................................................ 10
2 References ........................................................................................................................ 10
3 Overview ............................................................................................................................ 12
3.1 Format for WinRM CLI Examples in Document ......................................................... 12
3.2 WS-Man Security & Time Parameters....................................................................... 13
3.2.1 Encryption Certificate Security....................................................................... 13
3.2.2 Handling invalid responses from WSMAN commands ................................... 13
3.2.3 Improving WinRM Enumeration Performance ................................................ 14
3.2.4 Specifying StartTime, Until Time, and TIME_NOW Parameters .................... 14
3.2.5 Return Values ............................................................................................... 15
3.2.6 Glossary ........................................................................................................ 15
4 Discovery ........................................................................................................................... 16
4.1 Discovering Web Service Capability ......................................................................... 16
4.2 Discovering what Profiles are Implemented .............................................................. 16
4.3 Discovering Implementation Namespace .................................................................. 17
5 Managing iDRAC Local User Accounts .............................................................................. 18
5.1 Description of iDRAC Attributes vs Standard DMTF Model ....................................... 18
5.2 Account Inventory (using iDRAC Attributes) .............................................................. 18
5.2.1 Account and Capabilities (using iDRAC Attributes) ........................................ 18
5.2.2 Privilege and Capabilities (using iDRAC Attributes) ....................................... 19
5.3 Manage Account Settings (using iDRAC Attributes) .................................................. 20
5.3.1 Modify User Name (using iDRAC Attributes) ................................................. 20
5.3.2 Modify Password (using iDRAC Attributes).................................................... 21
5.3.3 Modify Account State (using iDRAC Attributes) ............................................. 22
5.3.4 Modify User Privilege (using iDRAC Attributes) ............................................. 23
5.4 Account Inventory (using DMTF Model) .................................................................... 23
5.4.1 Account and Capabilities (using DMTF Model) .............................................. 23
5.4.2 Privilege and Capabilities (using DMTF Model) ............................................. 26
5.5 Manage Account Settings (using DMTF Model) ........................................................ 28
5.5.1 Modify User Name (using DMTF Model) ....................................................... 28
5.5.2 Modify Password (using DMTF Model) .......................................................... 31
5.5.3 Modify Account State (using DMTF Model) ................................................... 31
5.5.4 Modify User Privilege (using DMTF Model) ................................................... 32
6 Firmware Inventory ............................................................................................................ 33
6.1 Software Inventory Profile Specification .................................................................... 33
6.2 Remote Inventory Method Invocation – Get Software Inventory ................................ 33
7 Firmware Update ............................................................................................................... 35
7.1 Software Update Profile Specification ....................................................................... 35
7.2 ”Rollback” Firmware .................................................................................................. 35
7.2.1 Request “Rollback” Image ............................................................................. 35
3
7.2.2 Create Reboot Job ........................................................................................ 35
7.2.3 Schedule Update Jobs .................................................................................. 35
7.2.4 Monitor Update Jobs ..................................................................................... 35
7.3 BIOS Firmware “Rollback” ........................................................................................ 36
7.4 NIC Firmware “Rollback” ........................................................................................... 37
7.5 Update from Network Source .................................................................................... 39
7.5.1 Request Update Download ............................................................................ 39
7.5.2 Monitor Download Status ................................................................ .............. 39
7.5.3 Reboot to Perform Update ............................................................................. 39
7.5.4 Wait for Job Completion ................................................................................ 39
7.5.5 Delete Job ..................................................................................................... 40
7.6 Update NICs from HTTP, CIFS Share, NFS share, TFTP, or FTP ............................ 40
7.7 Update BIOS from HTTP, CIFS Share, NFS share, TFTP, or FTP ............................ 42
7.8 CreateRebootJob() ................................................................................................... 44
8 Power State Management .................................................................................................. 45
8.1 Description of Base Server vs Power State Management Methods ........................... 45
8.2 Get Power State ....................................................................................................... 45
8.2.1 Base Server Method ...................................................................................... 45
8.2.2 Power State Management Method ................................................................ 46
8.3 Get Power Control Capabilites .................................................................................. 47
8.3.1 Base Server Method ...................................................................................... 47
8.3.2 Power State Management Method ................................................................ 48
8.4 Power Control ........................................................................................................... 49
8.4.1 Base Server Method ...................................................................................... 49
8.4.2 Power State Management Method ................................................................ 50
9 Hardware Inventory ............................................................................................................ 51
9.1 Power Supply Inventory ............................................................................................ 51
9.2 Fan Inventory ............................................................................................................ 52
9.3 Memory Inventory ..................................................................................................... 53
9.4 CPU Inventory .......................................................................................................... 54
9.5 iDRAC Card Inventory .............................................................................................. 55
9.6 PCI Device Inventory ................................................................................................ 56
9.7 Video Inventory ......................................................................................................... 57
9.8 VFlash SD Card Inventory ........................................................................................ 58
9.9 NIC Inventory & Configuration .................................................................................. 58
9.10 RAID Inventory & Configuration ................................................................................ 60
9.11 BIOS Inventory & Configuration ................................................................................ 62
9.12 System Inventory (including CSIOR attribute) ........................................................... 63
10 Job Control Management ................................................................................................... 65
10.1 Description of Job Management ............................................................................... 65
10.2 Remote Job Control Examples ................................................................................. 65
10.2.1 Setup Job Queue .......................................................................................... 65
4
10.2.2 Delete Job Queue ................................ ......................................................... 66
10.2.3 List Jobs in Job Store .................................................................................... 67
11 Operating System Deployment .......................................................................................... 69
11.1 OS Deployment Profile Implementation Conformance .............................................. 69
11.2 Checking OS Deployment Service Availability .......................................................... 69
11.3 OS Deployment Method Invocation Examples .......................................................... 69
11.3.1 Get Driver Pack Information .......................................................................... 70
11.3.2 Unpack Selected Drivers and Attach to Host OS as USB Device .................. 71
11.3.3 Detach Emulated USB Device Containing Drivers ......................................... 72
11.3.4 Unpack Selected Drivers and Copy to Network Share ................................... 72
11.3.5 Check Job Status .......................................................................................... 73
11.3.6 Boot to Network ISO ...................................................................................... 74
11.3.7 Detach Network ISO USB Device .................................................................. 75
11.3.8 Boot To PXE ................................................................................................. 76
11.3.9 Get Host MAC Address Information .............................................................. 77
11.3.10 Download ISO to VFlash ........................................................................... 77
11.3.11 Boot to ISO from VFlash ............................................................................ 78
11.3.12 Delete ISO from VFlash ................................................................ ............. 79
11.3.13 Detach ISO from VFlash ............................................................................ 80
11.3.14 Connect Network ISO Image ..................................................................... 80
11.3.15 Disconnect Network ISO Image ................................................................. 81
11.3.16 Skip ISO Image Boot ................................................................................. 82
11.3.17 Get Network ISO Image Connection Information ....................................... 83
11.3.18 Connect RFS ISO Image ................................................................ ........... 83
11.3.19 Disconnect RFS ISO Image ....................................................................... 84
11.3.20 Get RFS ISO Image Connection Information ............................................. 85
11.3.21 Boot To Hard Drive (HD) ........................................................................... 85
11.3.22 Configurarable Boot to Network ISO .......................................................... 86
12 Lifecycle Controller Management Profile ............................................................................ 87
12.1 Collect System Inventory on Restart (CSIOR) ........................................................... 87
12.2 Part Replacement Configuration and Management ................................................... 89
12.2.1 Create Config Job ................................ ......................................................... 89
12.2.2 Get LC Config Job Status .............................................................................. 90
12.2.3 List All LC Jobs ............................................................................................. 90
12.2.4 Get CSIOR Component Configuration Recovery (CCR) Attribute .................. 91
12.2.5 Get Part Firmware Update Attribute .............................................................. 92
12.3 Re-Initiate Auto-Discovery Client .............................................................................. 92
12.4 Clear or Set Provisioning Server ............................................................................... 93
12.5 Check VFlash License Enablement ................................................................ .......... 95
12.6 Download Server Public Key ..................................................................................... 95
12.7 Download Client Certificates ..................................................................................... 96
12.8 Delete Auto-Discovery Client Certificates .................................................................. 97
5
12.9 Set Public Certificates ................................ ............................................................... 98
12.10 Set iDRAC Certificate and Private Key...................................................................... 99
12.11 Delete Auto-Discovery Server Public Key ............................................................... 100
12.12 Insert Comment in Lifecycle Controller Log ............................................................. 100
12.13 Export Lifecycle Controller Log ............................................................................... 101
12.14 Export Hardware Inventory from Lifecycle Controller .............................................. 102
12.15 Export Factory Configuration .................................................................................. 103
12.16 System Decommission ........................................................................................... 104
12.17 Get Remote Services API Status ............................................................................ 105
12.18 Export System Configuration .................................................................................. 105
12.19 Import System Configuration ................................................................................... 106
13 VFlash SD Card Management ......................................................................................... 107
13.1 Listing the SD Card Partitions ................................................................................. 108
13.2 Initialize the Virtual Flash Media.............................................................................. 108
13.2.1 Get VFlash SD Card Inventory .................................................................... 109
13.2.2 Initialize / Format Media .............................................................................. 109
13.2.3 Verify Initialization / Formatting.................................................................... 110
13.3 Enable/Disable VFlash using VFlash State Change ................................................ 111
13.4 Create Partition ....................................................................................................... 111
13.5 Create Partition using Image ................................................................................... 113
13.6 Delete Partition ....................................................................................................... 115
13.7 Format Partition ...................................................................................................... 115
13.8 Modify Partition ....................................................................................................... 117
13.9 Attach Partition ....................................................................................................... 117
13.10 Detach Partition ...................................................................................................... 118
13.11 Export Data from Partition ....................................................................................... 119
14 Boot Control Configuration Management ......................................................................... 121
14.1 Listing the Boot Inventory-ConfigSetting Class ....................................................... 121
14.2 Getting a Boot ConfigSetting Instance .................................................................... 122
14.3 Listing the Boot Inventory-SourceSetting Class ...................................................... 123
14.4 Changing the Boot Order by InstanceID-ChangeBootOrderByInstanceID() ............ 123
14.5 Enable or Disable the Boot Source-ChangeBootSourceState() ............................... 124
15 NIC/CNA Card Management ............................................................................................ 125
15.1 Listing the NIC/CNA Inventory-Enumeration Class ................................................. 126
15.2 Listing the NIC/CNA Inventory-String Class ............................................................ 127
15.3 Listing the CNA Inventory-Integer Class ................................................................. 129
15.4 Listing the CNA Inventory-NICView Class ............................................................... 130
15.5 Listing the CNA Inventory-NICCapabilities Class .................................................... 132
15.6 Listing the CNA Inventory- NICStatistics Class ....................................................... 133
15.7 Applying the Pending Values for CNA-CreateTargetedConfigJob() ......................... 134
15.8 Deleting the Pending Values for CNA-DeletePendingConfiguration() ...................... 135
15.9 Getting the CNA Enumeration Instance .................................................................. 136
6
15.10 Setting the IscsiOffloadMode Attribute .................................................................... 136
15.11 Setting the MaxBandwidth Attribute ................................................................ ........ 138
15.12 Setting the VirtMacAddr Attribute ............................................................................ 139
15.13 Setting the LegacyBootProto Attribute .................................................................... 140
15.14 Setting CNA LAN Modes ........................................................................................ 141
15.15 Setting the iSCSI Boot Target ................................................................................. 142
15.16 Setting the FCoE Boot Target ................................................................................. 143
16 RAID Storage Management ............................................................................................. 144
16.1 Listing the RAID Inventory-Enumeration Class ....................................................... 145
16.2 Getting a RAID Enumeration Instance .................................................................... 146
16.3 Listing the RAID Inventory-Integer Class ................................................................ 146
16.4 Getting a RAID Integer Instance ............................................................................. 148
16.5 Listing the RAID Inventory-String Class .................................................................. 148
16.6 Getting a RAID String Instance ............................................................................... 149
16.7 Listing the RAID Inventory-ControllerView Class .................................................... 150
16.8 Getting a RAID ControllerView Instance ................................................................. 151
16.9 Listing the RAID Inventory-PhysicalDiskView Class ................................................ 152
16.10 Listing the RAID VirtualDiskView Inventory ............................................................. 153
16.11 Listing the RAID EnclosureView Inventory .............................................................. 155
16.12 Reset Configuration-ResetConfig() ......................................................................... 155
16.13 Clearing the Foreign Configuration-ClearForeignConfig() ....................................... 156
16.14 Applying the Pending Values for RAID-CreateTargetedConfigJob() ........................ 157
16.15 Deleting the Pending Values for RAID-DeletePendingConfiguration() ..................... 158
16.16 Managing Hot Spare ............................................................................................... 159
16.16.1 Determining Potential Disks-GetDHSDisks() ................................ ........... 159
16.16.2 Assigning the Hot Spare-AssignSpare() .................................................. 159
16.16.3 Unassigning the Hot Spare-UnassignSpare() .......................................... 161
16.17 Managing Keys for Self Encrypting Drives .............................................................. 161
16.17.1 Setting the Key-SetControllerKey() .......................................................... 161
16.17.2 Locking the Virtual Disk-LockVirtualDisk() ............................................... 162
16.17.3 Locking the Controller with a Key-EnableControllerEncryption() .............. 163
16.17.4 Rekeying the Controller-ReKey() ............................................................. 164
16.17.5 Removing the Key-RemoveControllerKey() ............................................. 166
16.18 Managing Virtual Disk ............................................................................................. 166
16.18.1 Getting the Available RAID levels-GetRAIDLevels() ................................ 166
16.18.2 Getting the Available Disks-GetAvailableDisks() ...................................... 168
16.18.3 Checking the Create VD Parameters Validity-CheckVDValues() ............. 169
16.18.4 Creating a Single Virtual Disk-CreateVirtualDisk() ................................... 170
16.18.5 Creating a Sliced Virtual Disk-CreateVirtualDisk() ................................... 173
16.18.6 Creating a Cachecade Virtual Disk-CreateVirtualDisk() ........................... 176
16.18.7 Deleting a Virtual Disk-DeleteVirtualDisk() ............................................... 178
16.19 Setting Controller Attributes ................................................................ .................... 179
7
16.19.1 Changing the Value of a RAID Controller Enumeration Attribute ............. 179
16.19.2 Changing Multiple Values of RAID Controller Enumeration Attributes ...... 179
16.19.3 Changing the Value of a RAID Controller Integer Attribute ...................... 180
16.19.4 Changing Multiple Values of RAID Controller Integer Attributes ............... 181
16.20 Convert Physical Disks to RAID-ConvertToRAID() ................................................. 182
16.21 Convert Physical Disks to Non RAID-ConvertToNonRAID() .................................... 183
17 Managing BIOS Configuration .......................................................................................... 183
17.1 Listing the BIOS Inventory-Enumeration Class ....................................................... 183
17.2 Getting a BIOS Enumeration Instance .................................................................... 185
17.3 Changing the BIOS BootMode-SetAttribute() .......................................................... 185
17.4 Setting Multiple BIOS BootMode Parameters.......................................................... 186
17.5 Listing the BIOS Inventory-Integer Class ................................................................ 187
17.6 Listing the BIOS Inventory-String Class .................................................................. 187
17.7 Applying the Pending Values for BIOS & Boot-CreateTargetedConfigJob() ............ 188
17.8 Deleting the Pending Values for BIOS & Boot-DeletePendingConfiguration() ......... 189
17.9 Managing BIOS Passwords .................................................................................... 190
17.9.1 Setting the BIOS Password ......................................................................... 190
17.9.2 Create Target Configuration Job ................................................................. 192
17.9.3 Monitor Set BIOS Password Status ............................................................. 192
17.10 Listing the BIOS Inventory-Password Class ............................................................ 192
18 Exporting and Importing Server Profile ............................................................................. 193
18.1 Exporting Server Profile .......................................................................................... 194
18.1.1 Exporting Server Profile to iDRAC vFlash Card-BackupImage() .................. 194
18.1.2 Exporting Server Profile to NFS Share-BackupImage() ............................... 194
18.1.3 Exporting Server Profile to CIFS Share-BackupImage() .............................. 195
18.1.4 Monitoring Export status .............................................................................. 196
18.2 Importing Server Profile .......................................................................................... 197
18.2.1 Importing Server Profile from iDRAC vFlash Card-RestoreImage() ............. 197
18.2.2 Importing Server Profile from NFS share-RestoreImage() ........................... 197
18.2.3 Importing Server Profile from CIFS share-RestoreImage() .......................... 198
18.2.4 Monitoring Import Status ............................................................................. 199
19 iDRAC Configuration ........................................................................................................ 200
19.1 Listing the iDRAC Card Inventory-Enumeration Class ............................................ 200
19.2 Getting an iDRAC Card Enumeration Instance ....................................................... 201
19.3 Listing the iDRAC Card Inventory-Enumeration Class using groupID ..................... 202
19.4 Applying the Attributes and Polling Job Completion ................................................ 204
19.4.1 Changing iDRAC Values-ApplyAttributes() (Immediate) .............................. 204
19.4.2 Polling Job Completion ................................................................................ 205
19.4.3 Set Attribute Verification .............................................................................. 206
19.5 Listing the iDRAC Card Inventory-Integer Class ..................................................... 207
19.6 Listing the iDRAC Card Inventory-Integer Class using groupID .............................. 208
19.7 Listing the iDRAC Card Inventory-String Class ....................................................... 209
8
19.8 Listing the iDRAC Card Inventory-String Class using groupID ................................ 210
19.9 Changing the iDRAC IPChange Notification ........................................................... 212
19.9.1 Getting the Current iDRAC IPChange State ................................................ 212
19.9.2 Setting the iDRAC IPChange Notification-SetAttribute() .............................. 212
20 Remote Service Status .................................................................................................... 213
20.1 Getting Remote Service Status ............................................................................... 213
20.2 Restarting Remote Service Status .......................................................................... 215
21 System Information .......................................................................................................... 216
21.1 Listing the System Inventory-SystemView Class ..................................................... 216
22 Sensor Information .......................................................................................................... 217
22.1 Listing the Sensors Inventory-PSNumericSensor Class .......................................... 217
23 Managing Fiber Channel (FC) Configuration .................................................................... 219
23.1 Listing the FC Inventory-Attribute Class .................................................................. 219
23.2 Listing the FC Inventory-Statistics Class ................................................................. 220
23.3 Listing the FC Inventory-String Class ................................................................ ...... 221
23.4 Listing the FC Inventory-Integer Class ................................ .................................... 222
23.5 Listing the FC Inventory-Enumeration Class ........................................................... 222
23.6 Changing the FC Attributes-SetAttribute() ............................................................... 223
23.7 Applying the Pending Values for FC-CreateTargetedConfigJob() ........................... 223
23.8 Deleting the Pending Values for FC-DeletePendingConfiguration() ........................ 225
23.9 Listing the FC Views ............................................................................................... 225
9
1 Introduction
This document serves as a guideline for utilizing the functionality available from embedded Lifecycle Controller Remote Enablement Web Services interfaces. The purpose of this document is to provide information and examples for utilizing the Web services for Management (WS-Man) management protocol using Windows WinRM and open source WSMANCLI command line utilities. Examples and invocation information is provided for the following functionality.
Inventory for BIOS, component firmware and embedded software Update of BIOS, component firmware and embedded software Job Control of update tasks Enhancement of Operating System Deployment using VFlash SD Card Enhancement of Discovery and Handshake from LifeCycle Controller 1.x Raid configuration management iDRAC Inventory and configuration features NIC configuration management Boot configuration management BIOS configuration management
The target audience for this document is application and script writers that want to utilize the remote management capabilities using WS-Man protocol available from Dell Lifecycle Controller.
2 References
1
Dell 12th Generation PowerEdge Server Resources:
http://www.delltechcenter.com/12thGen
2
Dell CIM Profiles:
http://www.delltechcenter.com/page/DCIM.Library.Profile
3
Managed Object Format (MOF) files
http://www.delltechcenter.com/page/DCIM.Library.MOF
4
WinRM Scripting API, MSDN:
http://msdn.microsoft.com/en-us/library/aa384469(VS.85).aspx
5
Openwsman CLI:
http://www.openwsman.org/project/wsmancli
6
DMTF Common Information Model (CIM) Infrastructure Specification (DSP0004):
http://www.dmtf.org/standards/published_documents/DSP0004_2.5.0.pdf
10
7
List of PCI IDs:
http://pciids.sourceforge.net/pci.ids
11
3 Overview
The remote interface guidelines provided in this document are illustrated by command line examples of the WS-MAN protocol Web services APIs that expose the remote management capabilities of the Dell Lifecycle Controller. The command line examples are from the Microsoft® Windows® and Linux environments using WinRM4 and WSMANCLI5 respectively. The Lifecycle Controller remote management capabilities are organized by management domain and documented in Dell CIM Profile specifications2. The remote enablement feature for Lifecycle Controller 2.0 provides the following capabilities:
Remotely get inventory of the BIOS, component firmware, and embedded software including
version information of both the installed as well as available cached versions
Remote update of BIOS, component firmware, Diagnostic content, DRAC content, driver 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 users to remotely query and configure the Hardware Raid of
the system
Multiple HW Inventory views allows users to remote query the inventory of Hardware
3.1 Format for WinRM CLI Examples in Document
The examples of WinRM and WSMANCLI command line invocations in this document are formatted for readability and often span multiple lines in the document. In actual use, scripted or hand-typed invocations are contained on one line. The examples also use substitute values for the target iDRAC IP address, username (with ExecuteServerCommand privilege), password and other site specific information. Actual use of these examples would require using values for IP Address, username and password, etc. that are valid. These values are represented in the examples as follows:
Target iDRAC IP address = [IPADDRESS]
iDRAC Username = [USER]
iDRAC Password = [PASSWORD]
Additional substitute values are used in some of the examples and are described in the specific example.
12
The following example is typical of the formatting used in this document:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_OSDeploymentService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
3.2 WS-Man Security & Time Parameters
3.2.1 Encryption Certificate Security
For the WinRM examples provided in this document, the strict checks of certificates such as matching of CNs (Common Names) and verification with the actual CA (Certificate Authority) of the certificate of the WS-Management protocol HTTPS encryption certificate is assumed to be already configured and enabled. To disable the strict certificate checking, add the following command line options to all
WinRM examples: –skipCACheck and –skipCNCHeck.
Additionally, the following error may result if the end point does not support this feature. Use the
switch -skiprevocationcheck to bypass this error.
WSManFault
Message = The server certificate on the destination computer (10.35.0.232:443) has the following errors:
The SSL certificate could not be checked for revocation. The server used to check for revocation might be unreachable.
Refer to the WinRM documentation4 and related documentation for directions on setting up encryption certificates for WinRM and executing WinRM invocations using full security capabilities. Refer to the Lifecycle Controller User Guide1 for directions on configuring different encryption certificates for the iDRAC Web server. Dell recommends that the full security and encryption capabilities of the WS­Management protocol is used for production level utilization of the Lifecycle Controller Web services interfaces.
3.2.2 Handling invalid responses from WSMAN commands
Check the network connection to make sure that the system is connected Check the WSMAN syntax to ensure there are no typos in the command line Check if there are other WSMAN commands sending from other systems Wait for a few seconds and re-try the WSMAN command
13
3.2.3 Improving WinRM Enumeration Performance
When an enumeration command is executed, the default WinRM configuration gets only 20 instances at a time and therefore slows down the system drastically. Changing the WinRM configuration to allow a greater number, such as 50, will reduce the time taken by the enumeration operations.
Execute the following command to get instances in groups of up to 50.
winrm set winrm/config @{MaxBatchItems="50"}
Additionally, increasing the allotted maximum envelope size and timeout can also increase performance.
winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}
Other optional WinRM configuration commands are listed below for convenience. To get the current WinRM configuration settings, execute the following command.
winrm g winrm/config
By default, the client computer requires encrypted network traffic. To allow the client computer to request unencrypted traffic, execute the following command:
winrm s winrm/config/Client @{AllowUnencrypted="true"}
TrustedHosts is an array that specifies the list of remote computers that are trusted. Other computers in a workgroup or computers in a different domain should be added to this list.
Note: The computers in the TrustedHosts list are not authenticated.
Execute the following command to allow all computers to be included in TrustedHosts.
winrm s winrm/config/Client @{TrustedHosts="*"}
Basic authentication is a scheme in which the user name and password are sent in clear text to the server or proxy. This method is the least secure method of authentication. The default is True.
Execute the following command to set client computer to use Basic authentication.
winrm s winrm/config/Client/Auth @{Basic="true"}
3.2.4 Specifying StartTime, Until Time, and TIME_NOW Parameters
The several methods that attach a virtual USB device to the target system accept a StartTime and Until parameter. The parameter data type is CIM date-time. If the StartTime parameter is null the action will not be started. If the Until parameter is null, the default value will be 17 hours. The date-time data type is defined in the CIM Infrastructure Specification4 as:
ddddddddhhmmss.mmmmmm
Where:
14
Term
Meaning
BIOS
Basic Input / Output System
HW
Hardware
iDRAC
Integrated DELL Remote Access Controller
IPL
Initial Program Load
DUP
Dell Update Package
MOF
Managed Object File
CIM
Common Information Model
NIC
Network Interface Controller
RAID
Redundant Array of Independent Disks
FQDD
Fully Qualified Device Description
UEFI
Unified Extensible Firmware Interface
AMEA
Advanced Management Enablement Adapter
HII
Human Interface Infrastructure
WSMAN
WS-Management is a specification of a SOAP-based protocol for the management of servers, devices, applications and more
dddddddd is the number of days
hh is the remaining number of hours
mm is the remaining number of minutes
ss is the remaining number of seconds
mmmmmm is the remaining number of microseconds
The Lifecycle controller firmware update, and set attribute related methods that require a date time parameter, use the form YYYYMMDDhhmmss (Eg. 20090930112030). The user is expected to enter the date and time in this format for all Lifecycle Controller updates and set attribute tasks. TIME_NOW is a special value that represents “running the tasks immediately”.
3.2.5 Return Values
Many of the methods in this document have the following possible return values. They are summarized here for convenience.
0 = Success
1 = Not Supported
2 = Failed
4096 = Job Created
3.2.6 Glossary
15
4 Discovery
4.1 Discovering Web Service Capability
Determine if the target system supports the WinRM interface using the ‘identify’ command.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP0217_2.0.0.pdf
EXAMPLE:
winrm identify
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
IdentifyResponse ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd ProductVendor = Openwsman Project ProductVersion = 2.2.4
4.2 Discovering what Profiles are Implemented
Implemented profiles are advertised using the class CIM_RegisteredProfile. Enumerate this class in the “root/interop” CIM namespace.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1033_1.0.0.pdf
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/CIM_RegisteredProfile?__cimnamespace=root/interop
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify, Interop Namespace AdvertiseTypes = 1, 1 InstanceID = DCIM:Memory:1.0.0 OtherRegisteredOrganization = DCIM RegisteredName = Memory RegisteredOrganization = 1 RegisteredVersion = 1.0.0 ... DCIM_RegisteredProfile
16
AdvertiseTypeDescriptions = WS-Identify AdvertiseTypes = 1 Caption = null Description = null ElementName = null InstanceID = DCIM:CSRegisteredProfile:1 OtherRegisteredOrganization = null RegisteredName = Base Server RegisteredOrganization = 2 RegisteredVersion = 1.0.0 . . .
The above example shows that the DMTF Base Server profile version 1.0.0 is implemented.
4.3 Discovering Implementation Namespace
The implementation CIM namespace may be discovered from the interop (root/interop) CIM namespace using the class CIM_ElementConformsToProfile that associates an instance of CIM_RegisteredProfile class with an instance of CIM_ComputerSystem class.
Profiles: n/a
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/* -dialect:association -associations ­filter: {object=DCIM_ComputerSystem?CreationClassName=DCIM_ComputerSystem+Name=srv:system+__cimna mespace=root/dcim}
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -encoding:utf-8 -a:basic
-SkipCNcheck –SkipCAcheck
OUTPUT:
DCIM_CSRoleLimitedToTarget DefiningRole Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Role SelectorSet Selector: CreationClassName = DCIM_Role, Name = DCIM:Role:9, __cimnamespace = root/dcim TargetElement Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_ComputerSystem
SelectorSet Selector: CreationClassName = DCIM_ComputerSystem, Name = srv:system, __cimnamespace = root/dcim
17
DCIM_CSRoleLimitedToTarget DefiningRole Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Role SelectorSet Selector: CreationClassName = DCIM_Role, Name = DCIM:Role:10, __cimnamespace = root/dcim TargetElement Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_ComputerSystem
SelectorSet Selector: CreationClassName = DCIM_ComputerSystem, Name = srv:system, __cimnamespace = root/dcim
5 Managing iDRAC Local User Accounts
5.1 Description of iDRAC Attributes vs Standard DMTF Model
The iDRAC user account management data model is represented by both DMTF and Dell Profiles. Both models are currently offered. The DMTF Profiles for Simple Identity Management and Role Based Authorization represent iDRAC user accounts and privileges. The DMTF data model is complex and typically requires multiple transactions to accomplish simple operations such as specifying a username and password or giving a user account admin privileges. For this reason, LC also offers a Dell data model for managing iDRAC user accounts that is based on an attribute model. The DCIM iDRAC Card Profile specifies the attributes for each user account name, password, and privilege. The iDRAC has 15 local user account that can be managed.
5.2 Account Inventory (using iDRAC Attributes)
The list of user accounts may be retrieved by enumerating the DCIM_iDRACCard classes. The class provides the user account name and enabled state properties.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
5.2.1 Account and Capabilities (using iDRAC Attributes)
Enumerating the DCIM_iDRACCardEnumeration class, Section 19.1, and parsing the output for the attribute AttributeDisplayName = User Admin Enable, will display all of the 16 possible user accounts and their respective status.
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardEnumeration
-u:[USER] -p:[PASSWORD]
18
Account Disabled as displayed
in CurrentValue attribute for
Users.1
Account Enabled as displayed
in CurrentValue attribute for
Users.2
-r:https://[IPADDRESS]/wsman:443 -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_iDRACCardEnumeration AttributeDisplayName = User Admin Enable
AttributeName = Enable CurrentValue = Disabled DefaultValue = Disabled
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 . . .
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 AttributeName = IpmiLanPrivilege CurrentValue = NoAccess DefaultValue = NoAccess Dependency = null DisplayOrder = 0 FQDD = iDRAC.Embedded.1 GroupDisplayName = Users GroupID = Users.1
19
InstanceID = iDRAC.Embedded.1#Users.1#IpmiLanPrivilege IsReadOnly = true PossibleValues = User, Operator, Administrator, NoAccess
DCIM_iDRACCardEnumeration AttributeDisplayName = User Admin IPMI Serial Privilege AttributeName = IpmiSerialPrivilege CurrentValue = NoAccess DefaultValue = NoAccess Dependency = null DisplayOrder = 0 FQDD = iDRAC.Embedded.1 GroupDisplayName = Users GroupID = Users.1 InstanceID = iDRAC.Embedded.1#Users.1#IpmiSerialPrivilege IsReadOnly = true PossibleValues = User, Operator, Administrator, NoAccess. . .
5.3 Manage Account Settings (using iDRAC Attributes)
When the account setting capability allows, the user name of an account may be modified by invoking the ApplyAttributes() method on the UserName property. Confirmation of successful user name or password verification can be obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
5.3.1 Modify User Name (using iDRAC Attributes)
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_iDRACCardService +SystemName=DCIM:ComputerSystem +Name=DCIM:iDRACCardService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file: DracCard_UserName.xml
The input file, DracCard_UserName.xml, is shown below:
<p:ApplyAttributes_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_iDRACCardService"> <p:Target>iDRAC.Embedded.1</p:Target> <p:AttributeName>Users.4#UserName</p:AttributeName> <p:AttributeValue>HELLO</p:AttributeValue> </p:ApplyAttributes_INPUT>
OUTPUT:
20
When this method is executed, a jobid or an error message is returned.
ApplyAttributes_OUTPUT ReturnValue = 4096 Job EndpointReference Address = https://127.0.0.1:443/wsman ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob SelectorSet Selector: __cimnamespace = root/dcim, InstanceID = JID_001296571842
5.3.2 Modify Password (using iDRAC Attributes)
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_iDRACCardService +SystemName=DCIM:ComputerSystem +Name=DCIM:iDRACCardService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file:DracCard_Password.xml
The input file, DracCard_Password.xml, is shown below:
<p:ApplyAttributes_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_iDRACCardService"> <p:Target>iDRAC.Embedded.1</p:Target> <p:AttributeName>Users.4#Enable</p:AttributeName> <p:AttributeValue>Enabled</p:AttributeValue> <p:AttributeName>Users.4#Password</p:AttributeName> <p:AttributeValue>PWORDHERE</p:AttributeValue> </p:ApplyAttributes_INPUT>
OUTPUT:
When this method is executed, a jobid or an error message is returned.
ApplyAttributes_OUTPUT ReturnValue = 4096 Job EndpointReference Address = https://127.0.0.1:443/wsman ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob SelectorSet Selector: __cimnamespace = root/dcim, InstanceID = JID_001296571842
21
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-
schema/2/root/dcim/DCIM_iDRACCardService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_iDRACCardService +SystemName=DCIM:ComputerSystem +Name=DCIM:iDRACCardService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file: DracCard_AccountChange.xml
The input file, DracCard_ AccountChange.xml, is shown below:
<p:ApplyAttributes_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_iDRACCardService"> <p:Target>iDRAC.Embedded.1</p:Target> <p:AttributeName>Users.4#Enable</p:AttributeName> <p:AttributeValue>Enabled</p:AttributeValue> <p:AttributeName>Users.4#Password</p:AttributeName> <p:AttributeValue>PASSWORDHERE</p:AttributeValue> </p:ApplyAttributes_INPUT>
OUTPUT:
When this method is executed, a jobid or an error message is returned.
ApplyAttributes_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob SelectorSet Selector: InstanceID = JID_001296744532, __cimnamespace = root/dcim ReturnValue = 4096
The following error may result if the password has not initially been set to a value. The password may be set an initail value at the same time as the account is enabled by adding the Users.4#Password attribute name and corresponding attribute value, as shown above.
ApplyAttributes_OUTPUT Message = The User Password is not configured so cannot Enable the User or set values for IPMILan IPMISerial or User Admin Privilege MessageArguments = NULL MessageID = RAC023 ReturnValue = 2
22
5.3.4 Modify User Privilege (using iDRAC Attributes)
When the account setting capability allows, the user privileges may be enabled or disabled by invoking the method ApplyAttributes() method on the Enable property. Confirmation of the change can be obtained by enumerating the DCIM_iDRACCardString class(Section 19.6).
EXAMPLE:
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_iDRACCardService +SystemName=DCIM:ComputerSystem +Name=DCIM:iDRACCardService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file: DracCard_PrivilegeChange.xml
The input file, DracCard_ PrivilegeChange.xml, is shown below:
<p:ApplyAttributes_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_iDRACCardService"> <p:Target>iDRAC.Embedded.1</p:Target> <p:AttributeName>Users.4#IpmiLanPrivilege</p:AttributeName> <p:AttributeValue>Operator</p:AttributeValue> </p:ApplyAttributes_INPUT>
OUTPUT:
When this method is executed, a jobid or an error message is returned.
ApplyAttributes_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob SelectorSet Selector: InstanceID = JID_001296745342, __cimnamespace = root/dcim ReturnValue = 4096
5.4 Account Inventory (using DMTF Model)
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:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
5.4.1 Account and Capabilities (using DMTF Model)
Example-A demonstrates standard ouput. Example-B demonstrates EPR mode output.
23
EXAMPLE-A:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_Account
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT-A:
DCIM_Account CreationClassName = DCIM_Account ElementName = DCIM Account EnabledDefault = 2 EnabledState = 3 Name = iDRAC.Embedded.1#Users.1 OrganizationName = DCIM RequestedState = 0 SystemCreationClassName = DCIM_SPComputerSystem SystemName = systemmc TransitioningToState = 12 UserID = null UserPassword = null
DCIM_Account CreationClassName = DCIM_Account ElementName = DCIM Account EnabledDefault = 2 EnabledState = 2 Name = iDRAC.Embedded.1#Users.2 OrganizationName = DCIM RequestedState = 0 SystemCreationClassName = DCIM_SPComputerSystem SystemName = systemmc TransitioningToState = 12 UserID = root UserPassword . . .
EXAMPLE-B:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_Account -u:[USER] ­p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -returntype:EPR
OUTPUT-B:
EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Account SelectorSet
24
Selector: __cimnamespace = root/dcim, Name = iDRAC.Embedded.1#Users.1, CreationClassName = DCIM_Account, Sys temName = systemmc, SystemCreationClassName = DCIM_SPComputerSystem
EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Account SelectorSet Selector: __cimnamespace = root/dcim, Name = iDRAC.Embedded.1#Users.2, CreationClassName = DCIM_Account, Sys temName = systemmc, SystemCreationClassName = DCIM_SPComputerSystem
. . .
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 ElementNameEditSupported = false InstanceID = DCIM:LocalUserAccountManagementCapabilities:1 MaxElementNameLen = 0 OperationsSupported = 3 SupportedAuthenticationMethod = 0, 1, 2
DCIM_IPMICLPAccountManagementCapabilities ElementName = IPMI/CLP Account Management Capabilities ElementNameEditSupported = false InstanceID = DCIM:IPMICLPAccountManagementCapabilities:1 MaxElementNameLen = 0 OperationsSupported = 3
25
To determine account state 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_EnabledLogicalElementCapabilities class instance.
3. The presence of “RequestedStatesSupported” determines which states could be set.
4. One exception is account index 0. The first account is static and could not be set.
OUTPUT-D:
DCIM_EnabledLogicalElementCapabilities ElementName = Account Capabilities ElementNameEditSupported = false InstanceID = DCIM_EnabledLogicalElementCapabilities:1 MaxElementNameLen = 0 RequestedStatesSupported = 2, 3 . . .
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.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
To get the instance of CIM_Privilege for an account:
1. Get the CIM_Account class instance of interest using EnumerateEPR mode.
2. Enumerate the associators of the CIM_Account instance and search for CIM_Identity class
instance using EnumerateEPR mode.
3. Enumerate the associators of the CIM_Identity instance and search for CIM_Role class instance
using EnumerateEPR mode.
4. Enumerate the associators of the CIM_Role instance and search for CIM_Privilege class instance.
An alternative to the above method, you can retrieve the specific CIM_Privilege instance by enumerating the class directly with filter. This method is similar to the example used to retrieve CIM_Account.
EXAMPLE:
26
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/DCIM_LocalRolePrivilege
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]//wsman
-SkipCNcheck -SkipCAcheck -encoding:utf-8 -a:basic
OUTPUT:
DCIM_LocalRolePrivilege Activities = null ActivityQualifiers = null ElementName = DCIM Local Privilege 1 InstanceID = DCIM:Privilege:1 PrivilegeGranted = true QualifierFormats = null RepresentsAuthorizationRights = false
DCIM_LocalRolePrivilege Activities = 7, 7, 7, 7, 7, 7, 7, 7, 7 ActivityQualifiers = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Test Alerts, Execute Server Control Commands, Access Console Redirection, Access Virtual Media, Execute Diagnostic Commands
ElementName = DCIM Local Privilege 2 InstanceID = DCIM:Privilege:2 PrivilegeGranted = true QualifierFormats = 9, 9, 9, 9, 9, 9, 9, 9, 9 RepresentsAuthorizationRights = true
DCIM_LocalRolePrivilege Activities = null ActivityQualifiers = null
ElementName = DCIM Local Privilege 3 InstanceID = DCIM:Privilege:3 PrivilegeGranted = true QualifierFormats = null RepresentsAuthorizationRights = false . . .
Privilege setting capability is defined in the class CIM_RoleBasedManagementCapabilities associated with the CIM_Privilege class instance. This class contains the list of possible values used to assign privileges. Look for the property ActivityQualifiersSupported.
To determine privilege setting capabilities:
1. Acquire the class instance of CIM_Privilege of interest.
2. Enumerate the associators of the CIM_Privilege instance and search for
CIM_RoleBasedAuthorizationService class instance using EnumerateEPR mode.
27
3. Enumerate the associators of the CIM_RoleBasedAuthorizationService instance and search for
CIM_RoleBasedManagementCapabilities class instance using EnumerateEPR mode.
OUTPUT:
DCIM_LocalRoleBasedManagementCapabilities ActivitiesSupported = 7, 7, 7, 7, 7, 7, 7, 7, 7 ActivityQualifiersSupported = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Execute Server Control Commands, Access Console Redirection, Access Virtual Media, Test Alerts, Execute Di agnostic Commands ElementName = Local Role Based Management Capabilities InstanceID = DCIM:LocalRoleBasedManagementCapabilities QualifierFormatsSupported = 9, 9, 9, 9, 9, 9, 9, 9, 9 SharedPrivilegeSupported = false SupportedMethods = 8
DCIM_CLPRoleBasedManagementCapabilities ActivitiesSupported = null ActivityQualifiersSupported = null ElementName = CLP Role Based Management Capabilities InstanceID = DCIM:CLPRoleBasedManagementCapabilities QualifierFormatsSupported = null SharedPrivilegeSupported = false SupportedMethods = 6
DCIM_IPMIRoleBasedManagementCapabilities ActivitiesSupported = null ActivityQualifiersSupported = null ElementName = IPMI Role Based Management Capabilities InstanceID = DCIM:IPMIRoleBasedManagementCapabilities QualifierFormatsSupported = null SharedPrivilegeSupported = false SupportedMethods = 6
5.5 Manage Account Settings (using DMTF Model)
5.5.1 Modify User Name (using DMTF Model)
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.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
28
The steps below demonstrate how to set the user name and password for local accounts.
A) Enumerate CIM_Account with EPR to identify all possible instance information to be used in a subsequent put or set operations.
EXAMPLE-A:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_Account ?__cimnamespace=root/dcim
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -returntype:EPR
When this command is executed, a list of objects will be returned. Below is a snippet of the output.
OUTPUT-A:
EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Account SelectorSet Selector: __cimnamespace = root/dcim, Name = iDRAC.Embedded.1#Users.1, CreationClassName = DCIM_Account, Sys temName = systemmc, SystemCreationClassName = DCIM_SPComputerSystem
EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_Account SelectorSet Selector: __cimnamespace = root/dcim, Name = iDRAC.Embedded.1#Users.2, CreationClassName = DCIM_Account, Sys temName = systemmc, SystemCreationClassName = DCIM_SPComputerSystem
. . .
B) Perform a get on any instance from A) to ensure correctness of the URI.
EXAMPLE-B:
winrm g "http://schemas.dell.com/wbem/wscim/1/cim-schema/2/ DCIM_Account?__cimnamespace=root/dcim +CreationClassName= DCIM_Account +Name= iDRAC.Embedded.1#Users.16 +SystemCreationClassName=DCIM_SPComputerSystem +SystemName=systemmc"
29
-r:https://[IPADDRESS]
-u:[USER] -p:[PASSWORD]
-a:basic -encoding:utf-8 –SkipCACheck –SkipCNCheck
When this method is executed, the particular object will be returned. Below is the output.
OUTPUT-B:
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 = null UserPassword = null
C) If B) is successful, set the new values for the specified instance.
EXAMPLE-C:
winrm set "http://schemas.dell.com/wbem/wscim/1/cim-schema/2/ DCIM_Account?__cimnamespace=root/dcim +CreationClassName= DCIM_Account +Name= iDRAC.Embedded.1#Users.16 +SystemCreationClassName=DCIM_SPComputerSystem +SystemName=systemmc"
-r:https://[IPADDRESS]
-u:[USER] -p:[PASSWORD]
-a:basic -encoding:utf-8
@{UserID="testuser4";UserPassword="testuser4"} -SkipCACheck -SkipCNCheck –skiprevocationcheck
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.
OUTPUT-C:
DCIM_Account CreationClassName = DCIM_Account ElementName = DCIM Account EnabledDefault = 2 EnabledState = 3 Name = iDRAC.Embedded.1#Users.16 OrganizationName = DCIM
30
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. Ensure the account is enabled.
5.5.2 Modify Password (using DMTF Model)
When the account setting capability allows, the user password of an account may be modified by issuing a set operation on the UserPassword property of the CIM_Account class instance. The set operation requires an instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to enumerate or get of the class.
NOTE: The profile defines this property as string array of type octet string. In this implementation, the password is a string of type clear text. The security concern is resolved by transmission of this information only through secure HTTPS communication.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
See Section 5.5.1 for an implementation example.
5.5.3 Modify Account State (using DMTF Model)
When the account setting capability allows, the user account may be enabled or disabled by invoking the RequestStateChange() method of the CIM_Account class instance. The invoke operation requires
31
an instance reference. The instance reference may be retrieved by adding EnumerateEPR mode to enumerate or get of the class.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
Replace “DCIM User 16” with the applicable user name and “2” with the desired request state.
Invoke RequestStateChange() with the following parameters and syntax:
EXAMPLE:
winrm invoke RequestStateChange "http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/DCIM_Account ?__cimnamespace=root/dcim +CreationClassName=DCIM_Account +Name= iDRAC.Embedded.1#Users.16 +SystemCreationClassName=DCIM_SPComputerSystem +SystemName=systemmc"
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic @{RequestedState="2"} -skiprevocationcheck
OUTPUT:
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.
Profiles:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1034_1.0.1.pdf http://www.dmtf.org/sites/default/files/standards/documents/DSP1039_1.0.0.pdf
32
Here is an example list of available privileges from an instance of the class CIM_RoleBasedManagementCapabilities:
DCIM_LocalRoleBasedManagementCapabilities ActivitiesSupported = 7, 7, 7, 7, 7, 7, 7, 7, 7 ActivityQualifiersSupported = Login to DRAC, Configure DRAC, Configure Users, Clear Logs, Execute Server Control Commands, Access Console Redirection, Access Virtual Media, Test Alerts, Execute Di agnostic Commands ElementName = Local Role Based Management Capabilities InstanceID = DCIM:LocalRoleBasedManagementCapabilities QualifierFormatsSupported = 9, 9, 9, 9, 9, 9, 9, 9, 9 SharedPrivilegeSupported = false SupportedMethods = 8
The privilege property ActivityQualifiers is an array of type string. To set more than one privilege, you need to provide the same key name more than once. The tool does not allow duplicate keys to be entered through the command line. Instead, you need to perform two operations.
1. Get an instance of the CIM_Privilege class of interest.
2. Using the class instance, replace the property ActivityQualifiers with the new values.
3. Use the new instance XML as input to the set operation.
To determine if the new password has been successfully set, try logging in with the new password. Ensure the account is enabled.
6 Firmware Inventory
6.1 Software Inventory Profile Specification
The Dell Common Information Model (CIM) class extensions for supporting remote firmware inventory are defined in the Dell OS Software Update2 and related MOFs3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be found in Dell Software Inventory Profile.
6.2 Remote Inventory Method Invocation – Get Software Inventory
The SoftwareIdentity class contains information for the BIOS and component firmware installed on the target system as well as available firmware images cached in the Lifecycle Controller. The enumeration of the SoftwareIdentity class returns a list of SoftwareIdentity objects with properties such as firmware type and version.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
EXAMPLE:
33
winrm e cimv2/root/dcim/DCIM_SoftwareIdentity
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8
When this method is executed, a list of software identity objects will be returned, including installed and available firmware. Below is a snippet of the output.
OUTPUT:
DCIM_SoftwareIdentity BuildNumber = 4846 Classifications = 10
ComponentID = 28897 ComponentType = APAC DeviceID = null ElementName = Dell Lifecycle Controller 2, 1.0.0.4846, X79 FQDD = USC.Embedded.1:LC.Embedded.1 IdentityInfoType = OrgID:ComponentType:ComponentID IdentityInfoValue = DCIM:firmware:28897 InstallationDate = 2012-01-15T22:22:32Z InstanceID = DCIM:INSTALLED#802__USC.Embedded.1:LC.Embedded.1 IsEntity = true MajorVersion = 1 MinorVersion = 0 RevisionNumber = 0 RevisionString = null Status = Installed SubDeviceID = null SubVendorID = null Updateable = true
VendorID = null VersionString = 1.0.0.4846 impactsTPMmeasurements = false . . .
The key properties in the above output include the following:
InstanceID: Normally identifies the firmware on a particular type of device. The substring right after DCIM: is the status of a payload or firmware on the system. This can be installed or available.
ComponentID: Uniquely identifies a unique type of device such as BIOS, NIC, Storage and Lifecycle controller firmware.
34
InstallationDate: The date when the payload was installed to the system. If the system time was
not set when the firmware installation took place the install date will be 1970-01-01. Factory installed firmware will have the 1970-01-01 date.
VersionString: Shows the version of the firmware represented.
7 Firmware Update
7.1 Software Update Profile Specification
The Dell Common Information Model (CIM) class extensions for supporting BIOS, component firmware, and embedded software update are defined in the Dell Software Update Profile2 and related MOF files3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be found in Dell Software Update Profile as well.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
7.2 ”Rollback” Firmware
The InstallFromSoftwareIdentity() method is used for installation of a previous version of a component
firmware that is available on the Lifecycle Controller (i.e. “rollback” of component firmware). The
general “Rollback” firmware steps are performed in several stages as described in the next sections. Meanwhile, the steps are demonstrated in examples in Section 7.3 and Section 7.4.
7.2.1 Request “Rollback” Image
The first stage is a request to initiate and download the rollback image from the Lifecycle Controller by invoking the InstallFromSoftwareIdentity() method.
7.2.2 Create Reboot Job
The second stage is to create a reboot job as shown in Section 7.8.
7.2.3 Schedule Update Jobs
The third stage is to invoke the SetupJobQueue() method as shown in Section 10.2.1. Use the jobID(JID) from InstallFromSoftwareIdentity() and rebootID(RID) from the reboot job. The reboot may take several minutes as the UEFI performs the desired operation.
7.2.4 Monitor Update Jobs
The output of getting the job status during various steps, Section 10.2.3, is shown below.
Initial job status after invoking InstallFromSoftwareIdentity
35
DCIM_LifecycleJob InstanceID = JID_001276741956 JobStartTime = TIME_NA 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
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.
36
This refers BIOS version 2.1.4
EXAMPLE:
winrm i InstallFromSoftwareIdentity cimv2/root/dcim/ DCIM_SoftwareInstallationService ?CreationClassName=DCIM_SoftwareInstallationService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=IDRAC:ID +Name=SoftwareUpdate -file:RollInputBIOS.xml
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic -encoding:utf-8
The rollback input file, RollInputBIOS.xml, is shown below:
<p:InstallFromSoftwareIdentity_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_SoftwareInstallationService"> <p:Target xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address> <a:ReferenceParameters> <w:ResourceURI>http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_SoftwareIdentity</w:ResourceURI> <w:SelectorSet> <w:Selector Name="InstanceID">[InstanceID]</w:Selector> </w:SelectorSet> </a:ReferenceParameters> </p:Target> </p:InstallFromSoftwareIdentity_INPUT>
OUTPUT:
When this method is executed, a jobid or an error message is returned.
InstallFromSoftwareIdentity_OUTPUT Job Address = http://schemas.xmlsoap.org/ws
/2004/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1
/cim-schema/2/DCIM_SoftUpdateConcreteJob
SelectorSet Selector: InstanceID = JID_001276741956, __cimnamespace = root/dcim ReturnValue = null
7.4 NIC 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).
37
Invoke InstallFromSoftwareIdentity with the following parameters and syntax:
[InstanceID]: This is the instanceID of the SoftwareIdentify that is to be used to rollback the firmware to a previous version. The InstanceID can have value such as:
DCIM:PREVIOUS:PCI:14E4:1639:0237:1028
It refers to a previous firmware on a PCI device. VID (Vendor ID)= 14E4 DID (Device ID) = 1639 SSID (Subsystem ID) = 0237 SVID (Subvendor ID) = 1028 This refers to a Broadcom NetXtreme II BCM5709 network adaptor
7
.
EXAMPLE:
winrm i InstallFromSoftwareIdentity cimv2/root/dcim/ DCIM_SoftwareInstallationService ?CreationClassName=DCIM_SoftwareInstallationService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=IDRAC:ID +Name=SoftwareUpdate -file:RollInputNIC.xml
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic -encoding:utf-8
The rollback input file, RollInputNIC.xml, is shown below:
<p:InstallFromSoftwareIdentity_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_SoftwareInstallationService"> <p:Target xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address> <a:ReferenceParameters> <w:ResourceURI>http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_SoftwareIdentity</w:ResourceURI> <w:SelectorSet> <w:Selector Name="InstanceID">[InstanceID]</w:Selector> </w:SelectorSet> </a:ReferenceParameters> </p:Target> </p:InstallFromSoftwareIdentity_INPUT>
OUTPUT:
When this method is executed, a jobid or an error message is returned.
InstallFromSoftwareIdentity_OUTPUT Job
38
Address = http://schemas.xmlsoap.org/ws
/2004/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1
/cim-schema/2/DCIM_SoftUpdateConcreteJob
SelectorSet Selector: InstanceID = JID_001265811668, __cimnamespace = root/dcim ReturnValue = null
Entering an invalid instanceID may yield the following error message:
InstallFromSoftwareIdentity_OUTPUT Message = Invalid InstanceID MessageID = SUP024 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.
39
7.5.5 Delete Job
The fifth and final stage is to delete the completed job from the job store. Deleting the job queue is shown in Section 10.2.2.
7.6 Update NICs from HTTP, CIFS Share, NFS share, TFTP, or FTP
The InstallFromURI() method takes the following input and downloads the Dell Update Package to the Lifecycle Controller in the target system. The method returns a jobid for an instance of DCIM_SoftwareUpdateJob that can be scheduled to execute or queried for status at a later time. The following is the example of the method for updating a NIC firmware.
Invoke InstallFromURI() with the following parameters and syntax:
[URI-IP-ADDRESS]: This is the IP address of the location for Dell Update Package. The Dell Update Package will need to be the Windows type update package. The file share can be HTTP, CIFS, NFS, TFTP, or FTP type as shown below:
HTTP Format:
http://[IP ADDRESS]/[PATH TO FILE.exe]
CIFS Format:
cifs://WORKGROUP_NAME\[USERNAME]:[PASSWORD]@[URI-IP-ADDRESS]/
[FILE.exe];mountpoint=[DIRECTORYNAME]
TFTP or FTP Format:
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
.
40
EXAMPLE:
winrm invoke InstallFromURI cimv2/root/dcim/DCIM_SoftwareInstallationService ?CreationClassName=DCIM_SoftwareInstallationService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=IDRAC:ID+Name=SoftwareUpdate
-file:UpdateInputNIC.xml
-u:[UserName] -p:[Password] -r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -auth:basic -encoding:utf-8
The above command takes in an input file named UpdateInputNic.xml to supply input parameters required for the InstallFromURI() method.
The syntax for UpdateInputNIC.xml is:
<p:InstallFromURI_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_SoftwareInstallationService"> <p:URI>http://[URI-IP-ADDRESS]/[PATH-TO-EXE]/[FILE.exe]</p:URI> <p:Target xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address> <a:ReferenceParameters> <w:ResourceURI>http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_SoftwareIdentity</w:ResourceURI> <w:SelectorSet> <w:Selector Name="InstanceID">[INSTANCEID]</w:Selector> </w:SelectorSet> </a:ReferenceParameters> </p:Target> </p:InstallFromURI_INPUT>
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
/2004/08/addressing/role/anonymous
ReferenceParameters ResourceURI =
http://schemas.dell.com/wbem/wscim/1/cim-schema
/2/DCIM_SoftUpdateConcreteJob SelectorSet Selector: InstanceID = JID_001265810325, __cimnamespace = root/dcim
41
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:
HTTP Format:
http://[IP ADDRESS]/[PATH TO FILE.exe]
CIFS Format:
cifs://[USERNAME]:[PASSWORD]@[URI-IP-ADDRESS]/ [FILE.exe];mountpoint=/[DIRECTORYNAME]
TFTP or FTP Format:
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:AVAILABLE:NONPCI:159:2.1.4
It is available firmware on a NONPCI device. This refers BIOS version 2.1.4
EXAMPLE:
42
winrm invoke InstallFromURI cimv2/root/dcim/DCIM_SoftwareInstallationService ?CreationClassName=DCIM_SoftwareInstallationService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=IDRAC:ID+Name=SoftwareUpdate
-file:UpdateInputBIOS.xml
-u:[UserName] -p:[Password] -r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -auth:basic -encoding:utf-8
The above command takes in an input file named UpdateInputBIOS.xml to supply input parameters required for the InstallFromURI() method.
The syntax for UpdateInputBIOS.xml is:
<p:InstallFromURI_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_SoftwareInstallationService"> <p:URI>http://[URI-IP-ADDRESS]/[PATH-TO-EXE]/[FILE.exe]</p:URI> <p:Target xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address> <a:ReferenceParameters> <w:ResourceURI>http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_SoftwareIdentity</w:ResourceURI> <w:SelectorSet> <w:Selector Name="InstanceID">[INSTANCEID]</w:Selector> </w:SelectorSet> </a:ReferenceParameters> </p:Target> </p:InstallFromURI_INPUT>
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
/2004/08/addressing/role/anonymous
ReferenceParameters ResourceURI =
http://schemas.dell.com/wbem/wscim/1/cim-schema
/2/DCIM_SoftUpdateConcreteJob SelectorSet Selector: InstanceID = JID_001276741475, __cimnamespace = root/dcim ReturnValue = null
43
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:
winrm invoke CreateRebootJob cimv2/root/dcim/DCIM_SoftwareInstallationService ?CreationClassName=DCIM_SoftwareInstallationService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=IDRAC:ID+Name=SoftwareUpdate
-file:reboot.xml
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -auth:basic -encoding:utf-8
The syntax for reboot.xml is:
<p:CreateRebootJob_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_SoftwareInstallationService"> <p:RebootJobType>2</p:RebootJobType> </p:CreateRebootJob_INPUT>
OUTPUT:
This method will return a reboot jobid that can be set to reboot the system immediately or at a later time.
CreateRebootJob_OUTPUT RebootJobID
Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_SoftUpdateConcreteJob
SelectorSet Selector: InstanceID = RID_001265648530, __cimnamespace = root/dcim ReturnValue = null
The jobid in the above output is the instanceID:
44
Jobid = InstanceID = RID_001265648530
8 Power State Management
8.1 Description of Base Server vs Power State Management Methods
The remote control of a server power state (On, Off) and methodology for cycling power is available through data models specified in both the DMTF Base Server Profile and the DMTF Power State Management Profile. The Base Server Profile offers the RequestStateChange() method on the instance of the CIM_ComputerSystem class representing the server platform. The Power State Management Profile offers the RequestPowerStateChange() method available on the instance of the PowerStateManagmentService associated with the instance of CIM_ComputerSystem representing the server platform.
Base Server Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1004_1.0.1.pdf
Power State Management Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1027_2.0.0.pdf
8.2 Get Power State
8.2.1 Base Server Method
The power state of the system is reported by the EnabledState property of the DCIM_ComputerSystem class.
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/DCIM_ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_ComputerSystem CreationClassName = DCIM_ComputerSystem Dedicated = 0 ElementName EnabledState = 2 HealthState = 25 IdentifyingDescriptions = CIM:GUID, CIM:Tag, DCIM:ServiceTag Name = srv:system OperationalStatus = 6
45
OtherIdentifyingInfo = 4c4c4544-0036-3510-8034-b7c04f333231, mainsystemchassis, 7654321 PrimaryStatus = 3 RequestedState = 0
8.2.2 Power State Management Method
The power state of the system is also reported by the PowerState property of the DCIM_CSAssociatedPowerManagementService class.
Power State Management Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1027_2.0.0.pdf
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/DCIM_CSAssociatedPowerManagementService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
PowerState:
2 (On): System is fully on 13 (Off): System is powered off
DCIM_CSAssociatedPowerManagementService PowerOnTime = null PowerState = 2 RequestedPowerState = 0 ServiceProvided EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters
ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_CSPowerManageme ntService SelectorSet Selector: SystemCreationClassName = DCIM_SPComputerSystem, CreationClassName = D CIM_CSPowerManagementService, SystemName = systemmc, Name = pwrmgtsvc:1, __cimnamespace = root/dcim UserOfService
EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters
46
ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_ComputerSystem SelectorSet Selector: Name = srv:system, CreationClassName = DCIM_ComputerSystem, __cimnames pace = root/dcim
8.3 Get Power Control Capabilites
8.3.1 Base Server Method
The power control capabilities are reported by the RequestedStatesSupported property of the CIM_EnabledLogicalElementCapabilities class associated with the main system CIM_ComputerSystem
class.
Base Server Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1004_1.0.1.pdf
In “Part A” enumerate the CIM_ElementCapabilities class and search for the DCIM_CSElementCapabilities reference. Use the resulting InstanceID in “Part B” to obtain the RequestedStatesSupported property.
EXAMPLE (Part A):
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ElementCapabilities
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT (Part A):
. . . DCIM_CSElementCapabilities Capabilities Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_CSEnabledLogicalElementCapabilities
SelectorSet Selector: InstanceID = DCIM:ComputerCap:1, __cimnamespace = root/dcim Characteristics = null ManagedElement Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_ComputerSystem
SelectorSet Selector: Name = srv:system, CreationClassName = DCIM_ComputerSystem, __cimnamespace = root/dcim . .
47
.
EXAMPLE (Part B):
winrm g http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_CSEnabledLogicalElementCapabilities ?__cimnamespace=root/dcim
+InstanceID=DCIM:ComputerCap:1
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT (Part B):
RequestedStatesSupported:
2: Enabled 3: Disabled 11: Reset
DCIM_CSEnabledLogicalElementCapabilities Caption = null Description = null ElementName = Computer System Capabilities ElementNameEditSupported = false ElementNameMask = null InstanceID = DCIM:ComputerCap:1 MaxElementNameLen = null RequestedStatesSupported = 2, 3, 11 StateAwareness = null
8.3.2 Power State Management Method
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:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1027_2.0.0.pdf
EXAMPLE (iDRAC case):
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/CIM_PowerManagementCapabilities?__cimnamespace=root/dcim
-u:[USER] -p:[PASSWORD]
48
PowerStatesSupported Value
PowerChangeCapabilites Value
2 (Power On)
3 (Sleep - Light)
4 (Sleep - Deep)
3 (Power State Settable)
5 (Power Cycle (Off Soft))
4 (Power Cycling Supported)
6 (Power Off - Hard)
7 (Hibernate)
8 (Power Off - Soft)
9 (Power Cycle (Off Hard))
6 (Off Hard Power Cycling Supported)
10 (Master Bus Reset)
7 (HW Reset Supported)
11 (Diagnostic Interrupt (NMI))
7 (HW Reset Supported)
12 (Power Off - Soft Graceful)
8 (Graceful Shutdown Supported)
13 (Power Off - Hard Graceful)
8 (Graceful Shutdown Supported)
14 (Master Bus Reset Graceful)
7 (HW Reset Supported) and 8 (Graceful Shutdown Supported)
15 (Power Cycle (Off - Soft Graceful))
4 (Power Cycling Supported) and 8 (Graceful Shutdown Supported)
16 (Power Cycle (Off - Hard Graceful))
6 (Off Hard Power Cycling Supported) and 8 (Graceful Shutdown Supported)
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
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.
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
49
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.
Base Server Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1004_1.0.1.pdf
EXAMPLE:
winrm invoke RequestStateChange "http://schemas.dell.com/wbem/wscim/1/cim­schema/2/DCIM_ComputerSystem ?CreationClassName=DCIM_ComputerSystem +Name=srv:system"
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNcheck
-SkipCAcheck -encoding:utf-8 -a:basic @{RequestedState="2"}
-skiprevocationcheck
OUTPUT:
RequestStateChange_OUTPUT ReturnValue = 0 Return values of zero indicate success, while others indicate failure and may include a corresponding error message.
8.4.2 Power State Management Method
Changing the power state is performed by invoking the RequestPowerStateChange() method of the DCIM_PowerManagementService (PMS) class instance. It is a three step process shown below:
1) Enumerate the DCIM_PowerManagementService with EPR
2) Enumerate the DCIM_ComputerSystem class and search for the Host instance
3) Use the EPR on steps 1) and 2) to invoke RequestPowerStateChange()
Power State Management Profile:
http://www.dmtf.org/sites/default/files/standards/documents/DSP1027_2.0.0.pdf
EXAMPLE:
winrm invoke RequestPowerStateChange http://schemas.dell.com/wbem/wscim/1/cim-
schema/2/DCIM_CSPowerManagementService?__cimnamespace=root/dcim+SystemCreationClassName= DCIM_SPComputerSystem+SystemName=systemmc+CreationClassName=DCIM_CSPowerManagementServi ce+Name= pwrmgtsvc:1
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck
-SkipCAcheck -encoding:utf-8 -auth:basic @{PowerState=”5”}
50
9 Hardware Inventory
The Dell Common Information Model (CIM) class extensions for supporting remote hardware inventories are defined in the various Dell profiles and related MOFs3. The Hardware Inventory allows users to remote query the inventory of hardware.
Each of the hardware inventory classes return the attribute LastSystemInventoryTime, which is when the last time ‘collect system inventory on restart’ or CSIOR was run. See Section 12.1 for more details on CSIOR. It is an important attribute as it shows how recently the inventory was updated.
9.1 Power Supply Inventory
This section describes the implementation for the DCIM_PowerSupplyView class. The Dell Power Supply Profile describes platform’s power supply information. Each platform power supply is represented by an instance of DCIM_PowerSupplyView class.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_PowerSupplyView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_PowerSupplyView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_PowerSupplyView DetailedState = Presence Detected FQDD = PSU.Slot.1 FirmwareVersion = 00.01.31 InputVoltage = 120 InstanceID = PSU.Slot.1 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100401130928 Manufacturer = Dell Model = PWR SPLY,502W,RDNT 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
51
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:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_FanView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_FanView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_FanView ActiveCooling = true BaseUnits = 19 CurrentReading = 4200 FQDD = Fan.Embedded.1A InstanceID = Fan.Embedded.1A LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100408115623 PrimaryStatus = 1 RateUnits = 4 RedundancyStatus = 2 UnitModifier = 0 VariableSpeed = true
DCIM_FanView ActiveCooling = true BaseUnits = 19 CurrentReading = 4440 FQDD = Fan.Embedded.2A InstanceID = Fan.Embedded.2A
52
LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100408115623 PrimaryStatus = 1 RateUnits = 4 RedundancyStatus = 2 UnitModifier = 0 VariableSpeed = true . . .
9.3 Memory Inventory
This section describes the implementation for the DCIM_MemoryView class. The Dell Memory Profile describes platform’s physical memory. Each DIMM’s information is represented by an instance of DCIM_MemoryView class.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_MemoryView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_MemoryView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_MemoryView BankLabel = B CurrentOperatingSpeed = 1067 FQDD = DIMM.Socket.B1 InstanceID = DIMM.Socket.B1 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100325134947 ManufactureDate = Mon Jun 29 12:00:00 2009 UTC Manufacturer = Samsung MemoryType = 24 Model = DDR3 DIMM PartNumber = M391B2873DZ1-CH9 PrimaryStatus = 1 Rank = 1 SerialNumber = 85C6DF30 Size = 1024 Speed = 1333
DCIM_MemoryView BankLabel = A CurrentOperatingSpeed = 1067
53
FQDD = DIMM.Socket.A3 InstanceID = DIMM.Socket.A3 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100325134947 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 . . .
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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_CPUView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_CPUView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_CPUView CPUFamily = B3 CPUStatus = 1 Cache1Associativity = 7 Cache1ErrorMethodology = 5 Cache1Level = 0 Cache1PrimaryStatus = 1 Cache1SRAMType = 2 Cache1Size = 256 Cache1Type = 4 Cache1WritePolicy = 0 Cache2Associativity = 7 Cache2ErrorMethodology = 5 Cache2Level = 1 Cache2PrimaryStatus = 1 Cache2SRAMType = 2
54
Cache2Size = 2048 Cache2Type = 5 Cache2WritePolicy = 0 Cache3Associativity = 14 Cache3ErrorMethodology = 5 Cache3Level = 2 Cache3PrimaryStatus = 1 Cache3SRAMType = 2 Cache3Size = 20480 Cache3Type = 5 Cache3WritePolicy = 0 Characteristics = 4 CurrentClockSpeed = 2266 ExternalBusClockSpeed = 5860 FQDD = CPU.Socket.2 InstanceID = CPU.Socket.2 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100325134947 Manufacturer = Intel MaxClockSpeed = 3600 Model = Intel(R) Xeon(R) CPU E5520 @ 2.27GHz NumberOfEnabledCores = 4 NumberOfEnabledThreads = 8 NumberOfProcessorCores = 4 PrimaryStatus = 1 Voltage = 1.20
DCIM_CPUView CPUFamily = B3 CPUStatus = 1 Cache1Associativity = 7 Cache1ErrorMethodology = 5 . . .
9.5 iDRAC Card Inventory
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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_iDRACCardView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_iDRACCARDView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
55
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_iDRACCardView FQDD = iDRAC.Embedded.1 FirmwareVersion = 1.00.00 GUID = 314b544f-c0b5-5180-5210-00484c4c454 IPMIVersion = 2.0 InstanceID = iDRAC.Embedded.1-1#IDRACinfo LANEnabledState = 1 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 19700101000000 Model = Enterprise PermanentMACAddress = 0:21:9b:92:70:5f ProductDescription = This system component provides a complete set of remote management functions for Dell PowerEdge server SOLEnabledState = 1 URLString = https://192.35.10.1:443
9.6 PCI Device Inventory
This section describes the implementation for the DCIM_PCIDeviceView class. The Dell PCI Profile describes platform’s PCI devices. Each PCI device’s information is represented by an instance of DCIM_PCIDeviceView class.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_PCIDeviceView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_PCIDeviceView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_PCIDeviceView BusNumber = 0 DataBusWidth = 0002 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
56
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 . . .
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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate DCIM_VideoView with the following parameters and syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_VideoView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic
-encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
DCIM_VideoView BusNumber = 6 DataBusWidth = 0002 Description = PowerEdge R610 MGA G200eW WPCM450 DeviceNumber = 3 FQDD = Video.Embedded.1-1
57
FunctionNumber = 0 InstanceID = Video.Embedded.1-1 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100325134947 Manufacturer = Matrox Graphics, Inc. PCIDeviceID = 0532 PCISubDeviceID = 0236 PCISubVendorID = 1028 PCIVendorID = 102B 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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate the DCIM_VFlashView with the following parameters and syntax:
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_VFlashView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_VFlashView AvailableSize = 970 Capacity = 976 ComponentName = vFlash SD Card FQDD = Disk.vFlashCard.1 HealthStatus = OK InitializedState = Initialized InstanceID = Disk.vFlashCard.1 LastSystemInventoryTime = 20100408123517 LastUpdateTime = 20100408123517 Licensed = true VFlashEnabledState = true WriteProtected = false
9.9 NIC Inventory & Configuration
58
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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate NICView with the following parameters and syntax:
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_NICView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_NICView AutoNegotiation = 0 BusNumber = 1 ControllerBIOSVersion = 1.3 CurrentMACAddress = 00:21:9B:92:70:57 DataBusWidth = 0002 DeviceNumber = 0 EFIVersion = null FCoEOffloadMode = 3 FCoEWWNN = null FQDD = NIC.Embedded.1-1 FamilyVersion = null FunctionNumber = 0 InstanceID = NIC.Embedded.1-1 LastSystemInventoryTime = 20100413135024 LastUpdateTime = 20100413134727 LinkDuplex = 0 LinkSpeed = 0 MaxBandwidth = 0 MediaType = 4 MinBandwidth = 0 NicMode = 3 PCIDeviceID = 1639 PCISubDeviceID = 236 PCISubVendorID = 1028 PCIVendorID = 14E4 PermanentFCOEMACAddress PermanentMACAddress = 00:21:9B:92:70:57 PermanentiSCSIMACAddress = 00:21:9B:92:70:58 ProductName = Broadcom NetXtreme Gigabit Ethernet - 00:21:9B:92:70:57 ReceiveFlowControl = 0 SlotLength = 0002 SlotType = 0002 TransmitFlowControl = 0
59
VendorName = null WWPN = null iScsiOffloadMode = 3
DCIM_NICView AutoNegotiation = 0 BusNumber = 1 ControllerBIOSVersion = 1.3 CurrentMACAddress = 00:21:9B:92:70:59 DataBusWidth = 000 2 DeviceNumber = 0 EFIVersion = null FCoEOffloadMode = 3 FCoEWWNN = null FQDD = NIC.Embedded.2-1 FamilyVersion = null FunctionNumber = 1 InstanceID = NIC.Embedded.2-1 LastSystemInventoryTime = 20100413135024 LastUpdateTime = 20100413134727 LinkDuplex = 0 LinkSpeed = 0 MaxBandwidth = 0 MediaType = 4 MinBandwidth = 0 NicMode = 3 PCIDeviceID = 1639 PCISubDeviceID = 236 PCISubVendorID = 1028 PCIVendorID = 14E4 PermanentFCOEMACAddress PermanentMACAddress = 00:21:9B:92:70:59 PermanentiSCSIMACAddress = 00:21:9B:92:70:5A ProductName = Broadcom NetXtreme Gigabit Ethernet - 00:21:9B:92:70:59 ReceiveFlowControl = 0 SlotLength = 0002 SlotType = 0002 TransmitFlowControl = 0 VendorName = null WWPN = null iScsiOffloadMode = 3 . . .
9.10 RAID Inventory & Configuration
The RAID profile extends the management capabilities of referencing profiles by adding the capability to represent the configuration of RAID storage. The RAID storage is modeled as collections of attributes where there are collections for the storage adaptors, physical disks, logical disks, end enclosures and parent-child relationships between the collections. Additionally, there is a configuration service that
60
contains all the methods used to configure the RAID storage. See Section 16 for more information, including inventories for PhysicalDiskView, VirtualDiskView, and EnclosureView.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate ControllerView with the following parameters and syntax:
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_ControllerView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_ControllerView Bus = 3 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 SlicedVDCapability = 1
61
9.11 BIOS Inventory & Configuration
The BIOS Management Profile extends the management capabilities of referencing profiles by adding the capability to represent and configure BIOS attributes, such as a Network Controller or IDE
Controller. The individual BIOS attribute’s relationship with a respective device is also described. Additionally, the profile’s registration for the schema implementation version information is described.
See Section 17 for more information, including inventories for BIOSString, and BIOSInteger.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate BIOSEnumeration with the following parameters and syntax:
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_BIOSEnumeration
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_BIOSEnumeration AttributeDisplayName = Memory Operating Voltage AttributeName = MemVolt CurrentValue = AutoVolt Dependency = <Dep><AttrLev Op="OR"><ROIf Op="NOT" Name="SysProfile">Custom</ROIf></AttrLev><ValLev Val="AutoVolt" Op="OR"><ForceIf Name="SysProfile">PerfPerWattOptimizedDapc</ForceIf><ForceIf Name="SysProfile">PerfPerWattOptimizedOs</ForceIf><ForceIf Name="SysProfile">PerfOptimized</ForceIf><SupIf Name="SysProfile">DenseCfgOptimized</SupIf></ValLev><ValLev Val="Volt15V" Op="OR"><ForceIf Name="SysProfile">DenseCfgOptimized</ForceIf><SupIf Name="SysProfile">PerfPerWattOptimizedDapc</SupIf><SupIf Name="SysProfile">PerfPerWattOptimizedOs</SupIf><SupIf Name="SysProfile">PerfOptimized</SupIf></ValLev></Dep> DisplayOrder = 1322 FQDD = BIOS.Setup.1-1 GroupDisplayName = System Profile Settings GroupID = SysProfileSettings 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
62
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 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.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
Enumerate SystemView with the following parameters and syntax:
EXAMPLE:
winrm e http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/ DCIM_SystemView
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_SystemView AssetTag = Testtg BIOSReleaseDate = 09/12/2011 BIOSVersionString = 0.3.22 BaseBoardChassisSlot = NA BatteryRollupStatus = 1
63
BladeGeometry = 4 BoardPartNumber = 0N051FX02 BoardSerialNumber = CN1374092O003M CMCIP = null CPLDVersion = 0.4.7 CPURollupStatus = 1 ChassisName = Main System Chassis ChassisServiceTag = 7654321 ChassisSystemHeight = 2 ExpressServiceCode = 61387326761 FQDD = System.Embedded.1 FanRollupStatus = 3 HostName InstanceID = System.Embedded.1 LastSystemInventoryTime = 20100331101859 LastUpdateTime = 20100325134947 LicensingRollupStatus = 1 LifecycleControllerVersion = 2.0.0 Manufacturer = Dell Inc. MaxCPUSockets = 2 MaxDIMMSlots = 24 MaxPCIeSlots = 3 MemoryOperationMode = OptimizerMode Model = PowerEdge R620 PSRollupStatus = 1 PlatformGUID = 3548474f-c0d3-4680-3810-00374c4c4544 PopulatedCPUSockets = 1 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
64
10 Job Control Management
10.1 Description of Job Management
The Dell Common Information Model (CIM) class extensions for supporting update and attribute configuration job control are defined in the Dell Job Control Profile2 and related MOF files3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be found in Dell Job Control Profile as well.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
10.2 Remote Job Control Examples
10.2.1 Setup Job Queue
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.
EXAMPLE:
winrm invoke SetupJobQueue cimv2/root/dcim/DCIM_JobService ?CreationClassName=DCIM_JobService +Name=JobService+SystemName=Idrac +SystemCreationClassName=DCIM_ComputerSystem
-file:SetupJobQueue.xml
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic -encoding:utf-8
The syntax for SetupJobQueue.xml is:
<p:SetupJobQueue_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_JobService"> <p:JobArray>JID_001249463339</p:JobArray> <p:JobArray>RID_001265817718</p:JobArray>
65
<p:StartTimeInterval>TIME_NOW</p:StartTimeInterval> <p:UntilTime>20100730121500</p:UntilTime> </p:SetupJobQueue_INPUT>
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 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
EXAMPLE 1:
winrm invoke DeleteJobQueue cimv2/root/dcim/DCIM_JobService ?CreationClassName=DCIM_JobService +Name=JobService+SystemName=Idrac +SystemCreationClassName=DCIM_ComputerSystem @{JobID=”[jobID]” }
-u:[USER] -p:[PASSWORD]
66
-r:https://[IPADDRESS]/wsman:443 -auth:basic -encoding:utf-8
The example below uses JID_CLEARALL for the jobID, which is a predefined value that represents “deleting all jobs in the jobstore”.
EXAMPLE 2:
winrm invoke DeleteJobQueue cimv2/root/dcim/DCIM_JobService ?CreationClassName=DCIM_JobService+Name=JobService +SystemName=Idrac +SystemCreationClassName=DCIM_ComputerSystem @{JobID="JID_CLEARALL" }
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -auth:basic -encoding:utf-8 -SkipCACheck –SkipCNCheck
OUTPUT:
Return 0 for success or non-zero for error with messageID and message description.
DeleteJobQueue_OUTPUT Message = The specified job was deleted MessageID = SUP020 ReturnValue = null
An XML syntax error could yield the following message:
Syntax Error: input must be of the form
{KEY="VALUE"[;KEY="VALUE"]}
10.2.3 List Jobs in Job Store
The instances of this class will enumerate jobs in the job store along with status information.
Invoke enumerate job status with the following parameters and syntax:
[JobID]: The JobID of a particular job instance to be queried
To get the status of one particular job, use the following:
EXAMPLE 1:
winrm get http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LifecycleJob ?InstanceID=[JobID]
-r:https://[IPADDRESS]/wsman:443
-u:[USERNAME] -p:[PASSWORD]
-a:basic -encoding:utf-8
To get the status of all jobs, use the following:
EXAMPLE 2:
67
winrm e cimv2/root/dcim/DCIM_LifecycleJob
-u:[USERNAME] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-auth:basic -encoding:utf-8
OUTPUT 1 & 2:
The method either returns a list of Concrete job objects or an error message. Once job instanceID are returned via these status queries, they can be used for job scheduling and setup. Several examples of job objects are shown below.
DCIM_LifecycleJob InstanceID = JID_001275884806 JobStartTime JobStatus = Completed JobUntilTime Message = Detach partition successful MessageArguments = null MessageID = VF038 Name = VFlashDetach:Partition3
DCIM_LifecycleJob InstanceID = RID_001274051062 JobStartTime = 00000101000000 JobStatus = Reboot Completed JobUntilTime = 20100730121500 Message MessageArguments = null MessageID Name = Reboot3
DCIM_LifecycleJob InstanceID = JID_001274140369 JobStartTime = 00000101000000 JobStatus = Completed JobUntilTime = 20111111111111 Message = Job completed successfully MessageArguments = null MessageID = PR19 Name = ConfigRAID:RAID.Integrated.1-1
An error message similar to the following can occur if an invalid JobID is entered:
WSManFault
Message = The WinRM client cannot process the request. The destination computer returned an empty response to the request.
Error number: -2144108299 0x803380F5
The WinRM client cannot process the request. The destination computer returned an empty response to the request.
68
11 Operating System Deployment
The Dell Common Information Model (CIM) class extensions for supporting remote operating system (OS) deployment are defined in the Dell OS Deployment Profile2 and the DCIM_OSDeploymentService MOF file3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be found in Dell OS Deployment Profile as well.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
11.1 OS Deployment Profile Implementation Conformance
Use the following algorithm to test the instrumentation for OS Deployment Profile version conformance and to discover the implementation namespace:
1. Enumerate (namespace=’root/interop’, classname=”CIM_RegisteredProfile”)
2. Filter the returned enumeration using property filter (RegisteredName=”OS Deployment”)
3. Result shall contain one instance of CIM_RegisteredProfile containing property
RegisteredVersion=”1.1.0”
4. Associators (objectpath= “instance returned from step 3”, AssociationClass =
”CIM_ElementConformsToProfile”)
5. Result shall contain one instance of DCIM_OSDeploymentService
11.2 Checking OS Deployment Service Availability
Invoke enumerate with the following syntax:
EXAMPLE:
winrm e cimv2/root/dcim/DCIM_OSDeploymentService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
DCIM_OSDeploymentService CreationClassName = DCIM_OSDeploymentService ElementName = Operating System Deployment Service Name = DCIM:OSDeploymentService SystemCreationClassName = DCIM_ComputerSystem SystemName = DCIM:ComputerSystem
11.3 OS Deployment Method Invocation Examples
69
11.3.1 Get Driver Pack Information
The GetDriverPackInfo() method returns the embedded driver pack version and list of supported OSs for OS deployment that can be installed on the server using the embedded device drivers present in the Lifecycle Controller.
1. Follow the steps listed in Section 11.1 to test for profile conformance.
2. Invoke extrinsic method using the following parameters: a. object path = object path returned from Section 11.1 (profile conformance) b. Method name = “GetDriverPackInfo”
3. Invoke method returns the following output parameters: a. Version = String version b. SupportedOperatingSystems = String array of OS names
4. If the Job output parameter from Step 2 contains a non-null value, then both Version and
OSList contain null values. The next call to GetDriverPackInfo() after the Job is completed will return non-null values for output parameters Version and OSList.
Invoke GetDriverPackInfo() with the following syntax:
EXAMPLE:
winrm i GetDriverPackInfo cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic
OUTPUT:
GetDriverPackInfo_OUTPUT OSList = Microsoft Windows Server 2008 with SP2 , Microsoft Windows Server 2008, x64 with SP2 , Microsoft Windows Server 2008 R2 with SP1 , Microsoft Windows Small Business Server 2011 , Red Hat Enterprise Linux 5 SP7 x86 , Red Hat Enterprise Linux 5 SP7 x64 , Red Hat Enterprise Linux 6 SP1 x64 , SuSE Enterprise Linux 10 SP4 x64 , SuSE Enterprise Linux 11 SP2 x64 , VMware ESX 4.1 U2 , VMware ESXi 4.1 U2 HDD , VMware ESXi 5.0 HDD , Citrix Xen Server 6.0 FP1 HDD
ReturnValue = 0
70
Version = 7.0.0.35
11.3.2 Unpack Selected Drivers and Attach to Host OS as USB Device
This method is used to unpack the drivers for the selected OS to a virtual storage partition, and to then attach this partition to the host OS as an emulated USB storage device.
1. Invoke extrinsic method using the following parameters section: a. object path = object path returned from Section 11.1 (profile conformance) b. Method name = “UnpackAndAttach” c. OSName = “” (Has to be a valid value from the list returned by GetDriverPackInfo) d. ExposureStartTime = “” (for this release the value is NULL) e. ExposureDuration = “” (a string formatted as an interval in CIM_DateTime format)
This parameter denotes the interval of time after which the partition containing OS drivers with label OEMDRV is to be detached from the Host OS
2. Invoke method shall return the following output parameters: a. Job = object path to CIM_ConcreteJob (reports the status of unpack and attach) b. Enumerating this instance of CIM_ConcreteJob will show the status of the current
operation.
Invoke UnpackAndAttach() with the following syntax:
EXAMPLE:
winrm i UnpackAndAttach cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic @{OSName="[OSName]";ExposeDuration="00000000002200.000000:000"}
Above example uses Microsoft Windows Server 2008 with SP2 for OSName.
OUTPUT:
UnpackAndAttach_OUTPUT Job Address = http://schemas.xmlsoap.org/ws
71
/2004/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_OSDConcreteJob
SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
11.3.3 Detach Emulated USB Device Containing Drivers
This method is used to detach the USB device attached to the system by a previous invocation of the UnpackAndAttach() method.
Invoke DetachDrivers() with the following syntax:
EXAMPLE:
winrm i DetachDrivers cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 –encoding:utf-8 -a:basic
OUTPUT:
The return will be 0 for success or an integer for error or job in execution. An error message containing a MessageID and Message similar to the following can occur if the system is waiting to finish a previously invoked method:
DetachDrivers_OUTPUT Message = Unable to retrieve Lifecycle Controller handle MessageID = OSD7 ReturnValue = 2
11.3.4 Unpack Selected Drivers and Copy to Network Share
The UnpackAndShare() method is used to unpack the drivers for the selected OS and copy them to a specified network share; CIFS and NFS network share technologies are supported.
Note that the values for the CIFSUSER and CIFSPASSWORD must be alphanumeric characters, and must not contain special characters.
Invoke UnpackAndShare() with the following syntax:
[CIFS_IPADDRESS]: This is the IP address of the file server.
72
[DRIVESHARE]: This is the directory path to the drivers.
[CIFS_USERNAME]: This is the username to the file share.
[CIFS_PASSWORD]: This is the password to the file share.
[OSName]: This example uses Windows Server® 2003 SP2.
[NFS_Password]: This is the corresponding password to the username containing the ISO
EXAMPLE:
winrm i UnpackAndShare cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]:443/wsman
-encoding:utf-8 -a:basic @{IPAddress="[CIFS_IPADDRESS]";ShareName="/[DRIVERSHARE]";ShareType="2";Username="[CIFS_USERN AME]";Password="[CIFS_PASSWORD]";OSName="Microsoft Windows Server 2008 with SP2"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
UnpackAndShare_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_OSDConcreteJob
SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
A missing command line character, such as a “{“, could result in the following syntax error:
Syntax Error: input must be of the form {KEY="VALUE"[;KEY="VALUE"]}
11.3.5 Check Job Status
The following methodology is used to determine the status of the jobs generated by the invocation of the UnpackAndAttach() and UnpackAndShare() methods. The methodology involves enumerating the DCIM_OSDConcreteJob instances, and checking the JobStatus property value.
73
When the jobs are complete, the JobStatus property value will be “Successful” if the job completed successfully or “Failed” if an error occurred while executing the request. If the job failed, the Message
property on the returned DCIM_OSDConcreteJob instance will contain more detailed error information on the cause of the failure.
For the Lifecycle Controller version of the OS Deployment Profile there is only one instance of a job generated by various method invocations, and it will persist until the next method that generates a job is invoked. The job must complete before another method that generates a job can be called successfully. This is unchanged from the Lifecycle Controller 1.2 for OS Deployment.
Invoke enumerate DCIM_OSDConcreteJob instance with the following syntax:
EXAMPLE:
winrm e cimv2/root/DCIM/DCIM_OSDConcreteJob
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -encoding:utf-8 -a:basic
OUTPUT:
The enumeration will return the instances of OSDConcreteJob as shown:
DCIM_OSDConcreteJob DeleteOnCompletion = false InstanceID = DCIM_OSDConcreteJob:1 JobName = UnpackAndShare JobStatus = Failed Message = Installation not supported for the selected operating system MessageID = OSD10 Name = UnpackAndShare
11.3.6 Boot to Network ISO
The BootToNetworkISO() method can be used to boot the target system to a bootable ISO image located on a CIFS or NFS share. The ISO image is attached to the host system as an emulated USB CD­ROM storage device. By default the ISO will be attached for around 18 hrs after which it will be detached automatically. An optional parameter ExposeDuration can be used to specify a time less than 18 hrs if the ISO needs to be detached sooner.
Invoke BootToNetworkISO() via NFS share with the following syntax:
[NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/NFS/OSISO]: This is the directory path to the ISO image.
[NFS_Username]: This is the username to the IP address of the ISO image.
[NFS_Password]: This is the corresponding password to the username containing the ISO image.
74
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
EXAMPLE:
winrm i BootToNetworkISO cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u: [USER] -p: [PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck
-encoding:utf-8 -a:basic @{IPAddress="[NFS_IPaddress]";ShareName="[/NFS/OSISO]";ShareType="0"; Username="[NFS_Username]";Password="[NFS_Password]"; Workgroup="WORKGROUP";ImageName="[OS.ISO]"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
BootToNetworkISO_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_OSDConcreteJob
SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
The following error message is a caused by a typo in the WinRM input. Careful attention must be paid to the input capitalization of the attributes.
WSManFault
Message = The WinRM client cannot process the request. The destination computer returned an empty response to the request.
Error number: -2144108299 0x803380F5
The WinRM client cannot process the request. The destination computer returned an empty response to the request.
11.3.7 Detach Network ISO USB Device
75
This method is used to detach the emulated USB device that had been attached by previously calling the BootToNetworkISO() method.
Invoke DetachISOImage() with the following syntax:
EXAMPLE:
winrm i DetachISOImage cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
The method will return 0 for success or an integer for error or job in execution. An error such as the following can occur if an ISO image is not attached.
DetachISOImage_OUTPUT Message = ISO image is not attached MessageID = OSD32 ReturnValue = 2
11.3.8 Boot To PXE
The BootToPXE() method is used to boot to server using the PXE mechanism, which is to reboot the host server and boot to PXE.
Invoke to boot target system to PXE with the following syntax:
EXAMPLE:
winrm i BootToPXE cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
OUTPUT:
BootToPXE_OUTPUT ReturnValue = 0
76
11.3.9 Get Host MAC Address Information
Invoke GethostMACInfo() with the following syntax:
EXAMPLE:
winrm i GetHostMACInfo cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -encoding:utf-8 -a:basic
OUTPUT:
The return will be 0 for success and a list of MAC addresses or an integer for error or job in execution. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
GetHostMACInfo_OUTPUT MACList = 00219b927057, 00219b927059, 00219b92705b, 00219b92705d ReturnValue = 0
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. Once this image is downloaded to VFlash, it can be booted via another WS-MAN command.
Invoke DownloadISOToVFlash() with the following parameters and syntax:
[IPADDRESS-ISO]: The IP address of the server that stores ISO images.
[DRIVESHARE]: This is the directory path to the ISO image. [SHARETYPE]: The type of the remote storage. 0: NFS, 1: TFTP, 2: CIFS [SHAREUSER]: User account for the ISO share location [SHAREPASSWORD]: Password of the share account [WORKGROUP]: Applicable workgroup [IMAGENAME]: Image name of the iso image, such as boot.iso. [Port]: Port number for connecting to the share, such as 2049.
77
EXAMPLE:
winrm i DownloadISOToVFlash cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -encoding:utf-8 -a:basic @{IPAddress=[IPADDESS­ISO];ShareName="/[DRIVESHARE]"; ShareType="[SHARETYPE]";Username=[SHAREUSER]; Password=[SHAREPASSWORD];Workgroup="[WORKGROUP]"; ImageName=”[IMAGENAME]”;Port=”[PORT]”}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
DownloadISOToVFlash_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08 /addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim /1/cim-schema/2/DCIM_OSDConcreteJob SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
The following error message is a direct result of a typo in the winRM input. Careful consideration must be applied to capitalization.
WSManFault
Message = The WinRM client cannot process the request. The destination computer returned an empty response to the request.
Error number: -2144108299 0x803380F5
The WinRM client cannot process the request. The destination computer returned an empty response to the request.
11.3.11 Boot to ISO from VFlash
This method will expose the ISO Image present on VFlash as a CDROM device to the host server and boots to it.
78
Invoke BootToISOFromVFlash() with the following syntax:
EXAMPLE:
winrm i BootToISOFromVFlash cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -encoding:utf-8 -a:basic
OUTPUT:
When this command is executed, a status or error message will be returned.
BootToISOFromVFlash_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08 /addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim /1/cim-schema/2/DCIM_OSDConcreteJob SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
11.3.12 Delete ISO from VFlash
The DeleteISOFromVFlash() method will delete the ISO image that was downloaded to the VFlash.
Invoke DeleteISOFromVFlash() with the following syntax:
EXAMPLE:
winrm i DeleteISOFromVFlash cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USERNAME] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
When this command is executed, a status or error message will be returned. If an image is not found
the following message will display:
79
DeleteISOFromVFlash_OUTPUT Message = ISO Image not found on VFlash MessageID = OSD41 ReturnValue = 2
11.3.13 Detach ISO from VFlash
The DetachISOFromVFlash() method will detach the ISO image in the VFlash from the system.
Invoke DetachISOFromVFlash() with the following syntax:
EXAMPLE:
winrm i DetachISOFromVFlash cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
When this command is executed, a status or error message will be returned. If an image is not found
the following message will display:
DetachISOFromVFlash_OUTPUT Message = Unable to detach ISO image on VFlash MessageID = OSD44 ReturnValue = 2
11.3.14 Connect Network ISO Image
This method can be used to connect to a bootable ISO image located on a CIFS or NFS share. The ISO image is attached to the host system as an emulated USB CD-ROM storage device. Whenever the host system reboots it will boot to this ISO Image every single time until DisconnectNetworkISOImage is called. The ISO will be reattached upon iDRAC reset.
Invoke ConnectNetworkISOImage() via CIFS/NFS share with the following syntax:
[CIFS_or_NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/CIFS_or_NFS/OSISO]: This is the sharename directory path to the ISO image.
[2_or_0]: 2=CIFS, 0=NFS
80
[CIFS_or_NFS_Username]: This is the username to the IP address of the ISO image.
[CIFS_or_NFS_Password]: This is the corresponding password to the username containing the ISO
image.
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
EXAMPLE:
winrm i ConnectNetworkISOImage http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck
-SkipCACheck -encoding:utf-8 -a:basic @{IPAddress="[CIFS_or_NFS_IPaddress]";ShareName="/[CIFS_or_NFS]";ShareType="[2_or_0]";Username=" [CIFS_or_NFS_Username]"; Password="[CIFS_or_NFS_Password]";Workgroup="WORKGROUP"; ImageName="[OS.ISO]"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
ConnectNetworkISOImage_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_OSDConcreteJob
SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
11.3.15 Disconnect Network ISO Image
This method can be used to disconnect the target system from a bootable ISO image located on a CIFS or NFS share.
Invoke DisconnectNetworkISOImage() with the following syntax:
81
EXAMPLE:
winrm i DisconnectNetworkISOImage http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
DisconnectNetworkISOImage_OUTPUT ReturnValue = 0
11.3.16 Skip ISO Image Boot
This method can be used to skip the target system from booting to a bootable ISO image (connected using ConnectNetworkISOImage method) one time only for next immediate host reboot. After that host server will continue to boot to the ISO image.
Invoke SkipISOImageBoot() via NFS share with the following syntax:
EXAMPLE:
winrm i SkipISOImageBoot http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService
+Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
Shown below are return messages of failure and success, 2 and 0, respectively. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
Failure:
SkipISOImageBoot_OUTPUT Message = ISO image is not attached MessageID = OSD32 ReturnValue = 2
82
Success:
SkipISOImageBoot_OUTPUT ReturnValue = 0
11.3.17 Get Network ISO Image Connection Information
This method outputs the ISO connection status of the image that has been exposed to the host. Invoke GetNetworkISOImageConnectionInfo() with the following syntax:
EXAMPLE:
winrm i GetNetworkISOImageConnectionInfo cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
GetNetworkISOImageConnectionInfo_OUTPUT Message = ISO image is not attached MessageID = OSD32 ReturnValue = 2
11.3.18 Connect RFS ISO Image
The ConnectRFSISOImage() method is used to connect the ISO image that is mounted through Remote File Share (RFS) and is exposed to the host system as a USB-based CD-ROM device. The successful execution of this method shall connect to the ISO located on NFS/CIFS share to the host server and expose it as a virtual CDROM device using RFS USB endpoint. The successful execution of the method shall not change the boot order of that device. In order to boot to the CD-ROM, the CD-ROM shall be configured in the boot order in a separate step (using BIOS and Boot Management Profile), and the host server shall boot to the CD-ROM. Unlike the ConnectNetworkISOImage() method, the Lifecycle Controller is not locked and may perform other management tasks.
Invoke ConnectRFSISOImage() with the following syntax:
[IPADDRESS-ISO]: The IP address of the server that stores ISO images.
[DRIVESHARE]: This is the directory path to the ISO image. [SHARETYPE]: The type of the remote storage. 0: NFS, 2: CIFS
83
[SHAREUSER]: User account for the ISO share location [SHAREPASSWORD]: Password of the share account [WORKGROUP]: Applicable workgroup [IMAGENAME]: Image name of the iso image, such as boot.iso.
EXAMPLE:
winrm i ConnectRFSISOImage cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -encoding:utf-8 -a:basic @{IPAddress=[IPADDESS­ISO];ShareName="/[DRIVESHARE]"; ShareType="[SHARETYPE]";Username=[SHAREUSER]; Password=[SHAREPASSWORD];Workgroup="[WORKGROUP]";
ImageName=”[IMAGENAME]”}
OUTPUT:
ConnectRFSISOImage_OUTPUT Job EndpointReference Address = http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_OSDConcreteJob SelectorSet InstanceID = DCIM_OSDConcreteJob:1 __cimnamespace = root/dcim ReturnValue = 4096
Concrete jobs return 4096 upon successful invocation. Poll for the concrete job “JobStatus = Success”.
11.3.19 Disconnect RFS ISO Image
The DisconnectRFSISOImage() method is used to disconnect and detach the ISO Image that is mounted through Remote File Share (RFS) and is exposed to the host system as a USB-based CD-ROM device.
Invoke DisconnectRFSISOImage() with the following syntax:
EXAMPLE:
winrm i DisconnectRFSISOImage
84
cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
DisconnectRFSISOImage_OUTPUT ReturnValue = 0
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 exposed to the host system.
Invoke GetRFSISOImageConnectionInfo() with the following syntax:
EXAMPLE:
winrm i GetRFSISOImageConnectionInfo cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
-encoding:utf-8 -a:basic
OUTPUT:
GetRFSISOImageConnectionInfo_OUTPUT Message = Unable to connect to ISO using RFS. MessageID = OSD60 ReturnValue = 2
A return value of 0 indicates success, while the above output indicates an image was not present to retrieve the connection information from.
11.3.21 Boot To Hard Drive (HD)
The BootToHD() method is used for one time boot to the host server’s hard disk. After this method is executed thye host is rebooted immediately and will boot to the first configured hard disk irrespective of its boot order.
Invoke BootToHD() with the following syntax:
85
EXAMPLE:
winrm i BootToHD cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
OUTPUT:
BootToHD_OUTPUT ReturnValue = 0
11.3.22 Configurarable Boot to Network ISO
This method was added during the LC2 Version 1.1 release.
The ConfigurableBootToNetworkISO() works similar to BootToNetworkISO() except that the immediate boot to the ISO is not automatic and controlled by an input parameter called ResetType which will enable you to do a warm reset or cold reset or no immediate reset.
Invoke ConfigurableBootToNetworkISO () via NFS share with the following syntax:
[NFS_IPADDRESS]: This is the IP address of the location of the ISO image.
[/NFS/OSISO]: This is the directory path to the ISO image.
[NFS_Username]: This is the username to the IP address of the ISO image.
[NFS_Password]: This is the corresponding password to the username containing the ISO image.
[OS.ISO]: This is to be replaced by the actual name of the ISO image.
[RESET_TYPE]: 0=No reset, 1=warm reset 2=cold reset
EXAMPLE:
winrm i ConfigurableBootToNetworkISO cimv2/root/dcim/DCIM_OSDeploymentService ?CreationClassName=DCIM_OSDeploymentService +Name=DCIM:OSDeploymentService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u: [USER] -p: [PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck
-encoding:utf-8 -a:basic @{IPAddress="[NFS_IPaddress]";ShareName="[/NFS/OSISO]";ShareType="0"; Username="[NFS_Username]";Password="[NFS_Password]" ;ResetType="[RESET_TYPE]";
86
Workgroup="WORKGROUP";ImageName="[OS.ISO]"}
OUTPUT:
The return will be 0 for success or 1 if an error occurred in starting the processing the input parameters. The MessageID and Message output parameters will further contain method invocation information if an error occurred.
ConfigurableBootToNetworkISO_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_OSDConcreteJob
SelectorSet Selector: InstanceID = DCIM_OSDConcreteJob:1, __cimnamespace = root/dcim ReturnValue = 4096
12 Lifecycle Controller Management Profile
The LC Management Profile describes the LC attribute configuration service and the collections and attributes instances that the service manages. The profile also describes the relationship of the LC attribute service to the DMTF/Dell profile version information and Dell Job Control profile.
The Dell Common Information Model (CIM) class extensions for supporting Lifecycle Controller feature management are defined in the Dell LC Management2 and related MOF files3. The diagrams representing the classes that are implemented by the Lifecycle Controller firmware can be found in Dell LC Management Profile.
Profile and Associated MOFs:
http://www.delltechcenter.com/page/DCIM.Library.Profile
12.1 Collect System Inventory on Restart (CSIOR)
By default, ‘collect system inventory on restart’ is disabled. To enable this feature, utilize the
SetAttribute() method in the following example.
NOTE: To query the system to determine when the last CSIOR event occurred, list system inventory and examine the LastSystemInventoryTime attribute.
The Collect System Inventory on Restart attribute flags whether the system should do an automatic inventory or not. To get the current status of this attribute, see Section 12.3. The values can be:
87
Disabled (default) = Disallow collecting inventory on restart  Enabled = Allow collecting system inventory on restart
The Part Firmware Update attribute flags whether the Part Replacement automatic firmware update performed. The values can be:
Disable (default) = firmware update is not allowed  Allow version upgrade only = Allow firmware update only on up-revision  Match firmware of replaced part = Always update firmware
The example below configures the Part Replacement feature to allow upgrade only and for the
automatic synchronization to be on.
Invoke SetAttribute() with the following parameters and syntax:
EXAMPLE 1:
winrm i SetAttribute http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-file:[DIRECTORYPATH]\SetAttribute_LC.xml
-r:https://[IPADDRESS]:443/wsman
-u:[USER] -p:[PASSWORD]
-auth:basic -encoding:utf-8
-SkipCNCheck -SkipCACheck
The input file SetAttribute_LC.xml is shown below:
<p:SetAttribute_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:AttributeName>Part Firmware Update</p:AttributeName> <p:AttributeValue>Allow version upgrade only</p:AttributeValue> </p:SetAttribute_INPUT>
This method is used to set the values of multiple attributes.
Invoke SetAttributes() with the following parameters and syntax:
EXAMPLE 2:
winrm i SetAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-file:[DIRECTORYPATH]\SetAttributes_LC.xml
88
-r:https://[IPADDRESS]:443/wsman
-u:[USER] -p:[PASSWORD]
-auth:basic -encoding:utf-8
-SkipCNCheck -SkipCACheck
The input file SetAttributes_LC.xml is shown below:
<p:SetAttributes_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:AttributeName>Part Firmware Update</p:AttributeName> <p:AttributeValue>Allow version upgrade only</p:AttributeValue> <p:AttributeName>Collect System Inventory on Restart </p:AttributeName> <p:AttributeValue>Enabled</p:AttributeValue> </p:SetAttributes_INPUT>
OUTPUT:
SetAttribute_OUTPUT RebootRequired = No ReturnValue = 0 SetResult = Set PendingValue
12.2 Part Replacement Configuration and Management
If the SetAttribute[s]() method has been invoked, the pending values must be applied by creating a configuration job. The CreateConfigJob() method in the DCIM_LCService class creates a configuration job and executes it at the specified time.
12.2.1 Create Config Job
Invoke CreateConfigJob() with the following parameters and syntax:
EXAMPLE:
winrm i CreateConfigJob http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem+Name=DCIM:LCService
-file:[DIRECTORYPATH]\CreateConfigJob.xml
-r:https://[IPADDRESS]:443/wsman
-u:[USER] -p:[PASSWORD] -auth:basic -encoding:utf-8
-SkipCNCheck -SkipCACheck
The input file CreateConfigJob.xml is shown below:
<p:CreateConfigJob_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:ScheduledStartTime>00000000002200.000000:000</p:ScheduledStartTime> <p:RebootIfRequired>false</p:RebootIfRequired> </p:CreateConfigJob_INPUT>
89
The above command will schedule the job at 10pm. To poll for job completion, enumerate the DCIM_LifecycleJob job instance.
OUTPUT:
CreateConfigJob_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004
/08/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim
/1/cim-schema/2/DCIM_LifecycleJob
SelectorSet Selector: InstanceID = JID_001265982202, __cimnamespace = root/dcim ReturnValue = 0
To get the status of the above jobID or list all jobIDs, see 12.2.2 and 12.2.3, respectively.
12.2.2 Get LC Config Job Status
EXAMPLE:
winrm g http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob ?__cimnamespace=root/dcim +InstanceID=JID_001265982202
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]:wsman -encoding:utf-8
-a:basic -SkipCNCheck -SkipCACheck
The method either returns a list of Concrete job objects or an error message. Check for the JobStatus property equal to Completed (shown below) to know the set has been completed.
OUTPUT:
DCIM_LifecycleJob InstanceID = JID_001265982202 JobStartTime = 20191010101010 JobStatus = COMPLETED JobUntilTime = 2009:8:11 Message = The command was successful MessageArguments = null MessageID = LC001 Name = LC Config
12.2.3 List All LC Jobs
EXAMPLE:
90
winrm e http://schemas.dell.com/wbem/wscim/1/cim-schema/2/DCIM_LifecycleJob ?__cimnamespace=root/dcim
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -encoding:utf-8
-a:basic -SkipCNCheck -SkipCACheck
OUTPUT:
DCIM_LifecycleJob InstanceID = JID_001272324322 JobStartTime JobStatus = Completed JobUntilTime Message = Detach partition successful MessageArguments = null MessageID = VF038 Name = VFlashDetach:Partition1
DCIM_LifecycleJob InstanceID = JID_001273099184 JobStartTime = 20191010101010 JobStatus = COMPLETED JobUntilTime = 2009:8:11 Message = The command was successful MessageArguments = null MessageID = LC001 Name = LC Config . . .
12.2.4 Get CSIOR Component Configuration Recovery (CCR) Attribute
The Component Configuration Recovery (CCR) attributes are:
• Licensed
• Part Firmware Update
• Collect System Inventory on Restart (CSIOR)
• Part Configuration Update
Get the current CSIOR attribute setting as follows:
EXAMPLE 1:
winrm g cimv2/root/dcim/DCIM_LCEnumeration ?InstanceID=LifecycleController.Embedded.1#LCAttributes.1#CollectSystemInventoryOnRestart
-u:[USERNAME] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic
NOTE: For 11G, InstanceID=DCIM_LCEnumeration:CCR5
91
OUTPUT:
DCIM_LCEnumeration AttributeName = Collect System Inventory on Restart CurrentValue = Disabled DefaultValue = Enabled ElementName = LC.emb.1 InstanceID = LifecycleController.Embedded.1#LCAttributes.1#CollectSystemInventoryOnRestart IsReadOnly = false PendingValue = null PossibleValues = Enabled, Disabled
12.2.5 Get Part Firmware Update Attribute
Get the current Part Replacement firmware update mode as follows:
EXAMPLE:
winrm g http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LCEnumeration ?InstanceID=LifecycleController.Embedded.1#LCAttributes.1#PartFirmwareUpdate
-u:[USERNAME] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic
NOTE: For 11G, InstanceID=DCIM_LCEnumeration:CCR4
OUTPUT:
DCIM_LCEnumeration AttributeName = Part Firmware Update CurrentValue = Allow version upgrade only DefaultValue = Disable ElementName = LC.emb.1 InstanceID = LifecycleController.Embedded.1#LCAttributes.1#PartFirmwareUpdate IsReadOnly = false PendingValue = null PossibleValues = Disable, Allow version upgrade only, Match firmware of replaced part
See Section 12.5 to get the status on whether there is a valid VFlash License on the system.
12.3 Re-Initiate Auto-Discovery Client
Invoke the ReInitiateDHS() method to re-initialize and restart the Auto-Discovery client. All
configuration information is replaced with the auto discovery factory defaults. Auto discovery can be disabled, enabled and initiated immediately, or delayed until next power cycle.
Invoke ReInitiateDHS() with the following parameters and syntax:
92
[PS_IP_ADDRESS]: Substitution will need to be replaced with the actual IP address(s) or DNS
name(s) of the Provisioning Server(s).
PerformAutoDiscovery:
1 = off (disables auto discovery)
2 = Now (enables and initiates auto discovery immediately )
3 = NextBoot (delay reconfiguration & auto discovery until next power cycle)
EXAMPLE:
winrm i ReInitiateDHS cimv2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem+Name=DCIM:LCService
-u:[USERNAME] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic -file:ReInitiateDHS.xml
The input file ReInitiateDHS.xml containing the parameters for the ReInitiateDHS method is shown below:
<p:ReInitiateDHS_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:ProvisioningServer>[PS_IP_ADDRESS]</p:ProvisioningServer> <p:ResetToFactoryDefaults>TRUE</p:ResetToFactoryDefaults> <p:PerformAutoDiscovery>3</p:PerformAutoDiscovery> </p:ReInitiateDHS_INPUT>
OUTPUT:
The output is status 0 for successfully set or an error message.
ReInitiateDHS_OUTPUT ReturnValue = 0
12.4 Clear or Set Provisioning Server
The Provisioning Server name (or a group names) can be cleared by invoking the
ClearProvisioningServer() method on the DCIM_LCService class.
Configuring the Provisioning Server name(s)
EXAMPLE-A:
winrm i ClearProvisioningServer cimv2/root/dcim/DCIM_LCService ?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService
93
+SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:[USERNAME] -p:[PASSWORD] -r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic
OUTPUT-A:
This method will return status 0 or error message.
ClearProvisioningServer_OUTPUT ReturnValue = 0
Setting the Provisioning Server name or IP address for the provisioning service
The Provisioning Server name and/or IP Addresses can be set by invoking the SetAttribute() method of the DCIM_LCService class.
[PS_IP_ADDRESS]: Substitution will need to be replaced with the actual IP address(s) or DNS
name(s) of the Provisioning Server(s).
EXAMPLE-B:
winrm i SetAttribute cimv2/root/dcim/DCIM_LCService ?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem+Name=DCIM:LCService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -encoding:utf-8
-a:basic -file:SetProvisioningServer.xml
The input file SetProvisioningServer.xml is shown below:
<p:SetAttribute_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:AttributeName>Provisioning Server</p:AttributeName> <p:AttributeValue>[PS_IP_ADDRESS]</p:AttributeValue> </p:SetAttribute_INPUT>
OUTPUT-B:
This method will return status 0 or error message.
SetAttribute_OUTPUT RebootRequired = No ReturnValue = 0 SetResult = Set CurrentValue
94
12.5 Check VFlash License Enablement
The following command can be used to check VFlash License enablement. Features such as Part Replacement, downloading ISO image to VFlash, or booting from VFlash are licensed features and require Dell VFlash SD Card to be inserted in order to function.
EXAMPLE:
winrm g cimv2/root/dcim/DCIM_LCEnumeration ?InstanceID=LifecycleController.Embedded.1#LCAttributes.1#Licensed
-u:[USER] -p:[PASSWORD] -r:_https://[IPADDRESS]/wsman:443
-encoding:utf-8 -a:basic
NOTE: For 11G, InstanceID=DCIM_LCEnumeration:CCR1
OUTPUT:
This ‘get’ command will return the instance of the DCIM_LCEnumeration attribute class. The CurrentValue property will contain “True” (yes) or “False” (no) indicating whether features dependent on the presence of the VFlash SD card are enabled.
DCIM_LCEnumeration AttributeName = Licensed CurrentValue = Yes DefaultValue = No ElementName = LC.emb.1 InstanceID = LifecycleController.Embedded.1#LCAttributes.1#Licensed IsReadOnly = true PendingValue PossibleValues = Yes, No
12.6 Download Server Public Key
This method is used to download the server public key to the Lifecycle Controller. A base64 encoded string containing the certificate authentication (CA) content is required as the input.
Invoke DownloadServerPublicKey() with the following parameters and syntax:
EXAMPLE:
winrm i DownloadServerPublicKey http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?CreationClassName=DCIM_LCService +Name=DCIM:LCService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443
-SkipCNCheck -SkipCACheck -encoding:utf-8
-a:basic -file:DownloadServerPublicKey.xml
95
The input file DownloadServerPublicKey.xml is shown below:
<p:DownloadServerPublicKey_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:KeyContent>
-----BEGIN CERTIFICATE-----
MIIEQjCCA6ugAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzTELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAlRYMRQwEgYDVQQHEwtNYWluIFN0cmVldDEVMBMGA1UEChMMSm9l . . . qvoMCKtoqLnGBByj/H2vyN7Fe/zMKXD5pO6XwYddGfA66w3HGUaR0+fIKD40NDi9 bKFEMxbRxZysUUzuKZ9c+RAlZUiLrqzemfX3fn1Yp7k05KU9vHY=
-----END CERTIFICATE-----</p:KeyContent>
</p:DownloadServerPublicKey_INPUT>
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.
DownloadServerPublicKey_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08
/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem/wscim/
1/cim-schema/2/DCIM_LifecycleJob
SelectorSet Selector: InstanceID = JID_001269440883, __cimnamespace = root/dcim ReturnValue = 0
12.7 Download Client Certificates
This method is used to download the client private certificate, password, and root certificate to Lifecycle Controller. A base64 encoded string containing the certificate authentication (CA) private key content is required as input.
Invoke DownloadClientCerts() with the following parameters and syntax:
EXAMPLE:
winrm i DownloadClientCerts http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?CreationClassName=DCIM_LCService +Name=DCIM:LCService +SystemCreationClassName=DCIM_ComputerSystem +SystemName=DCIM:ComputerSystem
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman:443 -SkipCNCheck -SkipCACheck
96
-encoding:utf-8 -a:basic -file:DownloadClientCerts.xml
The input file DownloadClientCerts.xml is shown below:
<p:DownloadClientCerts_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:KeyContent>-----BEGIN RSA PRIVATE KEY----­Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,5FD6D6131DFA5A86 ulG9hRgOIkoJJkMBk95Zi8H5KnZkNUnPnqPHQlNco9WzKyINR1FbcIIAU9ToUJOM SnSSlA8fRBtJXZZVBA+KAt+34lvO/FEAijSOzKMW1nA+CUuzCFM7t3P+3kmD+o6a . . . DfcwL1vaburBpaOmj5HIBvGLzcWEz5iTuzc1AiU09dacT8/UyrO8KAVp5zu0b8bP BGUQbNBUqKsCPTKnNSNaDb+j0sQYB66B+9yZtaLPfdWkvob93oUUwj+CxTlxLGqe
-----END RSA PRIVATE KEY-----
</p:KeyContent> <p:Password>[PASSWORD HERE]</p:Password> <p:CAContent>-----BEGIN CERTIFICATE----­MIIE2zCCA8OgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAlRYMRQwEgYDVQQHEwtNYWluIFN0cmVldDEVMBMGA1UEChMMSm9l . . . 8o5kZK8xCaSQ9UQKdH5z6sUasj8DYk6pXndgWIV5Wc9JfsN3+dratX3lrpoPJPhk N1hTdXHYiDjLwSg79yIkIJP1qZ5gdaeJ1jUYJBehRDQ+X7HxWN2VNk+ZlNvYyZc=
-----END CERTIFICATE-----
</p:CAContent> </p:DownloadClientCerts_INPUT>
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.
DownloadClientCerts_OUTPUT Job Address = http://schemas.xmlsoap.org/ws/2004/08
/addressing/role/anonymous
ReferenceParameters ResourceURI = http://schemas.dell.com/wbem
/wscim/1/cim-schema/2/DCIM_LifecycleJob
SelectorSet Selector: InstanceID = JID_001269440659, __cimnamespace = root/dcim ReturnValue = 0
12.8 Delete Auto-Discovery Client Certificates
This method is used to delete the client certificates set previously by the auto discovery method.
Invoke DeleteAutoDiscoveryClientCerts() with the following parameters and syntax:
97
EXAMPLE:
winrm i DeleteAutoDiscoveryClientCerts
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:%USERNAME% -p:%PASSWORD%
-r:https://%IPADDRESS%/wsman
-encoding:utf-8 -a:basic -SkipCACheck -SkipCNCheck -skiprevocationcheck
OUTPUT:
DeleteAutoDiscoveryClientCerts_OUTPUT ReturnValue = 0
12.9 Set Public Certificates
This method is used to update a public SSL Certificate on the iDRAC.
Invoke SetPublicCertificate() with the following parameters and syntax:
Type: Specifies certificate service
directoryCA = certificate for Active Directory or LDAP server
EXAMPLE:
winrm i SetPublicCertificate http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file:SetPublicCertificate.xml
The input file SetPublicCertificate.xml is shown below:
<p:SetPublicCertificate_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:Type>directoryCA</p:Type> <p:Certificate>
-----BEGIN CERTIFICATE-----
MIID9DCCA12gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBszELMAkGA1UEBhMCVVMx CzAJBgNVBAgTAlRYMQ8wDQYDVQQHEwZBdXN0aW4xDTALBgNVBAoTBERlbGwxFjAU . . . H/ea71Ltbr/Au2QFhqcHkeUEbQ4qXSXTmDEgeKAImKjoCAaWHcDqEwvUcxGI4ekG LaUEGQhQIcLe+03RDp05j+YPoIv/N10OGMflhWg/lJ3EoV1Zba2tXnCp8XvCukJC
98
ROncFRPIp7c=
-----END CERTIFICATE-----
</p:Certificate> </p:SetPublicCertificate_INPUT>
OUTPUT:
SetPublicCertificate_OUTPUT ReturnValue = 0
12.10 Set iDRAC Certificate and Private Key
This method is used to update an iDRAC certificate and private key pairs using the contents of a PKCS#12 file.
Invoke SetCertificateAndPrivateKey() with the following parameters and syntax:
Type: Specifies the service the certificate is for:
server = web server
PKCS12: Represents the base64 encoded contents of PKCS#12 file to upload. Note this is the
contents of the file and not a filename.
PKCS12pin: Password to decode the PKCS12
EXAMPLE:
winrm i SetCertificateAndPrivateKey http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
-encoding:utf-8 -a:basic -file: SetCertificateAndPrivateKey.xml
The input file SetCertificateAndPrivateKey.xml is shown below:
<p:SetCertificateAndPrivateKey_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_LCService"> <p:Type>server</p:Type> <p:PKCS12> MIIPUQIBAzCCDxcGCSqGSIb3DQEHAaCCDwgEgg8EMIIPADCCBTcGCSqGSIb3DQEH BqCCBSgwggUkAgEAMIIFHQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQIySf0 . . . CSqGSIb3DQEJFTEWBBQQycEruoYBo9ayA3csqSZO6x70NTAxMCEwCQYFKw4DAhoF AAQU+yOoD76JK1t4yzDgnOE562Cv9AQECM9hIXYFEgiLAgIIAA==
99
</p:PKCS12> <p:PKCS12pin>1234567</p:PKCS12pin> </p:SetCertificateAndPrivateKey_INPUT>
OUTPUT:
SetCertificateAndPrivateKey_OUTPUT Message = Server certificate successfully modified, iDRAC will now reset and be unavailable for a few minutes MessageID = LC018 ReturnValue = 0
12.11 Delete Auto-Discovery Server Public Key
This method is used to delete the public server key set previously by the set auto discovery method.
Invoke DeleteAutoDiscoveryServerPublicKey() with the following parameters and syntax:
EXAMPLE:
winrm i DeleteAutoDiscoveryServerPublicKey cimv2/root/dcim/DCIM_LCService ?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman
-encoding:utf-8 -a:basic -SkipCACheck -SkipCNCheck
OUTPUT:
DeleteAutoDiscoveryServerPublicKey_OUTPUT ReturnValue = 0
12.12 Insert Comment in Lifecycle Controller Log
This method is used to insert additional user comments into the Lifecycle Controller log.
Invoke InsertCommentInLCLog() with the following parameters and syntax:
Comment: Replace INSERT COMMENT HERE with desired comment in this location
EXAMPLE:
winrm i InsertCommentInLCLog
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/root/dcim/DCIM_LCService
?SystemCreationClassName=DCIM_ComputerSystem +CreationClassName=DCIM_LCService +SystemName=DCIM:ComputerSystem +Name=DCIM:LCService
-u:[USER] -p:[PASSWORD]
-r:https://[IPADDRESS]/wsman -SkipCNcheck -SkipCAcheck
100
Loading...