White Papers

45 Lifecycle Controller Integration Best Practices Guide
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.0+
Prerequisites for script:
Desired DUP must be present on network share
Set script variables by editing script
Script: BIOS_update.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 list the firmwares on the system. See
section 2.2 for a definition of ENUMERATE .
C) Search the results from B) for "ElementName = BIOS" and for "Status = Installed", then note the accompanying
instanceID to be used in D)
D) InstallFromURI(): Invokes firmware update operation [ReturnValue=4096]
E) CreateRebootJob(): Pass parameter RebootJobType of value 3
1 = PowerCycle
2 = Graceful reboot without forced shutdown
3 = Graceful reboot with forced shutdown
F) SetupJobQueue(): Use JID(D) and reboot RID(E) [ReturnValue=0]; The StartTimeInterval parameter is set to
TIME_NOW, meaning the operations will be invoked immediately
G) Poll RID jobstatus for Reboot Completed: GET the InstanceID from E). See section 2.3 for a definition of GET.
H) Poll JID jobstatus for Completed: GET the InstanceID from D). See section 2.3 for a definition of GET.
I) [LC1.5.0/LC1.5.1] Sleep for 5 minutes to allow reboot, POST, and CSIOR to complete
See Appendix 33.4.3 and 33.4.7 for more information about POST and CSIOR
J) 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.