[SRU] exceptions.from_response with webob 1.6.0 results in "AttributeError: 'unicode' object has no attribute 'get'"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Fix Released
|
High
|
Unassigned | ||
Mitaka |
Fix Released
|
High
|
Saverio Proto | ||
Newton |
Fix Released
|
High
|
Saverio Proto | ||
Ocata |
Fix Released
|
High
|
Unassigned | ||
Pike |
Fix Released
|
High
|
Unassigned | ||
networking-midonet |
Fix Released
|
Critical
|
YAMAMOTO Takashi | ||
python-cinderclient |
Fix Released
|
Undecided
|
Akira KAMIO | ||
python-novaclient |
Fix Released
|
High
|
Matt Riedemann | ||
python-openstackclient |
Invalid
|
Undecided
|
Wenzhi Yu | ||
python-troveclient |
Fix Released
|
Medium
|
Zhao Chao | ||
python-cinderclient (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Saverio Proto | ||
Yakkety |
Won't Fix
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
High
|
Unassigned | ||
python-novaclient (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Yakkety |
Fix Released
|
High
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact] [Testcase]
Running on Ubuntu 14.04.
After installing nova from source in either the Liberty release or Mitaka, with WebOb 1.6.0, running any nova command generated this error:
root@openstack-
ERROR (AttributeError): 'unicode' object has no attribute 'get'
The equivalent openstack commands work correctly. After downgrading WebOb to 1.5.1 AND restarting the nova-api service everything works.
Detailed output from nova -debug service-list with the error:
root@openstack-
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (extension:157) found extension EntryPoint.
DEBUG (session:248) REQ: curl -g -i -X GET http://
INFO (connectionpool
DEBUG (connectionpool
DEBUG (session:277) RESP: [200] Content-Length: 334 Vary: X-Auth-Token Keep-Alive: timeout=5, max=100 Server: Apache/2.4.7 (Ubuntu) Connection: Keep-Alive Date: Fri, 18 Mar 2016 12:41:58 GMT Content-Type: application/json x-openstack-
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-
DEBUG (v2:63) Making authentication request to http://
DEBUG (connectionpool
DEBUG (session:248) REQ: curl -g -i -X GET http://
INFO (connectionpool
DEBUG (connectionpool
DEBUG (session:277) RESP: [404] Date: Fri, 18 Mar 2016 12:41:59 GMT Connection: keep-alive Content-Type: application/json; charset=UTF-8 Content-Length: 112 X-Compute-
RESP BODY: {"message": "The resource could not be found.<br /><br />\n\n\n", "code": "404 Not Found", "title": "Not Found"}
DEBUG (shell:894) 'unicode' object has no attribute 'get'
Traceback (most recent call last):
File "/usr/local/
OpenStackCo
File "/usr/local/
api_version = api_versions.
File "/usr/local/
client)
File "/usr/local/
version = client.
File "/usr/local/
return self._get_current()
File "/usr/local/
return self._get(url, "version")
File "/usr/local/
_resp, body = self.api.
File "/usr/local/
return self.request(url, 'GET', **kwargs)
File "/usr/local/
raise exceptions.
File "/usr/local/
message = error.get(
AttributeError: 'unicode' object has no attribute 'get'
ERROR (AttributeError): 'unicode' object has no attribute 'get'
Since nova-api must be restarted for this to either take effect or go away (with the WebOb downgrade) this appears to be an issue with the nova-api process. The failing message from the api service is 112 bytes long while the successful one (using downgraded WebOb) is 52 bytes long.
[Regression Potential]
The regression potential is minimal. The patch is cherry-picked without change from stable/newton to stable/mitaka, and I've already tested it in a ppa.
Changed in nova: | |
importance: | Undecided → Medium |
tags: | added: api |
Changed in python-openstackclient: | |
assignee: | nobody → Wenzhi Yu (yuywz) |
status: | New → In Progress |
Changed in networking-midonet: | |
assignee: | nobody → YAMAMOTO Takashi (yamamoto) |
importance: | Undecided → Critical |
milestone: | none → 2.0.0 |
status: | New → In Progress |
Changed in python-openstackclient: | |
status: | In Progress → Invalid |
Changed in python-cinderclient: | |
assignee: | nobody → Cao ShuFeng (caosf-fnst) |
Changed in python-cinderclient: | |
assignee: | Cao ShuFeng (caosf-fnst) → nobody |
no longer affects: | ubuntu |
no longer affects: | Ubuntu Yakkety |
no longer affects: | Ubuntu Xenial |
Changed in python-novaclient (Ubuntu): | |
status: | New → Confirmed |
Changed in python-novaclient (Ubuntu Xenial): | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in python-novaclient (Ubuntu Yakkety): | |
importance: | Undecided → High |
summary: |
- exceptions.from_response with webob 1.6.0 results in "AttributeError: - 'unicode' object has no attribute 'get'" + [SRU] exceptions.from_response with webob 1.6.0 results in + "AttributeError: 'unicode' object has no attribute 'get'" |
Changed in python-novaclient (Ubuntu Xenial): | |
status: | New → Fix Committed |
status: | Fix Committed → New |
description: | updated |
Changed in python-cinderclient: | |
assignee: | nobody → Akira KAMIO (akamio) |
Changed in python-cinderclient: | |
status: | Invalid → In Progress |
Changed in python-novaclient (Ubuntu Zesty): | |
status: | Confirmed → Fix Released |
tags: |
added: verification-newton-done removed: verification-newton-needed |
Changed in python-troveclient: | |
assignee: | nobody → Zhao Chao (zhaochao1984) |
importance: | Undecided → Medium |
status: | New → In Progress |
I think we can confirm this, we're currently testing webob 1.5.1 in the gate but the upper-constraints proposal to include webob 1.6.0 is failing on the same thing:
http:// logs.openstack. org/49/ 288849/ 15/check/ gate-tempest- dsvm-full/ 4722c5a/ logs/devstacklo g.txt.gz# _2016-03- 18_07_06_ 03_369