Closed gilbo47 closed 3 years ago
Hi @gilbo47
Script is failing because it doesn't detect a HD device in BIOS boot order. I see you executed the script with -g argument to get current boot order devices and it doesn't report a HD device, only reports NIC device. Can you run the script again and confirm -g returns HD device, then try to change the boot order and see if it now passes.
C:\Python39>ChangeBiosBootOrderDMTF_REDFISH.py -ip 192.168.0.120 -u root -p calvin -g y
- Current boot order detected for BIOS boot mode "Bios" -
SequenceNumber: 0, DisplayName: Internal SD: MassStorageClass, Id: Disk.SDInternal.1-1
SequenceNumber: 1, DisplayName: Hard drive C:, Id: HardDisk.List.1-1
C:\Python39>ChangeBiosBootOrderDMTF_REDFISH.py -ip 192.168.0.120 -u root -p calvin -c HardDisk.List.1-1
- PASS: PATCH command passed to change Bios boot order sequence
- PASS, job ID "JID_142988452901" successfully created to change Bios boot order sequence
- INFO: job status not scheduled, current status: New
- PASS, JID_142988452901 job id successfully scheduled, rebooting the server to apply config changes
- INFO, Current server power state: On
- PASS, Command passed to attempt gracefully power OFF server, status code 204 returned
- PASS, GET command passed to verify server is in OFF state
- PASS, Command passed to power ON server, status code 204 returned
- INFO, job status not complete, current status: "Task successfully scheduled."
- INFO, job status not complete, current status: "Task successfully scheduled."
- INFO, job status not complete, current status: "Task successfully scheduled."
- INFO, job status not complete, current status: "Task successfully scheduled."
- INFO, job status not complete, current status: "Job in progress."
- INFO, job status not complete, current status: "Job in progress."
- INFO, job status not complete, current status: "Job in progress."
- INFO, job status not complete, current status: "Job in progress."
- INFO, job status not complete, current status: "Job in progress."
- Final detailed job results -
JobID = JID_142988452901
Name = Configure: BIOS.Setup.1-1
Message = Job completed successfully.
PercentComplete = 100
- Current boot order detected for BIOS boot mode "Bios" -
SequenceNumber: 0, DisplayName: Hard drive C:, Id: HardDisk.List.1-1
SequenceNumber: 1, DisplayName: Internal SD: MassStorageClass, Id: Disk.SDInternal.1-1
Hiya - Thanks for your response.
However I was using the wrong scripts - the DMTF method isn't what i needed it was the methods used in the ChangeBootOrderBootSourceStateREDFISH.py and the GetBiosBootOrderBootSourceStateREDFISH which was what i needed All Fixed and working
Thanks.
hi
wondering if anyone can help -
I'm using this script to set my raid vdisk as the boot device - it doesn't seem to like anything:
- Current boot order detected for BIOS boot mode "Bios"
-SequenceNumber: 0, DisplayName: NIC in Slot 2 Port 1 Partition 1: FlexBoot v3.5.701 (PCI 5E:00.0), Id: NIC.Slot.2-1-1
./ChangeBiosBootOrderDMTF_REDFISH.py -ip <> -u <> -p <> -c "HardDisk.List.1-1
"- FAIL, PATCH command failed to change Bios boot order sequence, status code is 400 {'cookies': <<class 'requests.cookies.RequestsCookieJar'>[]>, '_content': '{"error":{"@Message.ExtendedInfo":[{"Message":"Input source argument value for the boot device is incorrect or not found among the boot devices on the system.","MessageArgs":[],"MessageArgs@odata.count":0,"MessageId":"IDRAC.1.6.BOOT016","RelatedProperties":["BootOrder"],"RelatedProperties@odata.count":1,"Resolution":"Use the correct source argument value for the boot device and retry the operation.","Severity":"Warning"}],"code":"Base.1.2.GeneralError","message":"A general error has occurred. See ExtendedInfo for more information"}}\n', 'headers': {'content-length': '539', 'strict-transport-security': 'max-age=63072000; includeSubDomains; preload', 'server': 'Apache', 'connection': 'close', 'cache-control': 'no-cache', 'date': 'Thu, 25 Feb 2021 18:37:34 GMT', 'odata-version': '4.0', 'access-control-allow-origin': '*', 'content-type': 'application/json;odata.metadata=minimal;charset=utf-8', 'x-frame-options': 'DENY'}, 'url': u'https://<sname>/redfish/v1/Systems/System.Embedded.1', 'status_code': 400, '_content_consumed': True, 'encoding': 'utf-8', 'request': <PreparedRequest [PATCH]>, 'connection': <requests.adapters.HTTPAdapter object at 0x7f0ddaf75b10>, 'elapsed': datetime.timedelta(0, 0, 458814), 'raw': <urllib3.response.HTTPResponse object at 0x7f0ddaf7f1d0>, 'reason': 'Bad Request', 'history': []}
...and yet it 100% works with racadm:
racadm -r <> -u <>-p <> set BIOS.BiosBootSettings.BootSeq HardDisk.List.1-1
[Key=BIOS.Setup.1-1#BiosBootSettings] RAC1017: Successfully modified the object value and the change is in pending state. To apply modified value, create a configuration job and reboot the system. To create the commit and reboot jobs, use "jobqueue" command. For more information about the "jobqueue" command, see RACADM help.
racadm -r <> -u <>-p <> get BIOS.BiosBootSettings.BootSeq
[Key=BIOS.Setup.1-1#BiosBootSettings] BootSeq=NIC.Slot.2-1-1,NIC.Slot.2-2-1,HardDisk.List.1-1 (Pending Value=HardDisk.List.1-1,NIC.Slot.2-1-1,NIC.Slot.2-2-1)
and after job creation and reboot:
[Key=BIOS.Setup.1-1#BiosBootSettings] BootSeq=HardDisk.List.1-1,NIC.Slot.2-1-1,NIC.Slot.2-2-1
and that's exactly what i want....but i can't seem to be able to do it via the API.
Thanks for reading! Rich