Lifecycle Controller Integration―Best Practices Specification Lifecycle Controller Integration―Best Practices Specification A Dell Technical White Paper Steven Zessin Ganesh Viswanathan Zhan Liu Ajay Shenoy 1
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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 ................................................
Lifecycle Controller Integration―Best Practices Specification 4 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 Workflows ..........................................................................................................
Lifecycle Controller Integration―Best Practices Specification 4.32 Export System Configuration (12th Generation and Later Version of Servers Only) .......... 69 4.33 Import System Configuration (12th Generation and Later Version of Servers Only) .......... 69 4.34 Configurable Boot to Network ISO ................................................................... 70 Base Metrics Profile Use Cases ................................................................................. 71 5 5.
Lifecycle Controller Integration―Best 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 ...................................................
Lifecycle Controller Integration―Best 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 .........................................................
Lifecycle Controller Integration―Best Practices Specification 20.5 21 Delete one Job from job store ...................................................................... 115 Memory Profile Use Cases ............................................................................ 115 21.1 Discovery of Memory Profile Support ............................................................... 115 21.2 Inventory of Memory in System...................................................................... 116 21.
Lifecycle Controller Integration―Best Practices Specification 28.8 29 Delete Pending System Attribute Values........................................................... 131 Software Inventory Profile Use Cases .............................................................. 132 29.1 Instance Diagram ...................................................................................... 132 29.2 Discovery of Software Inventory Profile Support ................................................. 132 29.
Lifecycle Controller Integration―Best 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) ....
Lifecycle Controller Integration―Best 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 ....................................
Lifecycle Controller Integration―Best Practices Specification 1 1.1 Contents 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best Practices Specification [major change] . [minor change] . [errata] 1.6 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best Practices Specification 1.7.3 11G and 12G compatibility Figure 3. Compatibility with 11G Workflows [NOT TO SCALE] READY FOR EXECUTION SCHEDULED Job Status RUNNING COMPLETED GetRSStatus() RELOADING READY READY SYNC 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.
Lifecycle Controller Integration―Best Practices Specification 1.7.4 GetRemoteServicesAPIStatus output descriptions Output parameter Name Status Possible values 0 (Ready) 1 (Not Ready) LC060 LC061 Lifecycle Controller Remote Services Message is not ready. Lifecycle Controller Remote Services is ready. ServerStatus 0 (Powered off) 1 (In POST) 2 (Out of POST) 3 (Collecting System Inventory) Description Lifecycle Controller Remote Services is ready to accept any web services request.
Lifecycle Controller Integration―Best Practices Specification Reference Links 1.8 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).
Lifecycle Controller Integration―Best 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 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.
Lifecycle Controller Integration―Best Practices Specification 3 3.1 Anomalous Algorithms and Descriptions 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.
Lifecycle Controller Integration―Best Practices Specification winrm i ApplyAttributes http://schemas.dmtf.org/wbem/wscim/1/cimschema/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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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_NICAttribute where FQDD='NIC.Integrated.1‐1‐1'" CQL filter example that enumerates all iDRAC attributes with a particular GroupDisplayName and AttributeName 3.9.
Lifecycle Controller Integration―Best Practices Specification 1. Username 2. Password 3. This ordering is applicable to both ApplyAttributes() and SetAttributes() iDRAC methods. Use the reverse order when clearing/disabling the account. 3.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best 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.
Lifecycle Controller Integration―Best Practices Specification LastUpdateTime = 20130206004538.000000+000 LicensingRollupStatus = 1 LifecycleControllerVersion = 2.1.0 Manufacturer = Dell Inc.
Lifecycle Controller Integration―Best Practices Specification tftp://[IP ADDRESS]/[PATH TO FILE.exe] ftp://[IP ADDRESS]/[PATH TO FILE.exe] 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.
Lifecycle Controller Integration―Best Practices Specification F) AssignSpare(): Create dedicated hotspare using Create VD instanceID [ReturnValue=0]. G) AssignSpare(): Create global hotspare [ReturnValue=0]. H) CreateRAIDConfigJob(): Apply steps D) – F) [ReturnValue=4096]. I) Poll jobstatus for Completed: GET the InstanceID of from H). See section 2.3 for a definition of GET. J) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification B) [LC1.5.1 only] Disable CSIOR (Collect System Inventory on Restart). NOTE: On 11G systems, CSIOR must be disabled to circumvent a sync behavior that prohibits successful RAID stacking. a. SetAttribute(): Sets attribute to be configured [ReturnValue=0] b. CreateConfigJob(): Creates jobID and applies configuration [ReturnValue=4096] C) ENUMERATE the DCIM_ControllerView class to find RAID controller’s instanceID & FQDD (they are often identical.
Lifecycle Controller Integration―Best Practices Specification a. HotSpareStatus parameter of 2, indicates global hotspare b. HotSpareStatus parameter of 1, indicates dedicated hotspare NOTE: H200 controller is unique in that it always returns 2 for both dedicated and global hotspares P) ENUMERATE the DCIM_BIOSEnumeration class to ensure BIOS settings were correctly set. See section 2.2 for a definition of ENUMERATE . 4.
Lifecycle Controller Integration―Best Practices Specification K) RequestMonoSystemStateChange(): [ReturnValue=0]. NOTE: Modular systems (i.e. M610, M710, etc.) use RequestModSystemStateChange(). 4.4 Boot to ISO from vFlash This workflow boots the host system from an ISO image located on the vFlash. The workflow first removes any existing driver packs or existing attached OS, then gets available OS drivers, unpacks the desired set of drivers, and boots from an image on the vFlash.
Lifecycle Controller Integration―Best Practices Specification N) DetachISOFromVFlash(): [ReturnValue=0]. O) DeleteISOFromVFlash(): [ReturnValue=0]. P) RequestMonoSystemStateChange(): Reboot to finish removal of OS [ReturnValue=0]. NOTE: Modular systems (i.e. M610, M710, etc.) use RequestModSystemStateChange(). 4.5 Set Hard Disk Drive to ‘first’ in Boot Order This workflow will set the hard drive(c:) to the top of the boot order. If the BootMode is set to UEFI, it will set it to BIOS.
Lifecycle Controller Integration―Best Practices Specification H) 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. The GetRSStatus() method must first poll for ‘reloading’ then poll for ‘ready’, while the GetRemoteServicesAPIStatus() can just poll for ‘ready.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: Valid and enabled vFlash card for licensing Set script variables by editing script Script: Backup_CIFS_NFS.win A) 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.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification B) RestoreImage(): Performs restore operation [ReturnValue=4096]. C) Poll jobstatus for Completed: GET the InstanceID of from B). See section 2.3 for a definition of GET. 4.11 iDRAC Firmware DUP uUpdate 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.
Lifecycle Controller Integration―Best Practices Specification I) 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. 4.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification 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 B) C) D) E) F) G) any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification B) InstallFromRepository(): Point to a network share where a catalog file is available and initiate firmware updates from this repository. C) SHENOY TODO: the rest of the content D) 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. 4.
Lifecycle Controller Integration―Best Practices Specification A software license for 12th Generation and later versions of Dell PowerEdge servers Set script variables by editing script/XML file The diagnostics partition must be populated by installing a Diagnostics DUP A CIFS/NFS share for exporting the results of the Diagnostics execution Script: RemoteDiagnostic.win A) The Lifecycle Controller remote service must be in a “ready” state before running any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification d. SetAttribute(): Set child attributes EmbNic1 and EmbNic2 to Disabled [ReturnValue=0] e. CreateBIOSConfigJob(): Creates jobID and applies configuration immediately with reboot job type of 3 [ReturnValue=4096] NOTE: The following RS Status polling for SSIB task f. The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification The GetRSStatus() method must first poll for ‘reloading’ then poll for ‘ready’, while the GetRemoteServicesAPIStatus() can just poll for ‘ready.’ E) Sleep 500 seconds to allow PXE boot to occur. Users would then select applicable PXE boot options before continuing. Proceed to step F) to disable PXE boot. F) Call subroutine sub_setEmbNICs_NIC1_NIC2.win to perform the following: a.
Lifecycle Controller Integration―Best Practices Specification a. GetBIOSEnumerations(): Enumerate the DCIM_BIOSEnumeration to obtain the current values of EmbNic attributes b. DeletePendingBIOSConfiguration(): Ensures there is no other pending BIOS configuration c. SetAttribute(): Set parent attribute EmbNic1Nic2 to Enabled [ReturnValue=0] d. SetAttribute(): Set child attributes EmbNicPort1BootProto to Pxe and EmbNicPort2BootProto to None [ReturnValue=0] e.
Lifecycle Controller Integration―Best Practices Specification 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.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification H) ENUMERATE the DCIM_BootSourceSetting class to collect information about the system. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification 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.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetBIOSEnumerations: ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system. See section 2.
Lifecycle Controller Integration―Best Practices Specification Edit script to set desired parameters FQDD must be NIC.Integrated.1-1-1 or NIC.Integrated.1-1 Script: iscsiboot-12gNDC-qlogic.
Lifecycle Controller Integration―Best Practices Specification G) ChangeBootSourceState(): Use InstanceID=IPL EnabledState=1 source=(instanceID from F) H) 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 I) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification Script: iscsiboot-12gHBA-intel.win A) The Lifecycle Controller remote service must be in a “ready” state before executing 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 .
Lifecycle Controller Integration―Best Practices Specification I) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the NIC FQDDs. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification A) 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) ENUMERATE the DCIM_NICString class to collect information about the NIC’s attributes and FQDD. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification C) Poll jobstatus for Completed: GET the InstanceID of from D). See section 2.3 for a definition of GET. Note: In iDRAC 1.50.50, there is a provision to export the full Lifecycle log (including all active and archived logs). This allows for exceeding the previously set 64K limit. The function ExportFullLCLlog() can be used to export the full Lifecycle log. 4.
Lifecycle Controller Integration―Best Practices Specification 1. System should be power off 2. Clear all unfinished jobs 3. Clear all pending data B) Check NDC is enabled 1. GetBIOSEnumerations(): ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system. See section 2.2 for a definition of ENUMERATE. 2.
Lifecycle Controller Integration―Best Practices Specification G) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE. H) Enable the HD boot source I) ChangeBootSourceState(): Use InstanceID=IPL EnabledState=1 source=(instanceID from F) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class to collect information about the boot sources. See section 2.2 for a definition of ENUMERATE.
Lifecycle Controller Integration―Best Practices Specification Script: FCoEboot-12g-IntelMezz.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus(): 1. System should be power off 2. Clear all unfinished jobs 3. Clear all pending data B) Check NIC is enabled 1. GetBIOSEnumerations(): ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system. See section 2.2 for a definition of ENUMERATE. 2.
Lifecycle Controller Integration―Best Practices Specification 1. Disable all sources 2. Create BIOS job 3. Set Attributes (VLAN etc) as follows SetNICAttributes() on NIC.Mezzanine.2B-1 AttributeName=FCoEOffloadMode AttributeValue=Enabled AttributeName=VirtFIPMacAddr AttributeValue=$VirtFIPMacAddr AttributeName=VirtWWN AttributeValue=$VirtWWN AttributeName=VirtWWPN AttributeValue=$VirtWWPN AttributeName=MinBandwidth AttributeValue=$MinBandwidth AttributeName=MaxBandwidth AttributeValue=$MaxBandwidth 4.
Lifecycle Controller Integration―Best Practices Specification K) ChangeBootOrderByInstanceID(): Use InstanceID=IPL source=(instanceID from I) SetNICAttributes(): Set the attribute LegacyBootProto to the value “FCoE” and the other desired NIC attributes and values L) CreateBIOSConfigJob(): Use Target=(BIOS FQDD) ScheduledStartTime=TIME_NOW RebootJobType=1 M) Poll jobstatus for Completed: GET the InstanceID of from F). See section 2.3 for a definition of GET. 4.
Lifecycle Controller Integration―Best Practices Specification 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. Disable all sources 2. Create BIOS job 3.
Lifecycle Controller Integration―Best Practices Specification 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 executing any other WSMAN commands. GetRemoteServicesAPIStatus(): B) Check NIC is enabled 1. GetBIOSEnumerations(): ENUMERATE the DCIM_BIOSEnumeration class to collect information about the system. 2.
Lifecycle Controller Integration―Best Practices Specification 4.30 Poll job status for completion using InstanceID form CreateNICConfigJob() IO Identity for Broadcom (12G 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.
Lifecycle Controller Integration―Best Practices Specification SetNICAttributes() Target = (NIC FQDD) CreateNICConfigJob() Target = (NIC FQDD) Poll job status for completion using instanceID form CreateNICConfigJob() 67
Lifecycle Controller Integration―Best Practices Specification 4.31 IO Identity for Intel (12G only) This workflow sets IO Identity for Intel cards only. The script is an example for setting IO Identity for the following: Port 1 NIC FCoE Applies to: LC2+ Prerequisites for script: Intel card Set desired script variables by editing script Intel cards have no partitions Script: IO_IdentityIntel.
Lifecycle Controller Integration―Best Practices Specification 4.32 SetNICAttributes() Target = (NIC FQDD) AttributeName= VirtMacAddr/ VirtFIPMacAddr/ VirtWWN/VirtWWPN CreateNICConfigJob() Target = (NIC FQDD) RebootJobType=1 Poll job status for completion using instanceID form CreateNICConfigJob() Export System Configuration (12th Generation and Later Version of Servers Only) This method is used to export the system configuration from the Lifecycle Controller to a file on a remote share.
Lifecycle Controller Integration―Best Practices Specification Script: ImportSystemConfiguration.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. The GetRemoteServicesAPIStatus() method may be used depending on the version of the LC Management registered profile.
Lifecycle Controller Integration―Best Practices Specification 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 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.
Lifecycle Controller Integration―Best Practices Specification C) Search for “RegisteredName= Role Based Authorization” and note its instanceID to use in step D) D) GET the applicable instance using the InstanceID from C). See Section 2.3 for a definition of GET. [LC1.5.0/LC1.5.1] GetCIMRegisteredProfile(): [LC2.0.0] GetLCRegisteredProfile(): Results for the InstanceID of DCIM:BaseMetrics:1.0.0 shown below. If no instance is returned, the profile is not supported.
Lifecycle Controller Integration―Best Practices Specification Results for the InstanceID of DCIM:BIOSandBootManagement:1.0.0 shown below. If no instance is returned, the profile is not supported. DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:BIOSandBootManagement:1.0.
Lifecycle Controller Integration―Best Practices Specification Script: DeletePendingBIOSConfiguration.win A) 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) GetBIOSEnumerations (): ENUMERATE the DCIM_BIOSEnumeration class to view all available BIOS FQDDs. See section 2.
Lifecycle Controller Integration―Best Practices Specification B) GetBootConfigSetting(): GET the DCIM_BootConfigSetting instance using the InstanceID=IPL. See Section 2.3 for a definition of GET. The instance of DCIM_BootConfigSetting that contains the information on the first boot configuration will be returned 6.6 Inventory of boot Sources in System Use the following procedure below to view all available instances of the DCIM_BootSourceSetting class. Applies to: LC1.5.
Lifecycle Controller Integration―Best Practices Specification b. CreateConfigJob(): Creates jobID and applies configuration [ReturnValue=4096] C) GetBootConfigSettings(): ENUMERATE the DCIM_BootConfigSetting class to identify the ElementName field containing BootSeq and corresponding InstanceID (IPL or UEFI). See section 2.2 for a definition of ENUMERATE . ElementName = Hard drive C: BootSeq D) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class. See section 2.
Lifecycle Controller Integration―Best Practices Specification C) GetBootSourceSettings(): ENUMERATE the DCIM_BootSourceSetting class and identify the desired one time boot source: vFlash, IPL, or UEFI D) ChangeBootOrderByInstanceID(): using instanceID = OneTime and Source=instanceID from C) E) GetBootConfigSettings(): ENUMERATE the DCIM_BootConfigSetting class.
Lifecycle Controller Integration―Best Practices Specification ProfileRequireLicenseStatus = LICENSED RegisteredName = CPU RegisteredOrganization = 1 RegisteredVersion = 1.0.0 7.2 Inventory of CPUs in System Use the following procedure below to list the inventory of all CPUs in the system. 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 executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification Applies to: LC2+ Prerequisites for script: none Script: GetEventFilterProfile.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification 8.3 Get Event Filter Views Enumerate the DCIM_EventFilter class to view all available instances of the class. Applies to: LC2+ Prerequisites for script: none Script: GetEventFilterViews.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus(): B) GetEventFilters(): ENUMERATE the DCIM_EventFilter class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus(): B) SetEventFilterByCategory(): Sets the action and notifications for the event filters 8.6 Set Event Filters by InstanceID This workflow is used to set the action and notifications for all the event filters that belong to a particular set of InstanceIDs.
Lifecycle Controller Integration―Best Practices Specification Results for the InstanceID of DCIM:iDRACCard:1.0.0 shown below. If no instance is returned, the profile is not supported. DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:iDRACCard:1.0.
Lifecycle Controller Integration―Best Practices Specification Applies to: LC1.5.0+ Prerequisites for script: none Script: GetiDRACCardViews.win A) 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) GetiDRACCardViews(): ENUMERATE the DCIM_iDRACCardView class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification B) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.2 for a definition of ENUMERATE . C) Search for “RegisteredName=Fan” and note its instanceID to use in step D) D) GetLCRegisteredProfile(): GET the DCIM_LCRegisteredProfile instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM:Fan:1.0.0 shown below.
Lifecycle Controller Integration―Best Practices Specification A) 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) GetCPUView(): GET the DCIM_FanView instance using the InstanceID=Fan.embedded.1. See Section 2.3 for a definition of GET.
Lifecycle Controller Integration―Best Practices Specification 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 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) GetvFlashViews(): ENUMERATE the DCIM_VFlashView class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification 11.5 Initialize Virtual Flash Media This method is used to initialize or format the virtual flash media device. Applies to: LC1.5.0+ Prerequisites for script: none Script: InitVFlash.win A) 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.
Lifecycle Controller Integration―Best Practices Specification Script: DisableVFlash.win A) 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) GetVFlashViews(): ENUMERATE the DCIM_VFlashView class to view the current value of VFlashEnabledState property. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification B) GetVFlashPartitionViews(): ENUMERATE the DCIM_OpaqueManagementData class to view the current partitions. See section 2.2 for a definition of ENUMERATE . C) CreatePartitionUsingImage(): Invokes the CreatePartitionUsingImage method on the class DCIM_PersistentStorageService D) Poll jobstatus for Completed: GET the InstanceID of from C). See section 2.3 for a definition of GET. E) Repeat B) to confirm successful execution of the method 11.
Lifecycle Controller Integration―Best Practices Specification D) Poll jobstatus for Completed: GET the InstanceID of from C). See section 2.3 for a definition of GET. E) GetVFlashPartitionViews(): ENUMERATE the DCIM_OpaqueManagementData class to view the current partitions and confirm successful operation. See section 2.2 for a definition of ENUMERATE . 11.12 Modify Existing Partition This method is used to modify a partition on the virtual flash media device. Applies to: LC1.5.
Lifecycle Controller Integration―Best Practices Specification D) GetVFlashPartitionViews(): ENUMERATE the DCIM_OpaqueManagementData class to view the current partitions and confirm successful operation. See section 2.2 for a definition of ENUMERATE . 11.14 Detach Partition This method is used to detach a partition on the virtual flash media device. Applies to: LC1.5.0+ Prerequisites for script: set variables by editing script Script: VFlashDetachPartition.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification 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 executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: none Script: GetRAIDProfile.win A) 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) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.
Lifecycle Controller Integration―Best Practices Specification 14.3 Get the first RAID Controller’s Information Use the following procedure to get a single RAID controller instance. The URI for getting particular instance information is deterministic (i.e the InstanceID will be unique for each instance). Applies to: LC1.5.0+ Prerequisites for script: Set desired instanceID by editing script Script: GetRAIDControllerView.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: Set desired RAID FQDD by editing script Script: DeletePendingRAIDConfiguration.win A) 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.
Lifecycle Controller Integration―Best Practices Specification Applies to: LC1.5.0+ Prerequisites for script: Set desired RAID FQDD by editing script Script: GetRAIDLevels.win A) 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.
Lifecycle Controller Integration―Best Practices Specification Set desired RAID controller FQDD, physical disk FQDDs, and RAID level parameters by editing script Script: CheckVDValues.win A) 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.
Lifecycle Controller Integration―Best Practices Specification The following script can be used to delete an existing virtual disk from a system. Applies to: LC1.5.0+ Prerequisites for script: Set desired RAID virtual disk FQDD by editing script Script: DeleteVirtualDisk.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification DCIM_PhysicalDiskView.RAIDStatus property of that physical disk should reflect the new state. One can expect this operation to take up to 15 minutes depending on system configuration. Applies to: LC2+ Prerequisites for script: Set desired RAID physical disk FQDD by editing script Script: ConvertToRAID.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification Set desired RAID physical disk FQDD by editing script Script: ConvertToNonRAID.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands. GetRemoteServicesAPIStatus() B) GetControllerViews(): ENUMERATE the DCIM_ControllerView class to view all available RAID FQDDs. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification B) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.2 for a definition of ENUMERATE . C) Search for “RegisteredName=Record log” and note its instanceID to use in step D) D) GetLCRegisteredProfile(): GET the DCIM_LCRegisteredProfile instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM:RecordLog:1.0.0 shown below.
Lifecycle Controller Integration―Best Practices Specification Script: GetLCRecordLogCapabilities.win A) 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) GetLCRecordLogCapabilities(): ENUMERATE the DCIM_LCRecordLogCapabilities class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification A) 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) GetLCLogEntries(): ENUMERATE the DCIM_LCLogEntry class to view all instances of the class LCLogEntry. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification The instance information of all available SELRecordLogCapabilities will be returned 15.8 List System Event Log Entries Use the following procedure below to list the inventory of all SELLogEntry instances in the system. Applies to: LC1.5.0+ Prerequisites for script: none Script: GetSystemEventLogEntries.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification [LC2.0.0] GetLCRegisteredProfile(): GET the applicable instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM:RoleBasedAuthorization:1.0.0 shown below. If no instance is returned, the profile is not supported.
Lifecycle Controller Integration―Best Practices Specification A) 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) GetUsersAssignedSerialOverLANPrivileges(): ENUMERATE the DCIM_IPMISOLRBAIdentityMemberOfCollection class to view all instances. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification D) GetLCRegisteredProfile(): GET the DCIM_LCRegisteredProfile instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM: SystemInfo:1.0.0 shown below. If no instance is returned, the profile is not supported.
Lifecycle Controller Integration―Best Practices Specification ProfileRequireLicense = Remote Inventory ProfileRequireLicense = Device Monitoring ProfileRequireLicenseStatus = LICENSED ProfileRequireLicenseStatus = LICENSED 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.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: none Script: GetAllNICAttributes.win A) 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) GetNICAttributes(): ENUMERATE the DCIM_NICAttribute class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification A) 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) GetNICCapabilities(): ENUMERATE the DCIM_NICCapabilities class to view all instances of the class. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification D) GetLCRegisteredProfile(): GET the DCIM_LCRegisteredProfile instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM: SoftwareUpdate:1.0.0 shown below. If no instance is returned, the profile is not supported.
Lifecycle Controller Integration―Best Practices Specification ProfileRequireLicense = Remote Firmware Configuration ProfileRequireLicenseStatus = LICENSED RegisteredName = Job Control RegisteredOrganization = 1 RegisteredVersion = 1.2.0 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.
Lifecycle Controller Integration―Best Practices Specification [LC1.5.x and prior] Running this command also restarts remote services. Applies to: LC1.3.0 Prerequisites for script: none Script: DeleteAllJobs.win A) 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.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: none Script: GetMemoryProfile.win A) 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) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.
Lifecycle Controller Integration―Best Practices Specification 21.3 Get the first Memory’s Information Use the following procedure to get a single memory instance. The URI for getting particular instance information is deterministic (i.e the InstanceID will be unique for each instance). Applies to: LC1.5.0+ Prerequisites for script: none Set desired instanceID by editing script Script: GetMemoryView.
Lifecycle Controller Integration―Best Practices Specification NOTE: 12G example output shown below DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:PCIDevice:1.0.0 OtherRegisteredOrganization = DCIM ProfileRequireLicense = Remote Inventory ProfileRequireLicenseStatus = LICENSED RegisteredName = PCI Device RegisteredOrganization = 1 RegisteredVersion = 1.0.
Lifecycle Controller Integration―Best Practices Specification AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:Sensors:1.0.0 OtherRegisteredOrganization = DCIM ProfileRequireLicense = Device Monitoring ProfileRequireLicenseStatus = LICENSED RegisteredName = Sensors 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.
Lifecycle Controller Integration―Best Practices Specification B) GetSensorViews(): ENUMERATE the CIM_Sensor class to view all instances. Check the instance of either DCIM_PSNumericSensor and DCIM_NumericSensor to see if there are any settable thresholds C) SetSensorThreshold(): SET the DCIM_PSNumericSensor instance for temperature. Set the LowerThresholdNonCritical and UpperThresholdNonCritical values. 24 Base Server and Physical Asset Profile Use Cases 24.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification InstanceID = DCIM:PhysicalAssetRegisteredProfile:1 OtherRegisteredOrganization RegisteredName = Physical Asset RegisteredOrganization = 2 RegisteredVersion = 1.0.0 24.3 List all CIM Profiles Use the following procedure below to list all CIM profiles supported on a system. Applies to: LC1.3.0+ Prerequisites for script: none Script: GetCIMRegisteredProfiles.
Lifecycle Controller Integration―Best Practices Specification Results for the InstanceID of DCIM:Video:1.0.0 shown below. If no instance is returned, the profile is not supported. DCIM_LCRegisteredProfile AdvertiseTypeDescriptions = WS-Identify AdvertiseTypeDescriptions = Interop Namespace AdvertiseTypes = 1 AdvertiseTypes = 1 InstanceID = DCIM:Video:1.0.
Lifecycle Controller Integration―Best Practices Specification Script: GetVideoView.win A) 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) GetVideoView(): GET the DCIM_VideoView instance using the InstanceID= Video.Embedded.1-1. See Section 2.3 for a definition of GET.
Lifecycle Controller Integration―Best Practices Specification ProfileRequireLicenseStatus = LICENSED RegisteredName = License Management RegisteredOrganization = 1 RegisteredVersion = 1.0.0 27 Power Supply Profile Use Cases 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.
Lifecycle Controller Integration―Best Practices Specification 27.2 Inventory of Power Supply Units (PSUs) 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 executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification Applies to: LC1.5.0 Prerequisites for script: none Script: CollectBlades.win A) 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) GetSystemViews(): ENUMERATE the DCIM_SystemView class. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification A) 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) GetLCRegisteredProfiles(): ENUMERATE the DCIM_LCRegisteredProfile class to view all registered profiles. See section 2.2 for a definition of ENUMERATE .
Lifecycle Controller Integration―Best Practices Specification 28.3 Get the first System info View’s Information Use the following procedure to get a single system info instance. The URI for getting particular instance information is deterministic (i.e the InstanceID will be unique for each instance). Applies to: LC1.5.0+ Prerequisites for script: Set desired instanceID by editing script Script: GetSysteminfoView.
Lifecycle Controller Integration―Best Practices Specification 28.5 Get a Single System String Attribute Use the following procedure below to get a single system attribute in the system. Applies to: LC2+ Prerequisites for script: Set desired instanceID by editing script Script: GetSystemString.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification E) CreateSystemConfigJob(): Apply the pending values, pass ScheduledStartTime of TIME_NOW, to invoke the reboot to apply the new attribute values immediately. NOTE: This method also allows the user to schedule when to apply the attribute value change. If the schedule is TIME_NOW, the PendingValue will be applied to the CurrentValue of the attribute immediately.
Lifecycle Controller Integration―Best Practices Specification 29 Software Inventory Profile Use Cases 29.1 Instance Diagram Figure 4. 29.2 Software Inventory: Instance Diagram Discovery of Software Inventory Profile Support Use the following procedure below to confirm the existence of Software Inventory profile support. Applies to: LC1.4.0+ Prerequisites for script: none Script: GetSWInventoryProfile.
Lifecycle Controller Integration―Best Practices Specification D) GetLCRegisteredProfile(): GET the DCIM_LCRegisteredProfile instance using the InstanceID from C). See Section 2.3 for a definition of GET. Results for the InstanceID of DCIM:SoftwareInventory:1.0.0 shown below. If no instance is returned, the profile is not supported.
Lifecycle Controller Integration―Best Practices Specification Prerequisites for script: none Script: GetInstalledBIOSView.win A) 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) GetSoftwareIdentities(): ENUMERATE the DCIM_SoftwareIdentity class to view all instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification 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 executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification 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.0+ Prerequisites for script: none Script: GetAllLCAttributes.win A) The Lifecycle Controller remote service must be in a “ready” state before executing any other WSMAN commands.
Lifecycle Controller Integration―Best Practices Specification F) Poll jobstatus for Completed: GET the InstanceID of from E). See section 2.3 for a definition of GET. NOTE: LC1.x polls for ‘COMPLETED’, while LC2 polls for ‘Completed’ G) GetLCEnumerations(): ENUMERATE the DCIM_LCEnumeration class to ensure the new value of CSIOR is Enabled (or Disabled). See section 2.2 for a definition of ENUMERATE . 31.
Lifecycle Controller Integration―Best Practices Specification The instance containing the attribute will be returned. 31.6 Check vFlash License Enablement Use the following procedure to get the Part Firmware Update attribute. The URI for getting particular instance information is deterministic (i.e the InstanceID will be unique for each instance) Applies to: LC1.5.0+ Prerequisites for script: none Script: CheckVFlashLicense.
Lifecycle Controller Integration―Best Practices Specification Script: SetAutoDiscoveryFactoryDefaults.win A) 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) GetLCEnumerations(): ENUMERATE the DCIM_LCEnumeration class to new view all available instances. See section 2.
Lifecycle Controller Integration―Best Practices Specification 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 Certificate, Private Key and Password Refer to Web Service Interface Guide section 12.8. 31.
Lifecycle Controller Integration―Best Practices Specification 31.16 Export and View the Content of the Lifecycle Log See section 3.16 of this document. 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.
Lifecycle Controller Integration―Best Practices Specification B) ExportFactoryConfiguration(): Invokes the export operation [ReturnValue=4096] NOTE: The user must set applicable IP address, username, password, filename, and workgroup of the network share. C) Poll jobstatus for Completed: GET the InstanceID of from D). See section 2.3 for a definition of GET. 32 OS Deployment Profile Use Cases 32.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification 32.7 32.7.1 Remote File Share (RFS) Use Cases Connect and Attach Network ISO Image as a USB CD-ROM device via RFS USB end point. Following sequence of CIM Operations shall be used to connect and attach network ISO Image from the specified network share to the host server as a USB CD-ROM device via RFS USB end point. Applies to: LC2+ Prerequisites for script: set network parameters by editing script Script: ConnectRFSISOImage.
Lifecycle Controller Integration―Best Practices Specification Applies to: LC2+ Prerequisites for script: none Script: GetRFSISOImageConnectionInfo.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) GetRFSISOImageConnectionInfo(): Invoke the method, successful return value is 0 32.
Lifecycle Controller Integration―Best Practices Specification 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.
Lifecycle Controller Integration―Best Practices Specification python recite.py IP=username:password@10.0.0.1 Set $IP, $LOGIN and $PASS with a single assignment python recite.py IP=username:dell123@10.0.0.1,username:dellam@10.0.0.2 Spawn two instances with specified $IP, $LOGIN and $PASS python recite.py IP=IP.ini 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.
Lifecycle Controller Integration―Best Practices Specification Print < Return Set $ Sleep Unset Until ~$ { Use the help command in interactive mode to see further details on all available commands and methods and the required syntax. Apart from the syntax described in help, commands can also be concatenated on methods. This allows for a cleaner syntax. E.g.
Lifecycle Controller Integration―Best Practices Specification In order to ignore such errors and resume execution, prepend command with a -. For example: -Find InstanceID $id -GetPhysicalDiskViews 33.1.5 Settable variables The following variables are loaded from environment variables if available. If not, they are default initialized as specified. $IP IP of the iDRAC against which WS-MAN commands are to be executed. Default: "" Set $IP 10.0.0.1 Set $IP username:password@10.0.0.
Lifecycle Controller Integration―Best Practices Specification 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: 0: Quiet 1: WS-MAN 2: Full 33.1.6 Internal variables $_BATCHFILE Name of current batch file (including path) with \ and / replaced with _. $_DATE Current date and time in yyyymmddhhmmss format. $_LOCALIP IP of the local system where script is running.
Lifecycle Controller Integration―Best Practices Specification 33.2 System check information 33.2.1 Check System Power State - - System power status is available from CMC (racadm/WS-MAN), iDRAC (racadm) and LC. o 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: o Error to user stating system is not in power state required 33.2.
Lifecycle Controller Integration―Best Practices Specification 33.3.2 Software inventory - Enumerate DCIM_SoftwareIdentity class for all firmware version levels 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.
Lifecycle Controller Integration―Best Practices Specification - described in section 5.2.1 The total time taken for reboot depends on the RebootJobType specified. o 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: 1 = PowerCycle – 30 seconds 2 = Graceful Reboot without forced shutdown – 5 minutes 3 = Graceful reboot with forced shutdown – 5 minutes 33.4.3 POST 33.4.3.
Lifecycle Controller Integration―Best Practices Specification 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. The total timeout for SSM should include 1 minute to inventory each NIC FQDD on the target system after job completion. The total timeout for SSM should include 30 seconds to inventory each RAID controller installed on the target system after job completion. 33.4.4.
Lifecycle Controller Integration―Best Practices Specification For LOM EmbNic1Nic2 needs to be enabled for 1-1, 2-1 EmbNic3Nic4 needs to be enabled for 3-1, 4-1 And so forth o For NDC IntegratedNetwork1 needs to be enabled for 1-1, 1-2 IntegratedNetwork2 needs to be enabled for 2-1, 2-2 And so forth o Addins Cannot be disabled on 11G On 12G, individual slots can be disabled, TBD if this needs to be addressed o Create a BIOS job EmbNic1Nic2 = Enabled or IntegratedNetwork1 = Enabled BootMod
Lifecycle Controller Integration―Best Practices Specification Create a NIC job 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 6.