dell / iDRAC-Redfish-Scripting

Python and PowerShell scripting for Dell EMC PowerEdge iDRAC REST API with DMTF Redfish
GNU General Public License v2.0
600 stars 278 forks source link

need a function regarding DeviceFirmwareSimpleUpdateREDFISH.py #197

Closed kiraway-dev closed 2 years ago

kiraway-dev commented 2 years ago

Cloud you add a function to power control after updating firmware into below script? https://github.com/dell/iDRAC-Redfish-Scripting/blob/master/Redfish%20Python/DeviceFirmwareSimpleUpdateREDFISH.py

After a firmware update, the default action is to restart, but there are someone who want to shut down the server. Please consider it.

texroemer commented 2 years ago

Hi @kiraway-dev

Once the firmware update is complete and you want to shut down the server, is this request for updating all devices (BIOS, NIC, RAID, backplane, iDRAC, etc) or only for iDRAC?

Thanks Tex

kiraway-dev commented 2 years ago

​​ yes, I mean for all devices. ​ Thanks Tex.

texroemer commented 2 years ago

Script has been updated with optional shutdown argument. See example below:

C:\Python39>DeviceFirmwareSimpleUpdateREDFISH.py -ip 192.168.0.120 -u root -p calvin -l C:\Users\administrator\Downloads -f BIOS_C6420_2_12.EXE -r n -S y

- INFO, downloading "BIOS_C6420_2_12.EXE" image, this may take a few minutes depending on the size of the image

- PASS: POST command passed successfully to download image
- INFO, AVAILABLE entry created for download image "BIOS_C6420_2_12.EXE" is "Available-159-2.12.2__BIOS.Setup.1-1"
- PASS, JID_418295335265 firmware update job ID successfully created
- INFO, Downloading the redfish_upload_file.EXE update package, execution time: 0:01:44
- INFO, Downloading the redfish_upload_file.EXE update package, execution time: 0:01:48
- INFO, Downloading the redfish_upload_file.EXE update package, execution time: 0:01:53
- INFO, Package successfully downloaded, execution time: 0:01:57
- INFO, Package successfully downloaded, execution time: 0:02:01
- INFO, Package successfully downloaded, execution time: 0:02:04
- PASS, job ID JID_418295335265 successfully marked as scheduled
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:02:50"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:02:54"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:02:58"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:03:01"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:03:05"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:03:09"
- INFO, job ID not completed, current status: "Task successfully scheduled", execution time: "0:03:18"
- INFO, job ID not completed, current status: "The specified job is in progress", execution time: "0:03:22"
- INFO, job ID not completed, current status: "The specified job is in progress", execution time: "0:05:45"
- INFO, job ID not completed, current status: "The specified job is in progress", execution time: "0:05:49"

- PASS, job ID JID_418295335265 successfully marked completed

- Final detailed job results -

@odata.context: /redfish/v1/$metadata#DellJob.DellJob
@odata.id: /redfish/v1/Managers/iDRAC.Embedded.1/Oem/Dell/Jobs/JID_418295335265
@odata.type: #DellJob.v1_2_0.DellJob
ActualRunningStartTime: 2022-01-10T09:47:14
ActualRunningStopTime: 2022-01-10T09:49:43
CompletionTime: 2022-01-10T09:49:43
Description: Job Instance
EndTime: TIME_NA
Id: JID_418295335265
JobState: Completed
JobType: FirmwareUpdate
Message: The specified job has completed successfully.
MessageArgs: []
MessageArgs@odata.count: 0
MessageId: PR19
Name: Firmware Update: BIOS
PercentComplete: 100
StartTime: 2022-01-10T09:45:33
TargetSettingsURI: None

- JOB ID JID_418295335265 completed in 0:05:53
- INFO, argument -S detected to shutdown the server after firmware update completes
- PASS, POST action passed to power OFF server