- 3,714,821 Users
- 2,242,634 Discussions
- 7,845,081 Comments
Forum Stats
Discussions
Categories
- Industry Applications
- 3.2K Intelligent Advisor
- Insurance
- 1K On-Premises Infrastructure
- 364 Analytics Software
- 32 Application Development Software
- 1.7K Cloud Platform
- 700.5K Database Software
- 17.4K Enterprise Manager
- 7 Hardware
- 167 Infrastructure Software
- 91 Integration
- 52 Security Software
ILOM 4.0x RESTful API url to update firmware

Trying to identify the right rest api uri to execute remote upload and update of ILOM firmware .
After accessing the swagger.json documentation of the api I cant seen to find the uri for the same .
Closet I came was to the following url .....
PATCH/SP/firmware
Update properties in the SP firmware object. User role required for set = a.
Parameters
Try it out
Name | Description | ||
---|---|---|---|
Patch Options (body) | /SP patch options {
|
while executing the uri is successful the firmware doesn't get updared .
I have tested the uri used in the rest call , using the ilom cli which worked fine , after answering following questions ... in json form of
{"questions": [
{
"text": "Preserve existing SP configuration",
"value": "true"
},
{
"text": "Preserve existing BIOS configuration",
"value": "true"
},
{
"text": "Delay BIOS upgrade until next server poweroff or reset",
"value": "true"
}
]}
The current firmware version is :
"Target": "/rest/v1/System/firmware",
"system_fw_version": "4.0.0.24"
Any help is very much appreciated
Answers
-
Hi.
Try read this: https://docs.oracle.com/cd/E81115_01/html/E87200/gsjkk.html#scrolltoc
You need do 3 steps:
- Upload the Local Firmware Package File
- View and Configure the Firmware Update Properties.
- Initiate the Firmware Update Installation and Poll the Status
You do 1 and 2. But do not start 3.
Docs provide some examples.
Regards,
Nik.
-
Prior to me posting I did try all the curl examples also tried using other rest api client ( insomnia ) still didn't get any success . Once u initiate the upload the process hung .., the ILOM web interface stops responding , at this point the only available option is to ssh to the ILOM and reset it . The strange thing all the functions that were documented by the swagger interface are functioning . The listed links dont even expose these the target uri or call details .
-
Hi.
I have only information about problem that you provide. You not say about you test from your first post.
On which step ( 1,2,3) ILOM stop to respond ?
How long you wait after initiate upload porcess ?
Can you monitor network activiti or snoop network traffic on ILOM interface ? ( For check: Started downloading or not ).
Can you provide what URI and JSON request was used ?
Which Hardware used for this test ?
Regards,
Nik
-
Hi.
Additional attantion: Some servers not support http; https as Firmware load URI.
( From FW notes for X4170 M2;X4270 M2:
Keep in mind that the package URL must use the tftp/ftp/sftp protocol. Do NOT use the http/https protocol in the PKG_URL link. )
Regards,
Nik
-
Hi NIK
1- Step 1 , I waited about 10 min , I am comparing to the time it took to do the same from the cli using the upload uri ..
2- Using python requests.ssession() object :
payload = "{\"firmwarefile\" : \"@e:/code/iconectiv/ilom/python/ILOM-4_0_2_26_b_r125868-Oracle_Server_X6-2.pkg\"}"
baseuri = 'https://urldefense.proofpoint.com/v2/url?u=https-3A__-257BhostName-257D-3A-257BportNr-257D_rest_v1-27.format-28hostName-3Dself.ilomHost&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=J0c9pJSHG4nYqXAMPCi8W4OODRgLT8Gma9DHAp5n8DHBwoVbFCCQ4OEmzUQt6qul&m=nXU4DA8jyb-LodAACKo8rkUAvXUDgMn8_LYxMyJMahM&s=YWU8WApBFiESXSGphKUZ9nlbeC4mnJKiFaN5MJc6ZKQ&e=, portNr=self.ilomPort)
url = self.baseuri+'/SP/firmware/update'
restS = requests.Session()
restS.auth = (IlomUser, IlomPass)
restS.headers.update({'Content-Type': 'application/json'})
restS.verify = False
result=restS.post(url, data=payload )
3- Regarding snoop .. I don’t see the event being registered by the ilom logs …. Something in the initial call is wrong
your help is very much appreciated .
Thanks
-
Hi.
As I undertand provided information, you try post FW file via request.
Original doc say that you should use one from: tftp, ftp, sftp, scp, http, https, as you do via CLI.
Can you provide what docs used for build your request?
Regards,
Nik
-
Hi Nik,
The posted was to replicate the curl example listed in the docs , and the links u listed.
curl -v --request POST -F "firmwarefile=local_directory_location" -k -v -u "root:changeme" -H "Accept:application/json" https://urldefense.proofpoint.com/v2/url?u=https-3A__IP&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=J0c9pJSHG4nYqXAMPCi8W4OODRgLT8Gma9DHAp5n8DHBwoVbFCCQ4OEmzUQt6qul&m=mPU25OLOVeHT30d6Hq4fXo-1cq4VA4hurXX_k-gXMUI&s=Bd0tK_mf45R9lrjfy-p657ryYladoy3KMUCgaOqlkMw&e= addr:443/rest/v1/SP/firmware/update
The issue I am having is the rest api call in the example with POST to https://urldefense.proofpoint.com/v2/url?u=https-3A__IP&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=J0c9pJSHG4nYqXAMPCi8W4OODRgLT8Gma9DHAp5n8DHBwoVbFCCQ4OEmzUQt6qul&m=mPU25OLOVeHT30d6Hq4fXo-1cq4VA4hurXX_k-gXMUI&s=Bd0tK_mf45R9lrjfy-p657ryYladoy3KMUCgaOqlkMw&e= addr:443/rest/v1/SP/firmware/update is not documented any where outside the link , or even exist in the swagger documentation .
And yes I do need to use tftp, ftp, sftp, scp, http, https and not local file , but have no idea what needs to be the contents of the payload json data for the call .
Thanks for you patience