Unsolved

2823

January 11th, 2021 18:00

Mount virtual drive ISO via Redfish API URL length issue

Hey

I have an issue mounting virtual drive ISO via Redfish API if URL length is longer then 255 chars.

Has anyone experienced similar issue?

Server model: PowerEdge R6515
iDrac firmware: 4.40.0.0

6 Operator

 • 

3K Posts

January 11th, 2021 20:00

Can you share the URI and error message are you getting while trying virtual drive iso with redfish. What kind of share are you using for keeping ISO file and whether iso file name or folder names are longer to get the URL longer above 255 character?

January 12th, 2021 05:00

Hey Shine

 
ISO is stored in Swift object storage
 
Funnily enough I don't get any immediate error, after POST'ing ISO URL. Also I don't get nothing returned from Redfish API when I check if ISO is mounted (I would expect Image and ImageName set). But when I check iDrac web interface under Remote File Share I can see that the ISO is connected and I have to manually disconnect it (Click disconnect) before next use.
 
I have done some testing with shortening the URL to 255 characters and then the issue disappears.
 
(I have tried to add some sample links and outputs but all my replies were marked as spam)

January 12th, 2021 05:00

Hey Shine

 
below is sample URL, ISO is stored in Swift object storage
 
 
Funnily enough I don't get any immediate error, after POSTing ISO URL, and there is nothing returned from Redfish API when I check if ISO is mounted (I would expect Image and ImageName set). But when I check iDrac web interface under Remote File Share I can see that the ISO is connected and I have to manually disconnect it (Click disconnect) before next use.
 
Test 1 (ISO URL 258 chr)
Spoiler
Check mount
#############
{
"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia",
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD",
"@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia",
"Actions": {
"#VirtualMedia.EjectMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"
},
"#VirtualMedia.InsertMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"
}
},
"ConnectedVia": "NotConnected",
"Description": "iDRAC Virtual Media Services Settings",
"Id": "CD",
"Image": null,
"ImageName": null,
"Inserted": false,
"MediaTypes": [
"CD",
"DVD"
],
"Name": "Virtual CD",
"Password": null,
"TransferMethod": null,
"TransferProtocolType": null,
"UserName": null,
"WriteProtected": null
}
Eject drive
################
{
"error": {
"@Message.ExtendedInfo": [
{
"Message": "No Virtual Media devices are currently connected.",
"MessageArgs": [],
"MessageId": "IDRAC.2.1.VRM0009",
"RelatedProperties": [],
"Resolution": "No response action is required.",
"Severity": "Critical"
},
{
"Message": "The request failed due to an internal service error. The service is still operational.",
"MessageArgs": [],
"MessageId": "Base.1.5.InternalError",
"RelatedProperties": [],
"Resolution": "Resubmit the request. If the problem persists, consider resetting the service.",
"Severity": "Critical"
}
],
"code": "Base.1.5.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information"
}
}
Check mount#############{"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia","@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD","@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia","Actions": {"#VirtualMedia.EjectMedia": {"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"},"#VirtualMedia.InsertMedia": {"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"}},"ConnectedVia": "NotConnected","Description": "iDRAC Virtual Media Services Settings","Id": "CD","Image": null,"ImageName": null,"Inserted": false,"MediaTypes": ["CD","DVD"],"MediaTypes@odata.count": 2,"Name": "Virtual CD","Password": null,"TransferMethod": null,"TransferProtocolType": null,"UserName": null,"WriteProtected": null}Eject drive################{"error": {"@Message.ExtendedInfo": [{"Message": "No Virtual Media devices are currently connected.","MessageArgs": [],"MessageArgs@odata.count": 0,"MessageId": "IDRAC.2.1.VRM0009","RelatedProperties": [],"RelatedProperties@odata.count": 0,"Resolution": "No response action is required.","Severity": "Critical"},{"Message": "The request failed due to an internal service error. The service is still operational.","MessageArgs": [],"MessageArgs@odata.count": 0,"MessageId": "Base.1.5.InternalError","RelatedProperties": [],"RelatedProperties@odata.count": 0,"Resolution": "Resubmit the request. If the problem persists, consider resetting the service.","Severity": "Critical"}],"code": "Base.1.5.GeneralError","message": "A general error has occurred. See ExtendedInfo for more information"}}
 
Test 2 (ISO URL 255 chr)
 
 
Check mount
#############
Spoiler
{
"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia",
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD",
"@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia",
"Actions": {
"#VirtualMedia.EjectMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"
},
"#VirtualMedia.InsertMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"
}
},
"ConnectedVia": "URI",
"Description": "iDRAC Virtual Media Services Settings",
"Id": "CD",
"ImageName": "boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso",
"Inserted": true,
"MediaTypes": [
"CD",
"DVD"
],
"Name": "Virtual CD",
"Password": null,
"TransferMethod": "Stream",
"TransferProtocolType": "HTTP",
"UserName": null,
"WriteProtected": true
}
{"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia","@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD","@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia","Actions": {"#VirtualMedia.EjectMedia": {"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"},"#VirtualMedia.InsertMedia": {"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"}},"ConnectedVia": "URI","Description": "iDRAC Virtual Media Services Settings","Id": "CD","Image": "http://ironic.dc.openstack.app.in.net:8080/v1/AUTH_4add73fde0e34c4b98e27ca87b0188ad/ironic_redfish_contai/boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso","ImageName": "boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso","Inserted": true,"MediaTypes": ["CD","DVD"],"MediaTypes@odata.count": 2,"Name": "Virtual CD","Password": null,"TransferMethod": "Stream","TransferProtocolType": "HTTP","UserName": null,"WriteProtected": true}

6 Operator

 • 

3K Posts

January 12th, 2021 06:00

iDRAC support virtual media using redfish from CIFS, NFS, http and https share. If you have issue in attaching output, can you tryin attaching screenshot of the output.

January 12th, 2021 14:00

ISO is accessible over HTTP

 

curl -I 'http://ironic.dc.openstack.app.in.net:8080/v1/AUTH_4add73fde0e34c4b98e27ca87b0188ad/ironic_redfish_contai/boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=1d95dfd3cbefd9f01eb419d5027f08ee970575f9&temp_url_expires=1610490110&filename=tmpm8i6y986.iso'
HTTP/1.1 200 OK
Content-Type: application/octet-stream
X-Delete-At: 1610490106
Etag: 84c7f2fbc143280171c4c2941833ff45
Last-Modified: Tue, 12 Jan 2021 22:06:47 GMT
X-Timestamp: 1610489206.71473
Accept-Ranges: bytes
Content-Length: 645060608
Content-Disposition: attachment; filename="tmpm8i6y986.iso"; filename*=UTF-8''tmpm8i6y986.iso
Expires: Tue, 12 Jan 2021 22:21:50 GMT
X-Trans-Id: tx37761c5988804e3b871a5-005ffe1da1
X-Openstack-Request-Id: tx37761c5988804e3b871a5-005ffe1da1
Date: Tue, 12 Jan 2021 22:07:29 GMT
Connection: close

 

 

Test 1 (ISO URL 258 chr)

 

ISO URL
############
http://ironic.dc.openstack.app.in.net:8080/v1/AUTH_4add73fde0e34c4b98e27ca87b0188ad/ironic_redfish_container/boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=91fb600a76308d3a103cecfb3e0382b6d67cc722&temp_url_expires=1610441343&filename=tmpjwhsksgt.iso (258  chars)

Check mount
#############
{
"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia",
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD",
"@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia",
"Actions": {
"#VirtualMedia.EjectMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"
},
"#VirtualMedia.InsertMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"
}
},
"ConnectedVia": "NotConnected",
"Description": "iDRAC Virtual Media Services Settings",
"Id": "CD",
"Image": null,
"ImageName": null,
"Inserted": false,
"MediaTypes": [
"CD",
"DVD"
],
"MediaTypes@odata.count": 2,
"Name": "Virtual CD",
"Password": null,
"TransferMethod": null,
"TransferProtocolType": null,
"UserName": null,
"WriteProtected": null
}
Eject drive
################
{
"error": {
"@Message.ExtendedInfo": [
{
"Message": "No Virtual Media devices are currently connected.",
"MessageArgs": [],
"MessageArgs@odata.count": 0,
"MessageId": "IDRAC.2.1.VRM0009",
"RelatedProperties": [],
"RelatedProperties@odata.count": 0,
"Resolution": "No response action is required.",
"Severity": "Critical"
},
{
"Message": "The request failed due to an internal service error. The service is still operational.",
"MessageArgs": [],
"MessageArgs@odata.count": 0,
"MessageId": "Base.1.5.InternalError",
"RelatedProperties": [],
"RelatedProperties@odata.count": 0,
"Resolution": "Resubmit the request. If the problem persists, consider resetting the service.",
"Severity": "Critical"
}
],
"code": "Base.1.5.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information"
}
}

 

 

Test 2 (ISO URL 255 chr)

 

ISO URL
##########
http://ironic.dc.openstack.app.in.net:8080/v1/AUTH_4add73fde0e34c4b98e27ca87b0188ad/ironic_redfish_contai/boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso

Check mount
#############
{
"@odata.context": "/redfish/v1/$metadata#VirtualMedia.VirtualMedia",
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD",
"@odata.type": "#VirtualMedia.v1_3_2.VirtualMedia",
"Actions": {
"#VirtualMedia.EjectMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.EjectMedia"
},
"#VirtualMedia.InsertMedia": {
"target": "/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia"
}
},
"ConnectedVia": "URI",
"Description": "iDRAC Virtual Media Services Settings",
"Id": "CD",
"Image": "http://ironic.dc.openstack.app.in.net:8080/v1/AUTH_4add73fde0e34c4b98e27ca87b0188ad/ironic_redfish_contai/boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso",
"ImageName": "boot-7f7c21ce-0008-449a-8376-7a7bd8afdd81?temp_url_sig=c44eeb3189159d90a8025db3af33bed74dfdc9dd&temp_url_expires=1610442739&filename=tmpcahxz4ko.iso",
"Inserted": true,
"MediaTypes": [
"CD",
"DVD"
],
"MediaTypes@odata.count": 2,
"Name": "Virtual CD",
"Password": null,
"TransferMethod": "Stream",
"TransferProtocolType": "HTTP",
"UserName": null,
"WriteProtected": true

 

 

January 12th, 2021 14:00

ISO is accessible via HTTP

output can be found  here 

0 events found

No Events found!

Top