Dell Lifecycle Controller 2 Practices Guide

Lifecycle Controller IntegrationBest Practices Specification
Lifecycle Controller Integration―Best Practices Specification
A Dell Technical White Paper
Steven Zessin Ganesh Viswanathan Zhan Liu Ajay Shenoy
1
Lifecycle Controller IntegrationBest Practices Specification
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.
© 2013 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 the DELL badge, PowerConnect, and PowerVault are trademarks of Dell Inc. Microsoft and WinRM 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 Inc. disclaims any proprietary interest in trademarks and trade names other than its own.
December 2013| Rev 1.2.00
2
Lifecycle Controller IntegrationBest Practices Specification
Contents
1 Contents ............................................................................................................ 12
1.1 How to Use this Document ............................................................................ 12
1.2 Using the Sample Scripts .............................................................................. 12
1.3 Improving winRM Enumeration Performance ....................................................... 12
1.4 Feature Discovery Procedure ......................................................................... 13
1.5 Profile Revision Number Explanation ................................................................ 14
1.6 Lifecycle Controller and Lifecycle Controller 2 Nomenclature.................................. 15
1.7 System status and Configuration Job Behavior .................................................... 15
1.7.1 RS Status and job status ............................................................................... 16
1.7.2 GetRemoteServicesAPIStatus and job status ....................................................... 17
1.7.3 11G and 12G compatibility ............................................................................ 18
1.7.4 GetRemoteServicesAPIStatus output descriptions ................................................. 19
1.8 Reference Links ......................................................................................... 20
2 Terms and Definitions ............................................................................................ 21
3 Anomalous Algorithms and Descriptions ...................................................................... 22
3.1 Setting CNA Bandwidth ................................................................................ 22
3.2 iDRAC Cloning ........................................................................................... 22
3.3 Setting NIC String Attributes to Blank ............................................................... 23
3.4 Determine NIC Card .................................................................................... 23
3.5 List of Partitionable NIC Cards for LC2 .............................................................. 24
3.6 iDRAC Telnet Attribute Enables SerialRedirection ................................................ 24
3.7 Never Unplug Hardware During Updates ............................................................ 25
3.8 Express Versus Enterprise iDRACs .................................................................... 25
3.9 CIM Query Language (CQL) Filters ................................................................... 26
3.9.1 CQL filter benefits ...................................................................................... 26
3.9.2 How to perform CQL enumerations using RECITE ................................................. 26
3.9.3 CQL filter example that enumerates all NIC attributes for a particular port/partition ..... 26
3.9.4 CQL filter example that enumerates all iDRAC attributes with a particular
GroupDisplayName and AttributeName ....................................................................... 27
3.9.5 CQL filter example that enumerates all BIOS attributes where the IsReadOnly flag is set to TRUE 27
3.10 Ordering of iDRAC Attributes to set or apply (11Generation vs 12Generation) .............. 27
3.11 How to Determine if Server is 11Generation vs 12Generation .................................. 28
3.12 Using Special Characters in Usernames ............................................................. 28
3.13 Obtaining Updated System Inventory ............................................................... 28
3
Lifecycle Controller IntegrationBest Practices Specification
3.14
How to Determine if the System is Blade, Tower, or Rack ...................................... 30
3.15 Getting the SystemID, Model, and more ............................................................ 30
3.16 Http, CIFS, NFS, tftp, ftp Formatting ............................................................... 31
4 Workflows .......................................................................................................... 32
4.1 RAID stacking: ResetConfig, CreateVD, assign HotSpares ....................................... 32
4.2 RAID Stacking with BIOS Attributes Using Setupjobqueue ....................................... 33
4.3 Boot to Network ISO.................................................................................... 35
4.4 Boot to ISO from vFlash ................................................................................ 36
4.5 Set Hard Disk Drive to ‘first’ in Boot Order ........................................................ 37
4.6 Export (backup) Image to vFlash ..................................................................... 38
4.7 Export (backup) iImage to CIFS or NFS Share ...................................................... 38
4.8 Automatic Backup (12
th
Generation and Later Version of Servers Only) ....................... 39
4.9 Import (restore) Image from vFlash ................................................................. 40
4.10 Import (Restore) Image from CIFS or NFS Share ................................................... 40
4.11 iDRAC Firmware DUP uUpdate from CIFS or TFTP Share ......................................... 41
4.12 BIOS Firmware DUP Update from CIFS or TFTP Share ............................................ 42
4.13 USC Firmware DUP Update from CIFS or TFTP Share ............................................ 43
4.14 Automatic Firmware Update (12
4.15 Update from Repository (12
4.16 Firmware Rollback (12
4.17 Remote Diagnostics (12
th
Generation and Later Version of Servers Only) ...................... 45
th
Generation and Later Version of Servers Only) ..................... 45
th
Generation and Later Version of Servers Only) .......... 43
th
Generation and Later Version of Servers Only) ................ 44
4.18 PXE Boot using Embedded NICs (11G only) ......................................................... 46
4.19 PXE Boot using Embedded NICs (12G only) ......................................................... 48
4.20 Set NIC Attributes and iSCSI boot using setupjobqueue (11G only) ............................ 49
4.21 iSCSI Boot using NDC/Broadcom (12G only) ........................................................ 51
4.22 iSCSI Boot using QLogic (12G only)................................................................... 52
4.23 iSCSI boot using Intel (12
th
Generation only) ....................................................... 54
4.24 IO Identity ............................................................................................... 56
4.25 Export LC log ............................................................................................ 57
4.26 FCoE Boot using QLogic (12G only) .................................................................. 58
4.27 FCoE boot using Intel (12
th
Generatioin only) ...................................................... 60
4.28 FCoE boot using Broadcom (12G only) .............................................................. 63
4.29 IO Identity for QLogic (12G only) .................................................................... 64
4.30 IO Identity for Broadcom (12G only) ................................................................ 66
4.31 IO Identity for Intel (12G only) ....................................................................... 68
4
Lifecycle Controller IntegrationBest Practices Specification
4.32
Export System Configuration (12
4.33 Import System Configuration (12
th
Generation and Later Version of Servers Only) .......... 69
th
Generation and Later Version of Servers Only) .......... 69
4.34 Configurable Boot to Network ISO ................................................................... 70
5 Base Metrics Profile Use Cases ................................................................................. 71
5.1 Discovery of Base Metrics Profile Support .......................................................... 71
6 BIOS and Boot Management Profile Use Cases ............................................................... 72
6.1 Discovery of BIOS and boot Profile Support ........................................................ 72
6.2 List all BIOS Attributes ................................................................................. 73
6.3 Delete Pending BIOS Configuration .................................................................. 73
6.4 Inventory of boot Configurations in System ........................................................ 74
6.5 Get the First boot Configuration’s Information .................................................... 74
6.6 Inventory of boot Sources in System ................................................................ 75
6.7 Changing boot Order by Instance .................................................................... 75
6.8 Enable or Disable boot Source ........................................................................ 75
6.9 One Time boot .......................................................................................... 76
7 CPU Profile Use Cases ............................................................................................ 77
7.1 Discovery of CPU Profile Support .................................................................... 77
7.2 Inventory of CPUs in System .......................................................................... 78
7.3 Get the First CPU’s Information ...................................................................... 78
8 Event Filter Profile Use Cases .................................................................................. 78
8.1 Discovery of Event Filter Profile Support ........................................................... 78
8.2 Get Event Filter Configuration Service Views ...................................................... 79
8.3 Get Event Filter Views ................................................................................. 80
8.4 Get Single Event Filter’s Information ............................................................... 80
8.5 Set Event Filters by Category ......................................................................... 80
8.6 Set Event Filters by InstanceID ....................................................................... 81
9 iDRAC Card Profile Use Cases ................................................................................... 81
9.1 Discovery of iDRAC Card Profile Support............................................................ 81
9.2 Get all iDRAC Card Attributes ........................................................................ 82
9.3 Inventory of iDRAC Cards in System ................................................................. 82
9.4 Get the First iDRAC Card’s Information ............................................................. 83
9.5 Set Apply iDRAC Card Attribute(s) Immediately ................................................... 83
9.6 Schedule a set iDRAC Card Attribute(s) Operation ................................................ 84
10 Fan Profile Use Cases .................................................................................. 84
10.1 Discovery of Fan Profile Support ..................................................................... 84
5
Lifecycle Controller IntegrationBest Practices Specification
10.2
Inventory of Fans in System ........................................................................... 85
10.3 Get the First Fan’s Information ...................................................................... 85
11 Persistent Storage Profile Use Cases ................................................................ 86
11.1 Discovery of Persistent Storage Profile Support ................................................... 86
11.2 Inventory of Virtual Flash (vFlash) Media ........................................................... 86
11.3 Get the First vFlash’s Attribute Information ....................................................... 87
11.4 Inventory of Partitions on the Virtual Flash Media ................................................ 87
11.5 Initialize Virtual Flash Media ......................................................................... 88
11.6 Enable Virtual Flash (vFlash) Media ................................................................. 88
11.7 Disable Virtual Flash (vFlash) Media ................................................................. 88
11.8 Create new Partition on Virtual Flash (vFlash) Media ............................................ 89
11.9 Create new Partition Using Image ................................................................... 89
11.10 Delete Existing Partition .............................................................................. 90
11.11 Format Existing Partition .............................................................................. 90
11.12 Modify Existing Partition .............................................................................. 91
11.13 Attach Partition ......................................................................................... 91
11.14 Detach Partition ........................................................................................ 92
11.15 Export Data from Existing Partition ................................................................. 92
12 Power State Management Profile Use Cases ....................................................... 93
12.1 Discovery of Power State Management Profile Support .......................................... 93
13 Profile Registration Profile Use Cases ............................................................... 94
13.1 Discovery of Profile Registration Profile Support .................................................. 94
14 Simple RAID Profile Use Cases ........................................................................ 94
14.1 Discovery of RAID Profile Support .................................................................... 94
14.2 Inventory of RAID Controllers in System ............................................................ 95
14.3 Get the first RAID Controller’s Information ........................................................ 96
14.4 Inventory of Virtual and Physical Disk Drives in System .......................................... 96
14.5 Apply Pending Values for a RAID Configuration .................................................... 96
14.6 Delete Pending Values for a RAID Configuration................................................... 96
14.7 Clear old Configuration from Newly Added HDD ................................................... 97
14.8 Determine Available RAID Configurations .......................................................... 97
14.9 Determine Available Physical Disk Drives for a RAID Configuration ............................ 98
14.10 Check Available Virtual Disk Parameters for a given RAID Level and set of Physical Disks . 98
14.11 Create a Virtual Disk ................................................................................... 99
14.12 Determine Available Physical Disk Drives to be used as a Hot-spare ........................... 99
6
Lifecycle Controller IntegrationBest Practices Specification
14.13
Assign a Physical Disk Drive as a Hot-spare ......................................................... 99
14.14 Delete a Virtual Disk from the System .............................................................. 99
14.15 Delete all Virtual Disks and Unassign all Hot-spares ............................................. 100
14.16 Convert Physical Disk Drive to RAID State ......................................................... 100
14.17 Convert Physical Disk Drives to non-RAID State .................................................. 101
15 Record Log Profile Use Cases ........................................................................ 102
15.1 Discovery of Record Log Profile Support ........................................................... 102
15.2 List Lifecycle Record Logs ............................................................................ 103
15.3 List Lifecycle Record Log Capabilities .............................................................. 103
15.4 List Lifecycle Log Entries ............................................................................. 104
15.5 Set and get Comment in Lifecycle Log Entries .................................................... 104
15.6 List System Event Record Logs ...................................................................... 105
15.7 List System Event Record Log Capabilities ........................................................ 105
15.8 List System Event Log Entries ....................................................................... 106
16 Role-based Authorization Profile (RBAP) Use Cases .............................................. 106
16.1 Discovery of RBAP Profile Support .................................................................. 106
16.2 Discovery of Users with Assigned LAN Privileges ................................................. 107
16.3 Discovery of Users with Assigned Serial over LAN Privileges ................................... 107
16.4 Discovery of users with Assigned CLP Privileges .................................................. 108
17 Service Processor Profile Use Cases ................................................................ 108
17.1 Discovery of Service Processor Profile Support ................................................... 108
18 Simple NIC Profile Use Cases ........................................................................ 109
18.1 Discovery of Simple NIC Profile Support ........................................................... 109
18.2 Inventory of NICs in System .......................................................................... 110
18.3 Get the First NIC’s Information ..................................................................... 110
18.4 List all NIC Attributes ................................................................................. 110
18.5 Delete Pending NIC Values ........................................................................... 111
18.6 Discovery of NIC Capabilities ........................................................................ 111
19 Software Update Profile Use Cases ................................................................. 112
19.1 Discovery of Software Update Profile Support .................................................... 112
20 Job Control Profile Use Cases ....................................................................... 113
20.1 Discovery of Job Control Profile Support .......................................................... 113
20.2 List all Jobs in Job Store ............................................................................. 114
20.3 Get a Job’s Information .............................................................................. 114
20.4 Delete all Jobs from Job Store (job queue) using “JID_CLEARALL” ........................... 114
7
Lifecycle Controller IntegrationBest Practices Specification
20.5
Delete one Job from job store ...................................................................... 115
21 Memory Profile Use Cases ............................................................................ 115
21.1 Discovery of Memory Profile Support ............................................................... 115
21.2 Inventory of Memory in System...................................................................... 116
21.3 Get the first Memory’s Information ................................................................ 117
22 PCI Device Profile Use Cases ......................................................................... 117
22.1 Discovery of PCI Device Profile Support ........................................................... 117
23 Sensors Profile Use Cases ............................................................................ 118
23.1 Discovery of Sensor Profile Support ................................................................ 118
23.2 Inventory of Sensor in System ....................................................................... 119
23.3 Sensor Thresholds ..................................................................................... 119
24 Base Server and Physical Asset Profile Use Cases ................................................ 120
24.1 Discovery of Base Server and Physical Asset Profile Support ................................... 120
24.2 Discovery of Base Server and Physical Asset Profile Support [LC1.5.1] ....................... 121
24.3 List all CIM Profiles .................................................................................... 122
25 Video Profile Use Cases ............................................................................... 122
25.1 Discovery of Video Profile Support ................................................................. 122
25.2 Inventory of Video in System ........................................................................ 123
25.3 Get the first Video Instance’s Information ........................................................ 123
26 License Management Profile Use Cases ............................................................ 124
26.1 Discovery of License Management Profile Support ............................................... 124
27 Power Supply Profile Use Cases ..................................................................... 125
27.1 Discovery of Power Supply Profile Support ........................................................ 125
27.2 Inventory of Power Supply Units (PSUs) in System ............................................... 126
27.3 Get the first PSU’s Information ..................................................................... 126
27.4 Get MAC Information .................................................................................. 126
27.5 Get Blade Power ....................................................................................... 127
28 System Info Profile Use Cases ....................................................................... 127
28.1 Discovery of System Info Profile Support .......................................................... 127
28.2 Inventory of System Info View ....................................................................... 128
28.3 Get the first System info View’s Information ..................................................... 129
28.4 Inventory of all System Attributes in System ..................................................... 129
28.5 Get a Single System String Attribute ............................................................... 130
28.6 Setting and Applying System Attributes ............................................................ 130
28.7 Apply Pending System Attribute Values ............................................................ 131
8
Lifecycle Controller IntegrationBest Practices Specification
28.8
Delete Pending System Attribute Values........................................................... 131
29 Software Inventory Profile Use Cases .............................................................. 132
29.1 Instance Diagram ...................................................................................... 132
29.2 Discovery of Software Inventory Profile Support ................................................. 132
29.3 Inventory of Software in System .................................................................... 133
29.4 Get the Installed BIOS Firmware Inventory ........................................................ 133
29.5 Get the Available iDRAC Firmware Inventory ..................................................... 134
30 Simple Identity Management Profile Use Cases ................................................... 135
30.1 Discovery of Simple Identity Management Profile Support ..................................... 135
31 LC Management Profile Use Cases .................................................................. 136
31.1 Discovery of LC Management Profile Support ..................................................... 136
31.2 Inventory of LC Management Attributes in system ............................................... 137
31.3 Check and enable (or disable) Collect System Inventory on Restart (CSIOR) ................ 137
31.4 Check Version of Lifecycle Controller (LC) ........................................................ 138
31.5 Get “Part Firmware Update” Attribute ............................................................ 138
31.6 Check vFlash License Enablement .................................................................. 139
31.7 Set Configuration to “Auto Discovery Factory Defaults” ........................................ 139
31.8 Clear Provisioning Server ............................................................................. 140
31.9 Replace Auto Discovery Public Key ................................................................. 140
31.10 Replace auto Discovery Client Certificate, Private key and Password ........................ 141
31.11 Delete auto Discovery Public Key ................................................................... 141
31.12 Delete auto Discovery Client Certificate, Private Key and Password ......................... 141
31.13 Replace iDRAC Web Server Client Certificate and Private Key ................................. 141
31.14 Replace iDRAC Web Server Public Certificate .................................................... 141
31.15 Insert Comment into Lifecycle Log ................................................................. 141
31.16 Export and View the Content of the Lifecycle Log ............................................... 142
31.17 Export and View the Current Hardware Inventory ............................................... 142
31.18 Export and View the Hardware Inventory as Shipped from the Factory ...................... 142
32 OS Deployment Profile Use Cases ................................................................... 143
32.1 Discovery of OS Deployment Profile Support ...................................................... 143
32.2 Unpack and Attach Drivers ........................................................................... 144
32.3 Connect and Attach Network ISO Image ........................................................... 144
32.4 Disconnect and Detach Network ISO Image ....................................................... 144
32.5 Get ISO Image Connection Status ................................................................... 144
32.6 One-time ISO boot Skip ............................................................................... 144
9
Lifecycle Controller IntegrationBest Practices Specification
32.7
Remote File Share (RFS) Use Cases ................................................................. 145
32.7.1 Connect and Attach Network ISO Image as a USB CD-ROM device via RFS USB end point. 145
32.7.2 Disconnect and detach ISO Image exposed via RFS USB end point ........................ 145
32.7.3 Get RF ISO Image connection Status ........................................................... 145
32.8 Boot to Hard Drive (HD) .............................................................................. 146
33 Appendix ................................................................................................ 147
33.1 PYTHON scripts README .............................................................................. 147
33.1.1 Purpose.............................................................................................. 147
33.1.2 Requirements ...................................................................................... 147
33.1.3 Command line ...................................................................................... 147
33.1.4 Commands .......................................................................................... 148
33.1.5 Settable variables ................................................................................. 150
33.1.6 Internal variables .................................................................................. 151
33.2 System check information ............................................................................ 152
33.2.1 Check System Power State ....................................................................... 152
33.2.2 Check RS status .................................................................................... 152
33.2.3 Check for pending jobs ........................................................................... 152
33.2.4 Check for pending configuration ................................................................ 152
33.2.5 Check CSIOR state ................................................................................. 152
33.3 Inventory information ................................................................................. 152
33.3.1 System inventory .................................................................................. 152
33.3.2 Software inventory ................................................................................ 153
33.3.3 BIOS inventory ..................................................................................... 153
33.3.4 Boot order inventory .............................................................................. 153
33.3.5 NIC inventory ....................................................................................... 153
33.3.6 RAID inventory ..................................................................................... 153
33.4 Poll LC jobs information .............................................................................. 153
33.4.1 Timing considerations ............................................................................ 153
33.4.2 Machine reboot .................................................................................... 153
33.4.3 POST ................................................................................................. 154
33.4.4 SSM ................................................................................................... 154
33.4.5 RSStatus/JobStatus................................................................................ 155
33.4.6 Check refreshed data ............................................................................. 155
33.4.7 CSIOR ................................................................................................ 155
10
Lifecycle Controller IntegrationBest Practices Specification
33.5
iSCSI boot information ................................................................................ 155
Tables
Table 1. Generational Nomenclature ........................................................................... 15
Figures
Figure 1. Typical Life Cycle of an 11G (LC1.5.0 & LC1.5.1) Configuration Job ........................... 16
Figure 2. Typical Life Cycle of a 12G Configuration Job ..................................................... 17
Figure 3. Compatibility with 11G Workflows ................................................................... 18
Figure 4. Software Inventory: Instance Diagram .............................................................. 132
11
Lifecycle Controller IntegrationBest Practices Specification
1 Contents
1.1 How to Use this Document
This document contains the detailed steps of common workflows to perform various tasks utilizing winRM or WSMAN. The PYTHON scripting language was used to provide a software development kit (SDK) for Lifecycle Controller (LC) API methods. Two primary objectives are addressed: first, that workflows documentation provides guidance to established, known, working API methodologies, and second, that corresponding PYTHON sample scripts are separately provided. After invoking these scripts, the output log can be used to provide approximate timing on a particular system configuration, as well as raw winRM or WSMAN input and output.
1.2 Using the Sample Scripts
Refer to the appendix for a full text README.
Getting started:
1) Install Python 2.4 to 2.6
2) Download scripts folder to desired location; no installation necessary
Running a script:
1) cd to scripts directory
2) python recite.py (opens command prompt of application)
3) set $IP 12.34.56 (Enter actual IP)
4) log whateverfilename.log w (may use any name for filename)
5) batch bestpracticeflows\script_name.win (launches script)
Note: A .win file is simply a text file containing calls to the recite PYTHON script.
Other commands:
-help (lists all available commands)
-set (list current IP, username, password, etc.)
Notes:
File output will be placed in scripts directory
1.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.
Also see section 3.9 for using CQL filters on enumerations.
Execute the following command to get instances in groups of up to 50.
winrm set winrm/config @{MaxBatchItems="50"}
12
Lifecycle Controller IntegrationBest Practices Specification
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"}
1.4 Feature Discovery Procedure
There are four steps recommended to determining the feature set on a given system.
1) Interop namespace – registered profile advertisement a. winrm enumerate “cimv2/CIM_RegisteredProfile?__cimnamespace=root/interop" -
r:https://IPADDRESS/wsman -u:username -p:password -SkipCNcheck -SkipCAcheck ­encoding:utf-8 -a:basic -format:pretty
b. The output from above will provide the RegisteredVersion of each supported profile on
the system. The RegisteredVersion field can be used to determine the profile’s feature
set. See Section 1.4 for more information.
2) Capability properties on views (NIC example) a. winrm enumerate "cimv2/root/dcim/DCIM_NICCapabilities" -
r:https://IPADDRESS/wsman -u:username -p:password -SkipCNcheck -SkipCAcheck ­encoding:utf-8 -a:basic -format:pretty
b. The output from above will provide the available properties of each view.
3) Capability Attributes (RAID example)
13
Lifecycle Controller IntegrationBest Practices Specification
a. Enumerate the DCIM_RAIDString, DCIM_RAIDEnumeration, and DCIM_RAIDInteger classes
(DCIM_RAIDString shown below)
winrm enumerate "cimv2/root/dcim/DCIM_RAIDString" -r:https://IPADDRESS/wsman=­u:username -p:password -SkipCNcheck -SkipCAcheck -encoding:(utf)-8 -a:basic ­format:pretty
b. The output from above will provide the available attributes of each class
4) Firmware versioning a. winrm enumerate "cimv2/root/dcim/DCIM_SoftwareIdentity" -
r:https://IPADDRESS/wsman -u:username -p:password -SkipCNcheck -SkipCAcheck ­encoding:utf-8 -a:basic -format:pretty
b. The output from above will list all available and installed firmwares and corresponding
firmware versions. Examining the version of these firmwares, such as Lifecycle controller and iDRAC, can be used to determine the feature set
1.5 Profile Revision Number Explanation
Profile revision numbers are a key metric in determining the available feature set. Examples of discovering, or obtaining, profiles are covered extensively in this document along with example output.
The example shown below is for the LC Management profile. Discovering a particular profile on a system is a three step process.
1) Enumerate the DCIM_LCRegisteredProfile class to view all available profiles
2) Search the RegisteredName field for the desired profile
3) Search for the RegisteredVersion field, which is the characteristic used to identify the
supported features.
DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:LCManagement:1.1.0 OtherRegisteredOrganization = DCIM ProfileRequireLicense = Auto Discovery ProfileRequireLicense = Part Replacement ProfileRequireLicense = Remote Firmware Configu ration ProfileRequireLicense = Remote Inventory Export ProfileRequireLicense = Server Profile Export and Import ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED RegisteredName = LC Management RegisteredOrganization = 1 RegisteredVersion = 1.4.0
The RegisteredVersion field is in the following format:
14
Lifecycle Controller IntegrationBest Practices Specification
[major change] . [minor change] . [errata]
Increments in the major change field indicate that the profile is not backward
compatible.
Increments in the minor change field indicate that one or more new methods
have been added.
Increments in the errata field indicate that one more defects have been fixed.
1.6 Lifecycle Controller and Lifecycle Controller 2
Nomenclature
This section describes the new terminology associated with the new generation of hardware and Lifecycle Controller firmware (including iDRAC). The new hardware platform is generically referred to as 12G and all corresponding Lifecycle Controller firmware will be LC2 with accompanying sub releases (i.e. 1.0.0, 1.1.0, etc.). The table below summarizes both the past and current generational nomenclature.
NOTE: Data within table is for illustration purposes only.
Table 1. Generational Nomenclature
HardwareLifecycleControllerFirmware
11G LC1.5.0 11G LC1.5.1 11G LC1.5.2 11G LC1.x.x 12G LC21.0.0 12G LC21.0.1 12G LC21.1.0 12G LC21.1.1
12G LC21.x.x
Changes in the Lifecycle Controller firmware versions abide by the following definition:
[major change] . [minor change] . [errata]
Increments in the major change field indicate that the profile is not backward
compatible.
Increments in the minor change field indicate that one or more new methods
have been added.
Increments in the errata field indicate that one more defects have been fixed.
1.7 System status and Configuration Job Behavior
The details below describe the generational evolution of how a typical configuration job relates to the state of the system.
15
Lifecycle Controller IntegrationBest Practices Specification
1.7.1 RS Status and job status
The details below describe how the remote service (RS) status relates to the job status. RS status is a
feature that indicates whether the system is ready to invoke WSMAN commands. It must be in a ready
state before executing any WSMAN commands. NOTE: The RS Status method was introduced in LC1.5.0.
Figure 1. Typical Life Cycle of an 11G (LC1.5.0 & LC1.5.1) Configuration Job
16
Lifecycle Controller IntegrationBest Practices Specification
After the job is complete in Automated Task Application (previously SSM), the job status is immediately
updated in the job store. The job is moved immediately to the Completed state once it is complete in the Automated Task Application. As seen in the timeline diagram above, after the job is Completed, the sync happens in the configDB, and then the RS status goes to Reloading state. After all the required populators are refreshed successfully, the RS status goes to Ready state. The user/console can see the new values only when the RS status goes to the Ready state.
1.7.2 GetRemoteServicesAPIStatus and job status
The introduction of the new GetRemoteServicesAPIStatus method alleviates the ambiguity of the
GetRSStatus method regarding when the system is ready.
Figure 2. Typical Life Cycle of a 12G Configuration Job
Note: Dotted lines denote the old behavior. Bold red lines denote the new behavior in 12G.
After the job is complete in the Automated Task Application, those jobs that require a refresh – jobs that have message IDs –JOB_SUCCESS and JOB_COMPLETED_ERROR will be kept in RUNNING state till the new sync comes in and the Data Manager is moved to READY state.
Jobs that don’t require a refresh will be moved to complete immediately once the job is complete in the Automated Task Application.
17
Lifecycle Controller IntegrationBest Practices Specification
1.7.3 11G and 12G compatibility
Figure 3. Compatibility with 11G Workflows
[NOTTOSCALE]
READYFOREXECUTION
SCHEDULED
JobStatus
RUNNING
COMPLETED
GetRSStatus()
RELOADING
READY READY
SYNC TIME
GetRemoteServicesAPIStatus()
Lif ecycleController Lif ecycl eControlle r RemoteServi cesisnot
ready. RemoteServicesis re ady.
NOTE: Dotted lines denote the old behavior. Bold red line denotes the new behavior in 12G.
The existing 11G workflows expect the RS status to be in RELOADING state once the job is marked COMPLETED. So to maintain the compatibility with the 11G workflows, the RS status is artificially held in the RELOADING state for 90 seconds even though it is actually READY. This time limit was provided by the console team.
18
Lifecycle Controller IntegrationBest Practices Specification
1.7.4 GetRemoteServicesAPIStatus output descriptions
Output
parameter
Possiblevalues Description
Name
Status
MessageID
Message
ServerStatus
LCStatus
0
(Ready)
1
(NotReady)
LC060 LC061 LifecycleControllerRemoteServices isnotready. LifecycleControllerRemoteServices isready. 0
(Power edoff)
1
(InPOST)
2
(OutofPOST)
3
(CollectingSystemInventory)
4
(AutomatedTaskExecution)
5
(LifecycleCon trol lerUnifiedServer
Configurator)
(Ready)
0
1
(NotInitialized)
2
(Reloadi ngDa ta)
3
(Disabled)
4
(InRecovery)
5
(InUs e)
LifecycleControllerRemoteServicesisreadyto acceptanywebservicesrequest. LifecycleControllerRemoteServicesiscurrentlynot readytoacceptwebservicesrequest.This couldbe becausetheinstrumentation iniDRACmightbe reloading/not_readyorserverisinPOSTor performings cheduledprovisioningrequestsor LifecycleControllerUnifiedServerC onfiguratorisin use.
Message
forIDLC060
MessageforIDLC061
Serveris poweredoff Serveris performing normalPOSToperation Serveris outofPOST Serveris currentlyexecutingUEFICollectSystem InventoryOnRestartapplication Serveris currentlyexecutingscheduledjobsus ing UEFIAutomatedTaskapplication Serveris executingUEFILifecycleControllerUnified ServerConfiguratorapplication LifecycleControllerinstrumentationisuptodate andenabled LifecycleControllerinstrumentationisnot initialized.Theinitializationoperationma ytakeup toaminute. LifecycleControllerinstrumentationiscurrently refres hingitscachebecauseofarecent configurationchange.Thereloadingoperation typicallytakesfews econds andcouldtakeupto fewminutes tocomplete. LifecycleControllerisdisabledontheserver. LifecycleControllercanbeenabledthruRemote ServicesorF2iDRACconfiguration. LifecycleControllerisinRecoverymode.Referto iDRACusersguideoninstructionsonhowtorepair LifecycleController. LifecycleControllerisbeing currentlyusedby anotherprocess.
19
Lifecycle Controller IntegrationBest Practices Specification
1.8 Reference Links
Web Services Interface Guide for Windows & linux
http://www.delltechcenter.com/page/Lifecycle+Controller
Profiles
http://en.community.dell.com/techcenter/systems-management/w/wiki/1906.aspx
PCI ID reference list
http://pciids.sourceforge.net/pci.ids
Installation and Configuration for Windows Remote Management
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384372(v=vs.85).aspx
20
Lifecycle Controller IntegrationBest Practices Specification
2 Terms and Definitions
2.1
LC

Lifecycle Controller
2.2
ENUMERATE
Refers to WS-MAN ENUMERATE operation as described in Section 8.2 of DSP0226_V1.1

and Section 9.1 of DSP0227_V1.0
2.3
GET
Refers to WS-MAN GET operation as defined in Section 7.3 of DSP00226_V1.1 and

Section 7.1 of DSP0227_V1.0
2.4
iDRAC
integrated Dell Remote Access Controller – management controller for blades and

monolithic servers
2.5
USC

Unified Server Configurator
2.6
iSCSi
Internet Small Computer System Interface, an Internet Protocol (IP)-based storage

networking standard for linking data storage facilities.
2.7
SSM

System Services Manager
2.8
CSIOR

Collect System Inventory on Restart
2.9
SSIB

System Services Information Block
2.10
2.11
2.12
2.13
2.14
2.15
UEFI

Unified Extensible Firmware Interface
BIOS

Basic Input / Output System
NIC

Network Interface Controller
FQDD

Fully Qualified Device Description
LCL

Lifecycle Log
WSIG

Web Services Interface Guide
21
Lifecycle Controller IntegrationBest Practices Specification
3 Anomalous Algorithms and Descriptions
3.1 Setting CNA Bandwidth
The recommended algorithm is to schedule jobs such that MinBandwidths are first reduced, and then increased. Essentially, delta values need to be sorted, and jobs scheduled in that order.
Consider the following example:
Current: 25, 25, 25, 25
Target: 30, 30, 20, 20
Since 20, 20 are both reducing values from 25, they should be scheduled first. This makes space for increasing the other values. Next, values being increased can be scheduled – 30, 30.
A more complex example:
FQDD: 1, 2, 3, 4
Current: 5, 5, 50, 40
Target: 40, 50, 5, 5
Deltas: -35, -45, 45, 35
Order of job FQDDs: 3, 4, 1, 2
MinBandwidth limitations are documented in the Simple NIC Profile in section 6.7.
http://attachments.wetpaintserv.us/chcAMan6fnC1y8Z8qYSnag350700
3.2 iDRAC Cloning
Blade cloning consists of a pull, enumerating attributes, and a push, applying attributes. The pull command is a basic enumeration command using the DCIM_iDRACCardAttribute class.
Applies to: LC2+ Script: iDRACClonePull.win
A) The remote service must be in a “ready” state before executing any other WSMAN
commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
B) ENUMERATE the DCIM_iDRACCardAttribute class (same as DCIM_iDRACCardEnumeration
class) and store the results to be pushed. See section 2.2 for a definition of ENUMERATE .
The blade cloning push requires an extended WSMAN timeout of 120 seconds, versus the default of 60
seconds. This is needed because of the numerous amounts of attributes that need to be applied.
Below are Windows (winRM) and Linux (wsman) examples that apply all the iDRAC attributes. Replace [IP_ADDRESS], [USER_NAME], and [PASS_WORD] with the actual IP address, username, and password.
winRM format:
22
Lifecycle Controller IntegrationBest Practices Specification
winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cim-
schema/2/root/dcim/DCIM_iDRACCardService?SystemCreationClassName=DCIM_C omputerSystem+CreationClassName=DCIM_iDRACCardService+SystemName=DCIM:C omputerSystem+Name=DCIM:iDRACCardService -u: [USER_NAME] -p:[PASSWORD]
-r:https://[IP_ADDRESS]/wsman -SkipCNcheck -SkipCAcheck -encoding:utf-8
-a:basic -timeout:120000 -file:iDRAC.Embedded.1_setatts.xml
WSMAN format:
wsman invoke -a ApplyAttributes -h [IP_ADDRESS] -P 443 -u [USER_NAME]
-p [PASSWORD] -N root/dcim -c /gr2host.cert -y basic http://schemas.dmtf.org/wbem/wscim/1/cim­schema/2/root/dcim/DCIM_iDRACCardService?SystemCreationClassName="DCIM_ ComputerSystem",SystemName="DCIM:ComputerSystem",CreationClassName="DCI
M_iDRACCardService",Name="DCIM:iDRACCardService" -t 120000 -J
iDRAC.Embedded.1_setatts.xml
Partial Example of iDRAC.Embedded.1_setatts.xml
<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>Info.1#Product</p:AttributeName>
<p:AttributeName>Info.1#Version</p:AttributeName>
...
<p:AttributeValue>Integrated Dell Remote Access Controller</p:AttributeValue>
<p:AttributeValue>1.0.0</p:AttributeValue>
</p:ApplyAttributes_INPUT>
3.3 Setting NIC String Attributes to Blank
An issue exists when setting NIC String parameters, such as IscsiInitiatorName, using the NIC menu
(usually entered via ctrl-s) from a non-blank value to a blank value.
As a result, when the NIC is used for operations that utilize this parameter, such as iscsi boot, the operation will be unsuccessful because it will use the old value instead of the one displayed through WSMAN.
The work around for this scenario is to not set any NIC String parameters to a blank value.
3.4 Determine NIC Card
There are two different ways to determine the model/type of a NIC card:
23
Lifecycle Controller IntegrationBest Practices Specification
1)
ENUMERATE the DCIM_NICView class and note the PCID, then look up in PCID table
http://pciids.sourceforge.net/pci.ids
2) ENUMERATE the DCIM_NICString class and search for attribute ChipMdl. The
CurrentValue parameter will contain the NIC card model number.
DCIM_NICString AttributeName = ChipMdl
CurrentValue = BCM5716 C0 DefaultValue FQDD = NIC.Embedded.2-1 InstanceID = NIC.Embedded.2-1:ChipMdl IsReadOnly = true MaxLength = 0 MinLength = 0 PendingValue
3.5 List of Partitionable NIC Cards for LC2
The following is a list of partitionable NICs supported by LC2.
Broadcom
57810 bNDC – JVFVR 57810 SFP+ NIC – N20KJ 57810 Base-T NIC – W1GCR 57810 Mezz – 55GHP 57800 rNDC – MT09V
QLogic
QMD8262 bNDC – D90TX QLE8262 NIC – JHD51 QME8262 Mezz – 9Y65N
3.6 iDRAC Telnet Attribute Enables SerialRedirection
The following behavior describes a situation where setting certain iDRAC attribute(s) causes another iDRAC attribute to automatically and simultaneously change.
Setting any of the following Telnet attributes causes the SerialRedirection attribute to become Enabled.
Port [ InstanceID = iDRAC.Embedded.1#Telnet.1#Port ] Enable [ InstanceID = iDRAC.Embedded.1#Telnet.1#Enable ] Timeout [ InstanceID = iDRAC.Embedded.1#Telnet.1#Timeout ]
24
Lifecycle Controller IntegrationBest Practices Specification
Recommendation:
Change the Telnet attributes prior to setting the SerialRedirection.Enable attribute. Or, if using input XML, have the Telnet attributes before the SerialRedirection.Enable attribute.
3.7 Never Unplug Hardware During Updates
Users should not unplug any hardware during critical remote enablement (RE) updates. This may result in unexpected behaviors.
As an example, unplugging a USB key during critical updates may cause a Red Screen of Death (RSOD).
3.8 Express Versus Enterprise iDRACs
There are four levels of iDRAC licensing as follows:
1) Basic
2) Express (Monolithic)
3) Express for blades(Modular)
4) Enterprise
One method of determining the level on a system is to perform an enumeration of the DCIM_iDRACCardView class. Example results are shown for reference.
Monolithic:
DCIM_iDRACCardView FQDD = iDRAC.Embedded.1-1 FirmwareVersion = 1.00.00 GUID = 3132334f-c0b7-3480-3510-00364c4c454 IPMIVersion = 2.0 InstanceID = iDRAC.Embedded.1-1#IDRACinfo LANEnabledState = 1 LastSystemInventoryTime = 20120302092309.000000+000 LastUpdateTime = 20120305233206.000000+000 Model = Enterprise PermanentMACAddress = 78:2b:cb:54:54:11 ProductDescription = This system component provides a complete set of remote management functions for Dell PowerEdge servers SOLEnabledState = 1
Modular:
DCIM_iDRACCardView FQDD = iDRAC.Embedded.1-1
25
Lifecycle Controller IntegrationBest Practices Specification
FirmwareVersion = 1.00.00 GUID = 3132334f-c0b7-3480-3510-00364c4c454 IPMIVersion = 2.0 InstanceID = iDRAC.Embedded.1-1#IDRACinfo LANEnabledState = 1 LastSystemInventoryTime = 20120121022852.000000+000 LastUpdateTime = 20120124015120.000000+000 Model = Express for Blades PermanentMACAddress = d0:67:e5:f4:2f:97 ProductDescription = This system component provides a complete set of remote management functions for Dell PowerEdge servers
SOLEnabledState = 1
3.9 CIM Query Language (CQL) Filters
The CIM Query Language (CQL) is a query language for the Common Information Model (CIM) standard from the Distributed Management Task Force (DMTF). It was designed to perform queries against the CIM objects in a database.
3.9.1 CQL filter benefits
The two most distinct advantages of using CQL filters when performing enumerations are:
The response time of enumerations will be accelerated as only the desired data is returned,
not the full data set.
The workload on the network will be decreased as less bandwidth will be consumed per
enumeration as the amount of data being returned is less. This is more applicable to networks that may have many systems that performing enumerations at or about the same time.
3.9.2 How to perform CQL enumerations using RECITE
Section 1.2 describes how to setup and run scripts using the RECITE PYTHON environment. Running CQL filters requires running the CQL command directly from the RECITE command line. No scripts exist because of the infinite number of use cases.
3.9.3 CQL filter example that enumerates all NIC attributes for a particular
port/partition
26
Lifecycle Controller IntegrationBest Practices Specification
The FQDD in the example below will be unique to a particular user’s system. The NIC FQDDs of the system can be obtained by running the GetNICViews() command from the RECITE command line.
GetNICAttributes‐cql="select*fromDCIM_NICAttributewhere FQDD='NIC.Integrated.1‐1‐1'"
3.9.4 CQL filter example that enumerates all iDRAC attributes with a
particular GroupDisplayName and AttributeName
The GroupDisplayName and the AttributeName in the example below will be unique to a particular user’s system.
GetiDRACCardAttributes‐cql="select*fromDCIM_iDRACCardAttributewhere GroupDisplayName='iDRACUsers'andAttributeName='UserName'"
3.9.5 CQL filter example that enumerates all BIOS attributes where the
IsReadOnly flag is set to TRUE
The expression below return attributes that have the IsReadOnly=TRUE flag set as the CurrentValue.
GetBIOSEnumerations‐cql="selectCurrentValuefromDCIM_BIOSEnumerationwhere IsReadOnly=TRUE"
3.10 Ordering of iDRAC Attributes to set or apply (11Generation
vs 12Generation)
Users need to correctly set the order in which iDRAC, System, and LC attributes are applied. Incorrect ordering of attributes may result in an error, if dependencies are violated. The DisplayOrder field of each attribute along with the applicable references in profiles, provide direction as to the appropriate ordering.
An example would be to create an iDRAC user account. On 11G systems, the iDRAC would automatically re-order the the attributes before setting/applying them to create and enable a user account. However, due to the expansion of attributes in 12G systems as well as to avoid the anticipating the user’s intent, re-ordering of attributes was removed.
The correct order for setting iDRAC attributes when enabling a user account on both 11G and 12G is as follows:
27
Lifecycle Controller IntegrationBest Practices Specification
1. Username
2. Password
3. <other attributes>
This ordering is applicable to both ApplyAttributes() and SetAttributes() iDRAC methods. Use the reverse order when clearing/disabling the account.
3.11 How to Determine if Server is 11Generation vs
12Generation
In order to determine if a server is 11G or 12G irrespective of the license present on the server, the recommendation is to look at “LifecycleControllerVersion” property from DCIM_SystemView. If this property is not shown or the value is 1.x.y then it is 11G system. If the value is 2.x.y then it is 12G.
Section 31.4 of this document describes the workflow for enumerating the DCIM_SystemView class.
3.12 Using Special Characters in Usernames
For 11G systems, usernames may not contain the characters: <, >, ‘, /.
For 12G systems, usernames may not contain the characters: /,\, @, ., !.
When an iDRAC user has angle brackets for the username or password, they must use double quotes around the brackets when trying to execute any WSMAN commands.
3.13 Obtaining Updated System Inventory
Use the following procedure below to refresh stale inventory or to ensure the inventory has the most up to date information. Collect System Inventory on Restart (CSIOR) is the mechanism which checks and updates the inventory. CSIOR is run, when enabled, during the boot process.
Applies to: LC1.3.0+
A) [LC1.5.0+] The Lifecycle Controller remote service must be in a “ready” state before
executing any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
B) Ensure CSIOR attribute is enabled
See Section 31.3 to Check and enable Collect System Inventory on Restart (CSIOR)
28
Lifecycle Controller IntegrationBest Practices Specification
C) Power on or reboot system
NOTE: If an operating system has been installed, the system will boot into it. It
may be desired to wait until the OS boot is complete before performing a graceful shutdown.
D) [LC1.5.0+] The Lifecycle Controller remote service must be in a “ready” state before
executing any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
When the system is ready, the inventory is updated
29
Lifecycle Controller IntegrationBest Practices Specification
3.14 How to Determine if the System is Blade, Tower, or Rack
Dell has been officially using “M”, “T” and “R” letters in the Model name to distinguish between “Modular”, “Tower” and “Rack” server respectively for the past couple of generations.
Getting the SystemGeneration attribute can be achieved by viewing the SystemView class. Section
31.4 of this document describes the workflow for enumerating the DCIM_SystemView class.
Examples below:
11G Blades: M610, M710, M910 12G Blades: M420, M520, M820 11G Towers: T310, T410, T610 12G Towers: T320, T420, T620 11G Racks: R310, R410, R610 12G Racks: R320, R520, R820
3.15 Getting the SystemID, Model, and more
Section 31.4 of this document describes the workflow for enumerating the DCIM_SystemView class. Example data returned is shown below.
DCIM_SystemView AssetTag = tag BIOSReleaseDate = 08/20/2012 BIOSVersionString = 1.3.5 BaseBoardChassisSlot = NA BatteryRollupStatus = 1 BladeGeometry = 4 BoardPartNumber = 0N051FX02 BoardSerialNumber = CN1374092O003M CMCIP CPLDVersion = 0.4.7 CPURollupStatus = 1 ChassisName = Main System Chassis ChassisServiceTag = S78FGH5 ChassisSystemHeight = 1 ExpressServiceCode = 61387326761 FQDD = System.Embedded.1 FanRollupStatus = 3 HostName InstanceID = System.Embedded.1 LastSystemInventoryTime = 20130206014757.000000+000
30
Loading...
+ 127 hidden pages