Closed squirrlien closed 1 year ago
Hi @squirrlien
Thanks for pointing this out, certain network cards now support applying the firmware immediately but still need a server reboot or a/c cycle once the update job is marked completed, reason you see "Job Completed, server reboot pending" status.
I've updated the cmdlet code, example below running it:
PS C:\> Set-DeviceFirmwareSimpleUpdateTransferProtocolREDFISH -idrac_ip 192.168.0.120 -idrac_username root -idrac_password calvin -protocol_type NFS -uri_path 192.168.0.130:/nfs/BCOM_10G.EXE -reboot_server y
- PASS, statuscode 202 returned successfully for POST command to create update job ID 'JID_950691921772'
- INFO, script will now loop polling the job status every 5 seconds until marked either scheduled or completed
- Job ID 'JID_950691921772' not marked completed, current status: New
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Downloading the Network_rebootless.EXE update package.
- Job ID 'JID_950691921772' not marked completed, current status: Package successfully downloaded.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- Job ID 'JID_950691921772' not marked completed, current status: Job in progress.
- INFO, job ID JID_950691921772 marked completed but user invention is needed, final job message: Job completed, server reboot pending
- INFO, user selected to reboot the server now for the new firmware to become effective
- PASS, statuscode 200 returned successfully to get current power state
- INFO, Server current power state is ON, performing graceful shutdown
- PASS, statuscode 204 returned to attempt graceful server shutdown
- PASS, validated server in OFF state
- PASS, statuscode 204 returned successfully to power ON the server
PS C:\>
Thanks Tex
Set-DeviceFirmwareSimpleUpdateTransferProtocolREDFISH.psm1 Line: 392
Firmware update, specifically Emulex firmware, but it makes no difference anyway.
Rest-API JSON response: "Job completed, server reboot pending In order to apply changes, recover from errors, or complete the operation, a component reset is required with the Reset action URI '/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset' and ResetType 'PowerCycle'."
Web GUI Status message: "Completed, Server Reboot Pending (100%)"
However the loop is stuck on: "- Job ID 'JID_946819174107' not marked scheduled or completed, checking job status again"
I had to add the following to the line 392 to make the module recognize that the Job completed, server reboot pending: -or $overall_job_output.Messages.Message.Contains("Job completed, server reboot pending")