Redfish power control on Dell iDrac9 fails due to charset on the POST content-type

Bug #1902822 reported by David Jericho
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Invalid
Undecided
Unassigned

Bug Description

Looking at the MAAS source, the Redfish power control sets a Content-type of "application/json; charset=utf-8" when using the POST method. This does not work when trying to POST against the Redfish endpoint of the iDrac 9, with a HTTP 415 result.

Testing using a simple python snippet, adding any "; charset=..." value to the Content-type value, results in the iDrac rejecting it with 415. Remove the charset, and it works fine.

The DMTF documentation for Redfish doesn't seem to say anything about character sets, but even the de facto default of ISO-8859-1 fails, so I do believe the fault really is in the HTTP endpoint on the iDrac. However, it's easy to fix in MAAS, and I have raised an issue with Dell.

I have tested this with both MAAS 2.8 and the 2.9beta. The log line in maas.log reads:

2020-11-04T14:31:39.139801+10:00 maas-boot maas.node: [error] dell-test: Marking node failed: Power on for the node failed: Failed to complete power action: Redfish request failed with response status code: 415.

summary: - Redfish power control on Dell iDrac9 fails due to charset
+ Redfish power control on Dell iDrac9 fails due to charset on the POST
+ content-type
Revision history for this message
David Jericho (davidjericho) wrote :

I notice 2.9 still has this particular behaviour, and the fix appears to be removing the "; charset=utf-8" on line 59 of src/provisioningserver/drivers/power/redfish.py.

I have still to sort this out with Dell on their side.

Revision history for this message
David Jericho (davidjericho) wrote :

It appears one of the last two iDrac firmwares fixes the particular issue, and this behaviour no longer exhibits, meaning no work around is required.

I see no reason this ticket should remain open as the vendor has resolved the issue upstream.

Revision history for this message
David Jericho (davidjericho) wrote :

Not a valid ticket anymore as the upstream has fixed their firmware behaviour.

Changed in maas:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.