Lifecycle Controller Integration―Best Practices Guide A Dell Technical White Paper about the best practices to be followed for using the WS– Man―based remote services provided by iDRAC and Lifecycle Controller.
Revisions Date Description August 2013 Initial release April 2016 Updated sections 1.4, 1.5 and 1.6 June 2017 Updated section 3.13 © 2013 Dell Inc. All rights reserved. Reproduction of this material in any manner whatsoever without the express written permission of Dell Inc. is strictly forbidden. For more information, contact Dell. Dell, the DELL logo, and the DELL badge are trademarks of Dell Inc. Symantec, NetBackup, and Backup Exec are trademarks of Symantec Corporation in the U.S.
Lifecycle Controller Integration Best Practices Guide
Table of contents Revisions .............................................................................................................................................................................................. 2 Executive Summary ........................................................................................................................................................................... 13 1 Contents ......................................................................................
3.9.4 CQL Filter Example that Enumerates All iDRAC Attributes with a Particular GroupDisplayName and AttributeName 30 3.9.5 CQL Filter Example that Enumerates All BIOS Attributes Where the IsReadOnly flag is Set to TRUE ........................ 30 3.10 Ordering of iDRAC Attributes to Set or Apply (11G vs 12G) ......................................................................................... 30 3.11 How to Determine if Server is 11G or 12G ..............................................................
4.22 iSCSI Boot Using QLogic (12th Generation and Later Version of Servers only) ............................................................ 56 4.23 iSCSI Boot Using Intel (12th Generation and Later Version of Servers only) ................................................................. 57 4.24 IO Identity ........................................................................................................................................................................ 59 4.25 Export LC Log...........
9 8.4 Get Information About Single Event Filter ...................................................................................................................... 83 8.5 Set event filters by category ............................................................................................................................................. 84 8.6 Set Event Filters by InstanceID .........................................................................................................................
13.1 Discovery of Profile Registration Profile Support .......................................................................................................... 101 14 Simple RAID Profile Use Cases ............................................................................................................................................... 102 14.1 Discovery of RAID Profile Support ..............................................................................................................................
17 Service Processor Profile Use Cases ......................................................................................................................................... 117 17.1 Discovery of Service Processor Profile Support............................................................................................................. 117 18 Simple NIC Profile Use Cases ......................................................................................................................................
25.2 Inventory of Video in System ......................................................................................................................................... 137 25.3 Get Information About the First Video Instance ............................................................................................................ 137 26 License Management Profile UseCases ....................................................................................................................................
31.6 Check vFlash License Enablement ................................................................................................................................. 154 31.7 Set Configuration to “Auto Discovery Factory Defaults” .............................................................................................. 155 31.8 Clear Provisioning Server ............................................................................................................................................... 155 31.
33.2 System Check Information ............................................................................................................................................. 165 33.2.1 Check System Power State ............................................................................................................................................. 165 33.2.2 Check RS Status .......................................................................................................................................
Executive Summary Dell PowerEdge servers are equipped with the Integrated Dell Remote Access Controller and the Lifecycle Controller solution for remote management―iDRAC6 on 11th Generation servers and iDRAC7 on 12th Generation servers. These servers can be remotely managed by using the WS-Man services for configuration, update, deployment, and maintenance. This whitepaper describes the workflows to be used along with sample scripts that use the RECITE tool for quick development of scripts.
1 Contents 1.1 How to Use This Document? This document contains the detailed t 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.
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.
1.5 Delimiter Usage for WSMAN CLI Until wsmancli 2.3.2, "," was used as delimiter for selector set. With wsmancli version 2.5.0 onwards, "," has been replaced with "&" as delimiter for the selector set since usage of "," conflicts with winrm which uses "," also as data value. Example using wsmancli <= 2.3.0: wsman invoke 'http://schemas.dmtf.
b. The output from above will provide the available properties of each view. Capability Attributes (RAID example) 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 1.8 b. The output from above will provide the available attributes of each class Firmware versioning a.
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: [major change] . [minor change] .
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.
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.
[NOT TO SCALE] READY FOR EXECUTION SCHEDULED Job Status RUNNING COMPLETED GetRSStatus() RELOADING READY READY SYN C TIME GetRemoteServicesAPIStatus() Lifecycle Controller Remote Services is not ready. Lifecycle Controller Remote Services is ready. 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.
Output parameter Possible values Description Name Status 0 (Ready) Lifecycle Controller Remote Services is ready to accept any web services request. Lifecycle Controller Remote Services is currently not ready to accept web services request. This could be because the instrumentation in iDRAC might be reloading /not_ready or server is in POST or performing scheduled provisioning requests or Lifecycle Controller Unified Server Configurator is in use.
3(Disabled) 4(In Recovery) 5(In Use) 1.11 few minutes to complete. Lifecycle Controller is disabled on the server. Lifecycle Controller can be enabled thru Remote Services or F2 iDRAC configuration. Lifecycle Controller is in Recovery mode. Refer to iDRAC users guide on instructions on how to repair Lifecycle Controller. Lifecycle Controller is being currently used by another process. Reference Links Web Services Interface Guide for Windows & linux http://www.delltechcenter.
2 2.1 Terms and Definitions 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.
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.
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: winrm i ApplyAttributes http://schemas.dmtf.
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: ENUMERATE the DCIM_NICView class and note the PCID, then look up in PCID table http://pciids.sourceforge.
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.
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 FirmwareVersion = 1.00.
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.
The correct order for setting iDRAC attributes when enabling a user account on both 11G and 12G is as follows: Username Password other attributes> This ordering is applicable to both ApplyAttributes() and SetAttributes() iDRAC methods. Use the reverse order when clearing/disabling the account. 3.
[LC1.5.0+] The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. Ensure CSIOR attribute is enabled See Section 31.3 to Check and enable Collect System Inventory on Restart (CSIOR) Power on or reboot system 1. NOTE: If an operating system has been installed, the system will boot into it.
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 LastUpdateTime = 20130206004538.000000+000 LicensingRollupStatus = 1 LifecycleControllerVersion = 2.1.0 Manufacturer = Dell Inc.
PSRollupStatus = 1 PlatformGUID = 3548474f-c0d3-4680-3810-00374c4c4544 PopulatedCPUSockets = 1 PopulatedDIMMSlots = 2 PopulatedPCIeSlots = 0 PowerCap = 340 PowerCapEnabledState = 3 PowerState = 2 PrimaryStatus = 3 RollupStatus = 3 ServerAllocation ServiceTag = S78FGH5 StorageRollupStatus = 1 SysMemErrorMethodology = 6 SysMemFailOverState = NotInUse SysMemLocation = 3 SysMemMaxCapacitySize = 786432 SysMemPrimaryStatus = 1 SysMemTotalSize = 2048 SystemGeneration = 12G Monolithic SystemID = 1230 SystemRevision
3.17 Http, CIFS, NFS, tftp, ftp Formatting Various protocols are required for methods accessing and/or writing to network shares. The format for these protocols are summarized below. HTTP Format: http://[IP ADDRESS]/[PATH TO FILE.exe] CIFS or NFS 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] 3.
4 Workflows The Best Practice Guide provides the detailed step-by-step Lifecycle Controller WSMAN API interactions and algorithmic descriptions needed to implement various system management workflows. 4.1 RAID stacking: ResetConfig, CreateVD, Assign Hot-Spares This workflow stacks multiple RAID operations together and is applied immediately using the TIME_NOW parameter, which requires one reboot operation.
a. RAIDTypes parameter will be 4, for a RAID 1 configuration b. PhysicalDiskIDS parameter will list physical disks used ENUMERATE the DCIM_PhysicalDiskView class to ensure successful hotspare assignments. See section 2.2 for a definition of ENUMERATE . a. b. HotSpareStatus parameter of 2, indicates global hotspare HotSpareStatus parameter of 1, indicates dedicated hotspare Note: H200 controller is unique in that it always returns 2 for both dedicated and global hotspares. 4.
I) CreateBIOSConfigJob(): Apply step H) without reboot type, without UntilTime, and without ScheduledStartTime parameter TIME_NOW. [ReturnValue=4096] J) CreateRebootJob(): Pass RebootJobType of 3 parameter 1 = PowerCycle 2 = Graceful reboot without forced shutdown 3 = Graceful reboot with forced shutdown SetupJobQueue(): Use RAID JID(G), BIOS JID(J), and reboot RID(K) [ReturnValue=0] Poll jobstatus for Completed: GET the InstanceID of from G) or J). See section 2.3 for a definition of GET.
1. The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. Note: GetRemoteServicesAPIStatus() will return “not ready” if drivers or an ISO is already attached. DetachDrivers(): Ensures any drivers are detached. DetachISOImage(): Ensures all images are detached.
E) DeleteISOFromVFlash(): Ensures all previous images are deleted. F) DownloadISOToVFlash(): Download desired image from network to vFlash. G) Poll concrete job until ‘Success’. H) GetDriverPackInfo(): Displays available OS drivers. This is only required for end to end OS deployment. I) UnpackAndAttach(): Unpacks and attaches desired driver pack. The resulting concrete job is invoked immediately. This is only required for end to end OS deployment. J) Poll concrete job until ‘Success’.
The CurrentAssignedSequence attribute of each instance defines the instance’s place in the zero based indexed boot sequence b. The CurrentEnabledStatus attribute defines whether the boot source, such as the hard drive, is enabled c.
Applies to: LC1.5.0+ Prerequisites for script: Valid and enabled vFlash card for licensing Set script variables by editing script Script: Backup_CIFS_NFS.win The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. BackupImage(): Performs backup operation [ReturnValue=4096].
Note: The Automatic Backup schedule can be cleared by using the ClearBackupSchedule() function. The Automatic Backup feature can be disabled by setting the “Automatic Backup Feature” attribute to “Disabled” using the SetLCAttribute() function. 4.9 Import (Restore) Image from vFlash This workflow performs a restore, or import operation, which restores the image from the vFlash. The TIME_NOW parameter is passed, which invokes the operation immediately.
4.11 iDRAC Firmware DUP Update from CIFS or TFTP Share This workflow performs an update of the iDRAC firmware from a DUP by first downloading the DUP to the system, then applying the update. The update of the iDRAC firmware will be invoked after being scheduled using SetupJobQueue. Approximate time for completion is 30-60 minutes depending on the system configuration and network. Applies to: LC1.3.
4.12 BIOS Firmware DUP Update from CIFS or TFTP Share This workflow performs an update of the BIOS firmware from a DUP by first downloading the DUP to the system, then applying the update. The update of the BIOS firmware will be invoked after being scheduled using SetupJobQueue. Approximate time for completion is 30-60 minutes depending on the system configuration and network. Applies to: LC1.3.
4.13 USC Firmware DUP Update from CIFS or TFTP Share This workflow performs an update of the USC (LC) firmware from a DUP by first downloading the DUP to the system, then applying the update. By design, the update of the USC firmware will be invoked immediately following download completion and cannot be scheduled for a later time. Approximate time for completion is 30-60 minutes depending on the system configuration. Applies to: LC1.3.
Applies to: LC2 1.3.0+ and iDRAC 1.50.50 + Prerequisites for script: A network share (CIFS/NFS) to access the repository of firmware updates A software license for 12th Generation Dell PowerEdge servers Set script variables by editing script/XML file Script: Auto_Update.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) InstallFromRepository(): Point to a network share where a catalog file is available and initiate firmware updates from this repository.
4.17 Remote Diagnostics (12th Generation and later version of servers only) This workflow provides for remote invocation and execution of Hardware Diagnostics on a Dell PowerEdge Server and exporting the results of the diagnostics execution to a CIFS/NFS share. Applies to: LC2 1.3.0+ and iDRAC 1.50.
B) Enable CSIOR (Collect System Inventory on Restart) a. SetAttribute(): Sets attribute to be configured [ReturnValue=0] b. CreateConfigJob(): Creates jobID and applies configuration [ReturnValue=4096] C) Call subroutine sub_setEmbNICs_NIC1_NIC2.win to perform the following: a. b. c. d. e.
Note: The following RS Status polling is for PXE to be set in the boot list during CSIOR The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. The GetRSStatus() method must first poll for ‘reloading’ then poll for ‘ready’, while the GetRemoteServicesAPIStatus() can just poll for ‘ready.’ g.
GetRemoteServicesAPIStatus() B) Enable CSIOR (Collect System Inventory on Restart) a. SetAttribute(): Sets attribute to be configured [ReturnValue=0] b. CreateConfigJob(): Creates jobID and applies configuration [ReturnValue=4096] C) Call subroutine sub_setEmbNICs_NIC1_NIC2_12G.win to perform the following: a. b. c. d. e.
4.20 Set NIC Attributes and iSCSI Boot Using Setupjobqueue (11G Only) This workflow sets several NIC attributes, including setup of iSCSI boot, by first setting the required attributes for the operation, and then changing the boot order for the NIC. Approximate time for completion on an 11G system is 15-30 minutes depending on the system configuration. Applies to: LC1.5.0 & LC1.5.1 Prerequisites for script: Set script variables by editing script Script: setNICs_iSCSI_boot.
Note: The following status polling is for subsequent CSIOR G) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. H) ENUMERATE the DCIM_BootSourceSetting class to collect information about the system. See section 2.2 for a definition of ENUMERATE .
Note: Additional details of the coding steps shown below, generational differences, and other iSCSI information can be found in Appendix: iSCSI Boot information. Applies to: LC2+ Prerequisites for script: Network Daughter Card (NDC) / Broadcom NIC This script will only work using an NIC FQDD of NIC.Integrated.1-1 or NIC.Integrated.1-1-1 Only works with first port-partition of 12G NDC (script limitation) System must be powered off Edit script to set desired parameters Script: iscsiboot-12gNDC.
4.22 iSCSI Boot Using QLogic (12th Generation and Later Version of Servers only) This workflow sets several NIC attributes, including setup of iSCSI boot, by first setting the required attributes for the operation, and then changing the boot order for the NIC. Additional detail is provided as setting up iSCSI boot is complex. Approximate time for completion on a 12G system is 15-30 minutes depending on the system configuration.
Loop through all boot sources, if boot source is IPL entry, set EnabledState=0 unless HD E) ChangeBootSourceState(): Use InstanceID=IPL EnabledState=0 source=(instanceID from D) F) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE .
Prerequisites for script: Intel NIC Edit script to set desired parameters Script: iscsiboot-12gHBA-intel.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus() B) GetNICViews: ENUMERATE the DCIM_NICVIEW class to collect information about the NIC FQDDs. See section 2.2 for a definition of ENUMERATE .
c. d. CreateBIOSConfigJob(): Use Target=(BIOS FQDD) DPoll jobstatus for Completed: GET the InstanceID of from BIOS config job Notes: 1) Intel will not show up in the boot list until it connects to an iSCSI target. So if you misconfigure iSCSI or the network is down it does not show up. 2) You cannot disable RAID and SATA HDs in the boot list. Either disable the controller, but then they are not available as secondary disks or move them down in the HD boot list.
[Pre-LC2] NOTE: The following RS Status polling is for CSIOR, assuming its enabled G) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. The GetRSStatus() method must first poll for ‘reloading’ then poll for ‘ready’, while the GetRemoteServicesAPIStatus() can just poll for ‘ready.
3)Once it is in the boot order, move it to the top of the HD list Notes: 1) QLogic will not show up in the boot list until it connects to an FCoE target. So if you misconfigure FCoE or the network is down it does not show up. 2) You cannot disable RAID and SATA HDs in the boot list. Either disable the controller, but then they are not available as secondary disks or move them down in the HD boot list.
CreateNICConfigJob with RebootJobType=1 D) Configure FCoE 1. Disable all sources Create BIOS job Set Partition Attributes as follows: SetNICAttributes() on NIC.Integrated.
M) Poll jobstatus for Completed: GET the InstanceID of from F). See section 2.3 for a definition of GET. 4.27 FCoE Boot Using Intel (12th Generation and Later Version of Servers Only) This workflow sets several NIC attributes, including setup of Fiber Channel over Ethernet (FCoE), by first setting the attributes for the operation and then changing the boot order for the NIC. Approximate time for completion on a 12G system is 20-30 minutes depending on the system configuration.
ScheduledStartTime=TIME_NOW RebootJobType=1 Poll jobstatus for Completed: GET the InstanceID of from 2).
GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE. Change NIC boot source J) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE .
SetBIOSAttributes() AttributeName=$nicAttributeName AttributeValue=Enabled AttributeName=BootMode AttributeValue=Bios CreateBIOSConfigJob() ScheduledStartTime=TIME_NOW RebootJobType=1 Poll jobstatus for Completed B) Check partition is enabled, if not enable it as follows AttributeName=NicPartitioning AttributeValue=Enabled C) Configure FCoE 1.
Partition 1: NIC Partition 3: iSCSI Partition 4: FCoE Applies to: LC2+ Prerequisites for script: QLogic card Set desired script variables by editing script Script: IO_IdentityQlogic.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus(): B) Check NIC is enabled 1. GetBIOSEnumerations(): ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system.
4.30 IO Identity for Broadcom (12th Generation and later version of servers only) This workflow sets IO Identity for Broadcom card only. The script is an example for setting IO Identity for the following set: Partition Disabled Applies to: LC2+ Prerequisites for script: • Broadcom card • Set desired script variables by editing script Script: IO_IdentityBroadcom.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
FCoE Applies to: LC2+ Prerequisites for script: Intel card Set desired script variables by editing script Intel cards have no partitions Script: IO_IdentityIntel.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus(): B) Check NIC is enabled 1. GetBIOSEnumerations(): ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system.
A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile. B) ExportSystemConfiguration(): Invokes the export operation [ReturnValue=4096] Note: The user must set applicable IP address, username, password, and filename of the network share. C) Poll jobstatus for Completed: GET the InstanceID of from B). See section 2.
Warm boot Cold boot No reset Applies to: LC2.1+ Prerequisites for script: Place applicable ISO image in applicable network share Set script variables by editing script Script: BootToNetworkISO.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
5 Base Metrics Profile Use Cases 5.1 Discovery of Base Metrics Profile Support Use the following procedure below to confirm the existence of Base Metrics profile support. Note: Prior to LC2.0.0, this profile resided as a CIM profile, not LC profile. Applies to: LC1.5.1+ Prerequisites for script: none Script: GetBaseMetricsProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
ProfileRequireLicenseStatus = LICENSED RegisteredName = Base Metrics RegisteredOrganization = 1 RegisteredVersion = 1.0.
6 BIOS and Boot Management Profile Use Cases 6.1 Discovery of BIOS and Boot Profile Support Use the following procedure below to confirm the existence of BIOS and boot profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetBIOSandBootProfile.win E) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
6.2 List All BIOS Attributes Use the following procedure below to view all available instances of the DCIM_BIOSEnumeration class, DCIM_BIOSInteger class, and DCIM_BIOSString classes in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetAllBIOSAttributes.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
6.4 Inventory of Boot Configurations in System Use the following procedure below to view all available instances of the DCIM_BootConfigSetting class. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetBootConfigurations.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Script: GetBootSources.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to view all instances. See section 2.2 for a definition of ENUMERATE. The instance information of all available boot sources will be returned. 6.
E) ChangeBootSourceState(): using instanceID = IPL and EnabledState=1 [ReturnValue=0] F) Poll jobstatus for Completed: GET the InstanceID of from E). See section 2.3 for a definition of GET. I) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
The job will be marked ‘Completed’ after the successful one time boot to the device.
7 CPU Profile Use Cases 7.1 Discovery of CPU Profile Support Use the following procedure below to confirm the existence of CPU profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetCPUProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Applies to: LC1.5.0+ Prerequisites for script: none Script: GetCPUViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetCPUViews(): ENUMERATE the DCIM_CPUView class to view all instances. See section 2.2 for a definition of ENUMERATE.
8 Event Filter Profile Use Cases 8.1 Discovery of Event Filter Profile Support Use the following procedure below to confirm the existence of Event Filter profile support. This profile is currently not supported prior to LC2. Applies to: LC2+ Prerequisites for script: none Script: GetEventFilterProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredVersion = 1.0.0 8.2 Get Event Filter Configuration Service Views Enumerate the DCIM_EFConfigurationService class to view all available instances of the class. Applies to: LC2+ Prerequisites for script: none Script: GetEFConfigurationServiceViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetEFConfigurationServiceViews(): ENUMERATE the DCIM_EFConfigurationService class to view all instances.
A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetEventFilterView(): GET the DCIM_EventFilter instance. See Section 2.3 for a definition of GET. The desired instance information will be returned. 8.5 Set event filters by category This workflow is used to set the action and notifications for all the event filters that belong to a particular category, subcategory and severity.
9 iDRAC Card Profile Use Cases 9.1 Discovery of iDRAC Card Profile Support Use the following procedure below to confirm the existence of iDRAC Card profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetiDRACCardProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
ProfileRequireLicense = Directory Services ProfileRequireLicense = IPv6 ProfileRequireLicense = Dynamic DNS ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED RegisteredName = iDRAC Card RegisteredOrganization = 1 RegisteredVersion = 1.2.0 9.
Prerequisites for script: none Script: GetiDRACCardViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetiDRACCardViews(): ENUMERATE the DCIM_iDRACCardView class to view all instances. See section 2.2 for a definition of ENUMERATE.
B) GetiDRACCardAttributes(): ENUMERATE the DCIM_iDRACCardAttribute class to view all available attributes. See section 2.2 for a definition of ENUMERATE . C) Confirm the IsReadOnly field is set to false D) ApplyAttributes(): Invoke method to apply attribute(s) E) GetiDRACCardAttributes(): ENUMERATE the DCIM_iDRACCardAttribute class to view all available attributes and confirm the changes were successful. See section 2.2 for a definition of ENUMERATE . 9.
10 Fan Profile Use Cases 10.1 Discovery of Fan Profile Support Use the following procedure below to confirm the existence of fan profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetFanProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Applies to: LC1.5.0+ Prerequisites for script: none Script: GetFanViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetFanViews(): ENUMERATE the DCIM_FanView class to view all instances. See section 2.2 for a definition of ENUMERATE.
11 Persistent Storage Profile Use Cases 11.1 Discovery of Persistent Storage Profile Support Use the following procedure below to confirm the existence of Persistent Storage profile support. Applies to: LC1.4.0+ Prerequisites for script: none Script: GetPersistentStorageProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredOrganization = 1 RegisteredVersion = 1.0.0 11.2 Inventory of Virtual Flash (vFlash) Media Use the following procedure below to list the inventory of all vFlash in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetvFlashViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
Prerequisites for script: none Script: GetVFlashPartitionViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetVFlashPartitionViews(): ENUMERATE the DCIM_OpaqueManagementData class to view all instances. See section 2.2 for a definition of ENUMERATE .
B) GetVFlashViews(): ENUMERATE the DCIM_VFlashView class to view the current value of VFlashEnabledState property. See section 2.2 for a definition of ENUMERATE. C) VFlashStateChange(): Invokes the VFlashStateChange method on the class DCIM_PersistentStorageService D) Repeat B) to confirm successful execution of the method 11.7 Disable Virtual Flash (vFlash) Media This method is used to disable the virtual flash media device. Applies to: LC1.5.0+ Prerequisites for script: none Script: DisableVFlash.
F) Repeat B) to confirm successful execution of the method 11.9 Create New Partition Using Image This method is used to create a new partition on the virtual flash media device using an image from a network share. Applies to: LC1.5.0+ Prerequisites for script: set variables by editing script Script: VFlashCreatePartitionUsingImage.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
11.11 Format Existing Partition This method is used to format a partition on the virtual flash media device. Applies to: LC1.5.0+ Prerequisites for script: set variables by editing script Script: VFlashFormatPartition.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Applies to: LC1.5.0+ Prerequisites for script: set variables by editing script Script: VFlashAttachPartition.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) ExportDataFromPartition(): Invokes the ExportDataFromPartition method on the class DCIM_PersistentStorageService C) Poll jobstatus for Completed: GET the InstanceID of from B). See section 2.3 for a definition of GET.
12 Power State Management Profile Use Cases 12.1 Discovery of Power State Management Profile Support Use the following procedure below to confirm the existence of Power State Management profile support. Note: Prior to LC2.0.0, this profile resided as a CIM profile, not LC profile. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetPowerStateMGMTProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredName = Power State Management RegisteredOrganization = 1 RegisteredVersion = 1.0.
13 Profile Registration Profile Use Cases 13.1 Discovery of Profile Registration Profile Support Use the following procedure below to confirm the existence of profile registration profile support. Applies to: LC2+ Prerequisites for script: none Script: GetProfileRegistrationProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WS-Man commands.
14 Simple RAID Profile Use Cases 14.1 Discovery of RAID Profile Support Use the following procedure below to confirm the existence of RAID profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetRAIDProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
RegisteredOrganization = 1 RegisteredVersion = 1.2.0 14.2 Inventory of RAID Controllers in System Use the following procedure below to list the inventory of all RAID controllers in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetRAIDControllerViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
Prerequisites for script: none Script: GetRAIDDiskInventory.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetVirtualDiskViews(): ENUMERATE the DCIM_VirtualDiskView class to view all instances. See section 2.2 for a definition of ENUMERATE .
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetControllerViews(): ENUMERATE the DCIM_ControllerView class to view all available RAID FQDDs. See section 2.2 for a definition of ENUMERATE. C) ClearForeignConfig(): Clears the configuration for a particular RAID controller, using a target FQDD.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetControllerViews(): ENUMERATE the DCIM_ControllerView class to view all available RAID FQDDs. See section 2.2 for a definition of ENUMERATE.
Set desired RAID controller FQDD, physical disk FQDDs, and RAID level parameters by editing script Script: GetDHSDisks.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetControllerViews(): ENUMERATE the DCIM_ControllerView class to view all available RAID FQDDs. See section 2.
The GetRSStatus() method must first poll for ‘reloading’ then poll for ‘ready’, while the GetRemoteServicesAPIStatus() can just poll for ‘ready.’ H) ENUMERATE the DCIM_VirtualDiskView class to ensure successful virtual disk deletion. See section 2.2 for a definition of ENUMERATE . Confirm successful execution of the method by listing the virtual disks. The deleted virtual disk should not be displayed. 14.
Note the new value of the RaidStatus parameter of the desired physical disk. 14.17 Convert Physical Disk Drives to Non-RAID State The ConvertToNonRAID() method is used to convert a set of physical disks in RAID state to a state not usable for RAID. After the method is successfully executed the PendingValue property of RAIDPDState should reflect the pending changes. After the CreateTargetedConfigJob method is successfully executed the DCIM_PhysicalDiskView.
15 Record Log Profile Use Cases 15.1 Discovery of Record Log Profile Support Use the following procedure below to confirm the existence of Record Log profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetRecordLogProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
15.2 List Lifecycle Record Logs Use the following procedure below to list the inventory of all LCRecordLog instances in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetLCRecordLogs.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Script: GetLCLogEntries.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetLCLogEntries(): ENUMERATE the DCIM_LCLogEntry class to view all instances. See section 2.2 for a definition of ENUMERATE. The instance information of all available LCLogEntry will be returned 15.
Script: GetSystemEventLogs.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetSystemEventLogs(): ENUMERATE the DCIM_SELRecordLog class to view all instances. See section 2.2 for a definition of ENUMERATE. The instance information of all available SELRecordLog will be returned 15.
16 Role Based Authorization Profile (RBAP) use cases 16.1 Discovery of RBAP Profile Support Use the following procedure below to confirm the existence of Role Based Authorization profile support. Note: Prior to LC2.0.0, this profile resided as a CIM profile, not LC profile. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetRBAProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredName = Role Based Authorization RegisteredOrganization = 1 RegisteredVersion = 1.0.0 16.2 Discovery of Users With Assigned LAN Privileges Enumerate the DCIM_IPMIRBAIdentityMemberOfCollection class to view all IPMI LAN identities that are assigned a role. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetUsersAssignedLANPrivileges.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
16.4 Discovery of Users With Assigned CLP Privileges Enumerate the DCIM_CLPRBAIdentityMemberOfCollection class to view all CLP identities that are assigned a role. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetUsersAssignedCLPPrivileges.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
17 Service Processor Profile Use Cases 17.1 Discovery of Service Processor Profile Support Use the following procedure below to confirm the existence of Service Processor profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetServiceProcessorProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
18 Simple NIC Profile Use Cases 18.1 Discovery of Simple NIC Profile Support Use the following procedure below to confirm the existence of Simple NIC profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetNICProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
ProfileRequireLicenseStatus = LICENSED RegisteredName = Simple NIC RegisteredOrganization = 1 RegisteredVersion = 1.2.0 18.2 Inventory of NICs in System Use the following procedure below to list the inventory of all NICs in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetNICViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
18.4 List All NIC Attributes Use the following procedure below to view all available attributes and possible values of all NICs in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetAllNICAttributes.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetNICCapabilities(): ENUMERATE the DCIM_NICCapabilities class to view all instances of the class. See section 2.2 for a definition of ENUMERATE .
19 Software Update Profile Use Cases 19.1 Discovery of Software Update Profile Support Use the following procedure below to confirm the existence of software update profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetSoftwareUpdateProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
Lifecycle Controller Integration Best Practices Guide
20 Job Control Profile Use Cases 20.1 Discovery of Job Control Profile Support Use the following procedure below to confirm the existence of Job Control profile support. Applies to: LC1.4.0+ Prerequisites for script: none Script: GetJobControlProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
20.2 List All Jobs in Job Store Getting all the jobs in the job store is a matter of confirming the system is in a ready state and then enumerating the DCIM_LifecycleJob class to view all available instances of the class. Applies to: LC1.4.0+ Prerequisites for script: none Script: ListAllJobs.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) DeleteJobQueue(): Delete all jobs from the job store by setting JobID="JID_CLEARALL" C) [LC1.5.
21 Memory Profile Use Cases 21.1 Discovery of Memory Profile Support Use the following procedure below to confirm the existence of memory profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetMemoryProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
RegisteredVersion = 1.1.0 21.2 Inventory of memory in system Use the following procedure below to list the inventory of all memory DIMMs in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetMemoryViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
22 PCI Device Profile Use Cases 22.1 Discovery of PCI Device Profile Support Use the following procedure below to confirm the existence of PCI Device profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetPCIDeviceProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
RegisteredOrganization = 1 RegisteredVersion = 1.0.
23 Sensors Profile Use Cases 23.1 Discovery of Sensor Profile Support There is currently not a registered Sensor Profile prior to LC2.0. However, the CIM_Sensor class has been implemented, which returns all the sensor views when enumerated. Use the following procedure below to confirm the existence of Sensors profile support in LC2.0+. Applies to: LC2+ Prerequisites for script: none Script: GetSensorProfile.
RegisteredOrganization = 1 RegisteredVersion = 1.0.0 23.2 Inventory of Sensor in System Use the following procedure below to list the inventory of all sensors in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetSensorViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
24 Base Server and Physical Asset Profile Use Cases 24.1 Discovery of Base Server and Physical Asset Profile Support There is not an LC registered Base Server and Physical Asset Profile prior to LC2.0. Use the following procedure below to confirm the existence of the Base Server and Physical Asset profile support in LC2.0+. Applies to: LC2+ Prerequisites for script: none Script: GetBaseServerAndPhysicalAssetProfile.
RegisteredOrganization = 1 RegisteredVersion = 1.0.0 24.2 Discovery of Base Server and Physical Asset profile support [LC1.5.1] There is not an LC registered Base Server and Physical Asset Profile prior to LC2.0. There are however, separate Base Server and Physical Asset profiles. Use the following procedure below to confirm the existence of the Base Server profile and Physical Asset profile support prior to LC2.0. Applies to: LC1.5.0, LC1.5.
RegisteredVersion = 1.0.0 F) GetCIMRegisteredProfile(): GET the DCIM_RegisteredProfile instance using the InstanceID from D). See Section 2.3 for a definition of GET. CIM_RegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypes = 1 Caption Description ElementName InstanceID = DCIM:PhysicalAssetRegisteredProfile:1 OtherRegisteredOrganization RegisteredName = Physical Asset RegisteredOrganization = 2 RegisteredVersion = 1.0.0 24.
25 Video Profile Use Cases 25.1 Discovery of Video Profile Support Use the following procedure below to confirm the existence of Video profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetVideoProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
25.2 Inventory of Video in System Use the following procedure below to list the inventory of all video in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetVideoViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
26 License Management Profile UseCases 26.1 Discovery of License Management Profile Support Use the following procedure below to confirm the existence of License Management profile support. Applies to: LC2+ Prerequisites for script: none Script: GetLicenseManagementProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
27 Power Supply Profile―UseCases 27.1 Discovery of Power Supply Profile Support Use the following procedure below to confirm the existence of Power Supply profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetPowerSupplyProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
27.2 Inventory of Power Supplies in System Use the following procedure below to list the inventory of all power supplies in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetPowerSupplyViews.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. The GetRSStatus() method or the GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetSystemViews(): ENUMERATE the DCIM_SystemView class. See section 2.2 for a definition of ENUMERATE. C) GetHostMACInfo(): Invoke GetHostMACInfo [ReturnValue=0] 27.
28 System Info Profile Use Cases 28.1 Discovery of System Info Profile Support Use the following procedure below to confirm the existence of System Info profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetSystemInfoProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredOrganization = 1 RegisteredVersion = 1.2.0 28.2 Inventory of System Info View Use the following procedure below to list the inventory of all system info in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetSystemInfoViews.win GetSystemViews(): ENUMERATE the DCIM_SystemView class to view all instances. See section 2.2 for a definition of ENUMERATE . The instance information of all available system info will be returned. 28.
Script: GetSystemAttributes.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetSystemAttributes(): ENUMERATE the DCIM_SystemAttribute class to view all instances of the attributes: DCIM_SystemEnumeration, DCIM_SystemInteger, and DCIM_SystemString. See section 2.2 for a definition of ENUMERATE. The instance information of all available system attributes will be returned. 28.
D) SetSystemAttribute(): Invoke the SetSystemAttribute() method on the DCIM_SystemManagement class. The method will set the PendingValue property of the system attributes to the specified value passed in from the input parameters. [Return value = 0] Note: Use SetSystemAttribute() to set one attribute and SetSystemAttributes() to set multiple attributes. Both methods take the same input parameters but the types of input parameter are different.
29 Software Inventory Profile Use Cases 29.1 Instance Diagram System NIC1-SoftwareIdentity A v a i l a b l e I n BIOS1-SoftwareIdentity s t a l l e d iDRAC1-SoftwareIdentity RAID1-SoftwareIdentity NIC2-SoftwareIdentity 29.2 BIOS2-SoftwareIdentity iDRAC2-SoftwareIdentity RAID2-SoftwareIdentity Discovery of Software Inventory Profile Support Use the following procedure below to confirm the existence of Software Inventory profile support. Applies to: LC1.4.
DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:SoftwareInventory:1.0.0 OtherRegisteredOrganization = DCIM ProfileRequireLicense = Remote Inventory ProfileRequireLicenseStatus = LICENSED RegisteredName = Software Inventory RegisteredOrganization = 1 RegisteredVersion = 1.1.0 29.
Prerequisites for script: none Script: GetInstalledBIOSView.win A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetSoftwareIdentities(): ENUMERATE the DCIM_SoftwareIdentity class to view all instances. See section 2.2 for a definition of ENUMERATE .
30 Simple Identity Management Profile Use Cases 30.1 Discovery of Simple Identity Management Profile Support There is currently not a registered Simple Identity Management Profile prior to LC2. Use the following procedure below to confirm the existence of Simple Identity Management profile support. Applies to: LC2+ Prerequisites for script: none Script: GetSimpleIdentityMGMTProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
RegisteredVersion = 1.0.
31 LC Management Profile Use Cases 31.1 Discovery of LC Management Profile Support Use the following procedure below to confirm the existence of LC Management profile support. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetLCManagementProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED RegisteredName = LC Management RegisteredOrganization = 1 RegisteredVersion = 1.4.0 31.2 Inventory of LC Management Attributes in System Use the following procedure below to view all available LC attributes and possible values in the system. Applies to: LC1.5.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetLCEnumerations(): ENUMERATE the DCIM_LCEnumeration class and find the current value of CSIOR by searching for “AttributeName=Collect System Inventory on Restart". See section 2.2 for a definition of ENUMERATE.
A) The Lifecycle Controller remote service must be in a “ready” state before running 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) GetLCEnumerations(): ENUMERATE the DCIM_LCEnumeration class to new view all available instances. See section 2.2 for a definition of ENUMERATE. C) Search for “AttributeName = Part Firmware Update” and note its instanceID to use in step D).
IsReadOnly = true PendingValue PossibleValues = No PossibleValues = Yes 31.7 Set Configuration to “Auto Discovery Factory Defaults” Use the following procedure to set the Auto Discovery configuration to factory defaults. Applies to: LC1.5.0+ Prerequisites for script: none Script: SetAutoDiscoveryFactoryDefaults.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
B) ClearProvisioningServer(): Invokes the ClearProvisioningServer method. 31.9 Replace Auto Discovery Public Key Refer to Web Service Interface Guide section 12.6 31.10 Replace Auto Discovery Client Certificate, Private Key and Password Refer to Web Service Interface Guide section 12.7. 31.11 Delete Auto Discovery Public Key Refer to Web Service Interface Guide section 12.11. 31.12 Delete Auto Discovery Client Certificat, Private Key and Password Refer to Web Service Interface Guide section 12.8.
31.17 Export and View the Current Hardware Inventory This workflow exports the hardware inventory to either an NFS or CIFS share. Approximate time for completion on an 11G system is 5 minutes depending on the system configuration. Applies to: LC1.5.0+ Prerequisites for script: Set script variables by editing script Script: ExportHWInventory.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
32 OS Deployment Profile Use Cases 32.1 Discovery of OS Deployment Profile Support Use the following procedure below to confirm the existence of OS Deployment profile support. Applies to: LC1.3.0+ Prerequisites for script: none Script: GetOSDProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
32.2 Unpack and Attach Drivers See section 4.3 Boot to networkISO and 4.4 Boot to ISO from vFlash for a comprehensive example. 32.3 Connect and Attach Network ISO Image See section 4.3 Boot to networkISO and 4.4 Boot to ISO from vFlash for a comprehensive example. 32.4 Disconnect and Detach Network ISO Image See section 4.3 Boot to networkISO and 4.4 Boot to ISO from vFlash for a comprehensive example. 32.5 Get ISO Image Connection Status See section 4.3 Boot to networkISO and 4.
Prerequisites for script: set network parameters by editing script Script: ConnectRFSISOImage.win Note: Check of Lifecycle Controller (LC) remote service state, via GetRemoteServicesAPIStatus(), is not required since ISO is connected using RFS USB endpoint and LC status is not relevant. A) Confirm RFS (remote file share) is NOT in Detach mode. iDRAC attribute AttachMode value needs to be changed to Attached. B) ConnectRFSISOImage(): Invoke the method, successful return value is 0.
32.8 Boot to Hard Disk Drive (HDD) The BootToHD() method is used to boot the system to the hard drive, even if the hard drive is not first in the boot order. Applies to: LC1.5.2+ Prerequisites for script: none Script: BootToHD.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WS-Man commands.
33 Appendix 33.1 PYTHON Scripts README 33.1.1 Purpose The goal of recite.py is to provide a simple and fast interface for the Dell Lifecycle Controller API. It has an interactive mode that is useful to run one off commands against a server as well as batch mode to allow automating a sequence of operations. 33.1.2 Requirements Client: Windows XP or greater with Windows Remote Management (winrm) Linux with Web Services for Management client (wsmancli) Python version 2.4 to 2.
Load IPs from file, one per line, 10.0.0.1 or user:pass@10.0.0.1, # comments a line python recite.py IP=10.0.0.1 GetRSStatus GetLifecycleJobs Execute GetRSStatus and GetLifecycleJobs on specified IP 33.1.4 Commands Most of the API methods exposed by the Dell Lifecycle Controller WS-Man interface are supported. The script also provides a list of common internal commands to allow for minimalprogrammatic functionality.
Perform Until loop On success, perform Find operation GetRSStatus {Status=Reloading {Status=Ready Perform Until looking for Status=Reloading Perform Until looking for Status=Ready GetLifecycleJobs +$njob ?$njob=1 >End Count number of jobs If only one job, Goto End Script execution is terminated if: A command returns an error. E.g. Find, Context, etc. A method returns no data. E.g. GetPhysicalDiskViews when no disks are present.
$USLEEP Default sleep delay in seconds used by until commands between method invocations. Set $USLEEP 20 $UTIMEOUT Default total delay in seconds used by until commands before giving up. Set $UTIMEOUT 900 $VERBOSE Control level of output from recite.py Set $VERBOSE x where x is: 33.1.6 0: Quiet 1: WS-MAN 2: Full Internal Variables $_BATCHFILE Name of current batch file (including path) with \ and / replaced with _. $_DATE Current date and time in yyyymmddhhmmss format.
- Enumerate the CIM_ComputerSystem class to get power status from LC as described in section 8.2 of the WSIG for Windows If system is not in a state required: - Error to user stating system is not in power state required 33.2.2 Check RS Status 33.2.
33.3.3 BIOS Inventory Enumerate DCIM_BIOSEnumeration class for BIOS attributes of interest 33.3.4 Boot Order Inventory Enumerate DCIM_BootSourceSetting for current boot order settings 33.3.5 NIC Inventory Enumerate DCIM_NICView class for total number of NICViews, their types and FQDDs. Note that each NICView represents one port (or partition for a partitioned device). Number of NIC controllers can be calculated by trimming out the second and third octet of the FQDD. - NIC.Mezzanine.2B-1-1 and NIC.
Once all jobs are successfully scheduled, the target machine power state can be polled as described in section 5.2.1 The total time taken for reboot depends on the RebootJobType specified. - For a machine powered down, it shouldn’t take more than 30 seconds to power up. o For a running machine, timeout depends on the RebootJobType: - = PowerCycle – 30 seconds - = Graceful Reboot without forced shutdown – 5 minutes - = Graceful reboot with forced shutdown – 5 minutes 33.4.
Completion of all jobs from the JobStatus perspective will suggest that all job execution tasks are done. However, various LC tasks such as inventory and refresh will still be in progress. The timeouts for these tasks can be accounted for in the next section. JobStatus can be obtained as described in section 10.2.3 of the WSIG for Windows. 33.4.4.3 Inventory After all jobs are executed, SSM will re-inventory the system and signal the iDRAC to re-sync its database.
- Integrated = LOM On 12G - Embedded = LOM - Integrated = NDC Addins can be Slot, Mezzanine, etc.
O Set all iSCSI boot configuration attributes > Wait for both jobs to complete > Wait for CSIOR to complete O Since boot source changes only occur after reboot, they get detected only after CSIOR and refresh Check if NIC is primary bootable device in boot order.
About the Authors This whitepaper is coauthored by Steve Zessin, Ganesh Viswanathan, Zhan Liu, and Ajay Shenoy. They are software development engineers with the Dell Enterprise Servers Group―Firmware group.