← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1771384] [NEW] placement api send text/html error responses when accept headers is '*/*'

 

Public bug reported:

In change https://review.openstack.org/#/c/518223/ the placement service
was adjusted to default to application/json as the accept header when no
accept header is present. This was done to control the automatic content
negotiation that webob does for formatting error responses. By default,
it wants to send text/html error responses, which we do not want in
placement.

Unfortunately, the fix in that change is incomplete. If a client sends
'*/*' as the accept header, what they are saying is "we'll take whatever
you want to send". Since the above fix is trying to say "the default is
JSON" we should consider '*/*' as 'application/json'.

We can fix this relatively easily and without impact on the error
processing that inspects error strings, as the strings will remain the
same. In some cases, they will have a different format.

** Affects: nova
     Importance: Undecided
     Assignee: Chris Dent (cdent)
         Status: In Progress


** Tags: placement

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1771384

Title:
  placement api send text/html error responses when accept headers is
  '*/*'

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  In change https://review.openstack.org/#/c/518223/ the placement
  service was adjusted to default to application/json as the accept
  header when no accept header is present. This was done to control the
  automatic content negotiation that webob does for formatting error
  responses. By default, it wants to send text/html error responses,
  which we do not want in placement.

  Unfortunately, the fix in that change is incomplete. If a client sends
  '*/*' as the accept header, what they are saying is "we'll take
  whatever you want to send". Since the above fix is trying to say "the
  default is JSON" we should consider '*/*' as 'application/json'.

  We can fix this relatively easily and without impact on the error
  processing that inspects error strings, as the strings will remain the
  same. In some cases, they will have a different format.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1771384/+subscriptions


Follow ups