requests to EC2 metadata's '/2009-04-04/meta-data/security-groups' failing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Adam Gandelman | ||
Juno |
Fix Released
|
Undecided
|
Unassigned | ||
nova (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Just did a distro upgrade to juno rc2.. Running an old nova-network cloud with mult-host, nova-api running on compute host. Noticed ubuntu instances cloud-init is failing:
Traceback (most recent call last):
File "/usr/lib/
resp = urllib2.
File "/usr/lib/
return _opener.open(url, data, timeout)
File "/usr/lib/
response = meth(req, response)
File "/usr/lib/
'http', request, response, code, msg, hdrs)
File "/usr/lib/
return self._call_
File "/usr/lib/
result = func(*args)
File "/usr/lib/
raise HTTPError(
Looking at nova-api.log on compute, webob is throwing an exception:
2014-10-13 13:47:37.468 9183 INFO nova.metadata.
2014-10-13 13:48:41.947 9182 ERROR nova.api.ec2 [req-47b84883-
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 Traceback (most recent call last):
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 return req.get_
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 application, catch_exc_
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 app_iter = application(
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 resp = self.call_func(req, *args, **self.kwargs)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 return self.func(req, *args, **kwargs)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 rv = req.get_
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 application, catch_exc_
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 app_iter = application(
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 resp = self.call_func(req, *args, **self.kwargs)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 return self.func(req, *args, **kwargs)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 req.response.body = resp
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 File "/usr/lib/
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 raise TypeError(msg)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2 TypeError: You cannot set Response.body to a text object (use Response.text)
2014-10-13 13:48:41.947 9182 TRACE nova.api.ec2
A bit of poking shows that nova.api.
elif isinstance(data, list):
return '\n'.join(data)
.. but in this case data=[u'default'], and the exception is being raised when resp.body = u'default'. ec2_md_print() needs to ensure its returning non-unicode string here.
tags: | added: juno-rc-potential |
Changed in nova: | |
status: | Incomplete → Confirmed |
status: | Confirmed → Triaged |
Changed in nova: | |
importance: | Undecided → High |
Changed in nova: | |
assignee: | nobody → Adam Gandelman (gandelman-a) |
status: | Triaged → In Progress |
tags: |
added: juno-backport-potential removed: juno-rc-potential |
Changed in nova (Ubuntu): | |
status: | New → Confirmed |
Changed in nova: | |
milestone: | none → kilo-1 |
status: | Fix Committed → Fix Released |
Changed in nova (Ubuntu): | |
status: | Confirmed → Triaged |
status: | Triaged → Fix Released |
Changed in nova: | |
milestone: | kilo-1 → 2015.1.0 |
Which versions of webob and boto are you using?