Redfish controller iDRAC returns 406 error

Bug #1842486 reported by Chris Newcomer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Expired
Medium
Unassigned

Bug Description

When using the MAAS GUI to control an iDRAC BMC (version 3.30.30.30) via the Redfish protocol, it dumps a stack trace in the rackd.log and returns a 406 error. This is believed to be due to an issue with the version of iDRAC that doesn't conform to the RFC:
If no Accept header field is present, then it is assumed that the client accepts all media types.

Q: Does MAAS explicitly set the 'Accept: application/json' header?

A similar issue reported in Ansible that was fixed by setting the header:
https://github.com/ansible/ansible/issues/55078

Revision history for this message
Chris Newcomer (cnewcomer) wrote :
Alberto Donato (ack)
Changed in maas:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Chris Newcomer (cnewcomer) wrote :

After reviewing the code in [2], it would appear that the proper headers are not being sent to the Redfish API, according to [1]:

GET_HEADERS = {'accept': 'application/json', 'OData-Version': '4.0'}
POST_HEADERS = {'content-type': 'application/json', 'accept': 'application/json', 'OData-Version': '4.0'}
PATCH_HEADERS = {'content-type': 'application/json', 'accept': 'application/json', 'OData-Version': '4.0'}
DELETE_HEADERS = {'accept': 'application/json', 'OData-Version': '4.0'}

Not sure the OData ones are needed, those are mostly for compliance, but others are definitely needed or it will fail in some hardware.

[1] https://github.com/ansible/ansible/pull/55193
[2] https://git.launchpad.net/maas/tree/src/provisioningserver/drivers/power/redfish.py#n57

Revision history for this message
Jerzy Husakowski (jhusakowski) wrote :

Is this still reproducible on newer MAAS versions? LP:1845032 looks similar and the fix landed in MAAS 2.7

summary: - [2.6] Redfish controller iDRAC returns 406 error
+ Redfish controller iDRAC returns 406 error
Changed in maas:
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for MAAS because there has been no activity for 60 days.]

Changed in maas:
status: Incomplete → Expired
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.