placement returns 503 when keystone is down
Bug #1749797 reported by
Jim Rollenhagen
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned | ||
keystonemiddleware |
Fix Released
|
Undecided
|
Colleen Murphy |
Bug Description
See the logs here: http://
This is during an upgrade while Keystone is down. Placement returns a 503 because it cannot reach keystone.
I'm not sure what the expected behavior should be, but a 503 feels wrong.
tags: | added: placement upgrade |
Changed in nova: | |
status: | New → Confirmed |
Changed in keystonemiddleware: | |
assignee: | Chris Dent (cdent) → Colleen Murphy (krinkle) |
Changed in nova: | |
status: | Confirmed → Invalid |
To post a comment you must log in.
Thanks for report thing jroll. For a long time, I had a thing on my to-do list something along the lines of "placement weird when keystone down, investigate" but without enough detail to remember what it was when I went back the old things in the list, so deleted it. It was a note I had made while I was digging in something else and didn't want to get distracted.
The logs show the response is coming from keystonemiddlew are.auth_ token, which placement uses pretty much directly as a straight up wsgi middleware, not adapting the response in any way.
So if this is a bug, it's a bug there (and I've added the project). However, it is by design:
* https:/ /github. com/openstack/ keystonemiddlew are/blob/ master/ keystonemiddlew are/auth_ token/_ _init__ .py#L776- L781 /docs.openstack .org/keystonemi ddleware/ latest/ middlewarearchi tecture. html#specificat ion-overview
* https:/
It's a potentially weird interpretation of 503 ( https:/ /httpstatuses. com/503 ) but not too far off base.
Since keystone is required to do the auth, I'm not really sure what ought to happen here. A more clear message about _which_ service is unavailable might be useful: "Bad response code while validating token: 503: ServiceUnavailable: Service Unavailable (HTTP 503)"
Any 4xx error is suspect because there's nothing wrong with the clients request, other than bad luck about the time they asked it.
What other alternatives are there?