ec2-api-metadata memcached overlap with nova-api
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ec2-api |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Configuring a memcached cache back-end for the ec2-api metadata service results in the following nova-api errors being reported while accessing the metadata from inside a VM:
Traceback (most recent call last):
File "/usr/lib/
result = self.applicatio
File "/usr/lib/
return app(environ, start_response)
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
response = req.get_
File "/usr/lib/
application, catch_exc_
File "/usr/lib/
app_iter = application(
File "/usr/lib/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/
return self.func(req, *args, **kwargs)
File "/usr/lib/
meta_data = self._handle_
File "/usr/lib/
remote_address)
File "/usr/lib/
elif meta_data.
AttributeError: 'dict' object has no attribute 'instance'
Root cause identified: if ec2-api-metadata and nova-api are using the same memcached server, then the metadata entries will get mixed up, since the same cache entry keys are used by both.
Proposed solution: change key prefix of ec2-api entries to avoid overlap.