yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #02289
[Bug 1160900] Re: Caching metadata fails when using memcached
** Changed in: nova/grizzly
Status: Fix Committed => Fix Released
--
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/1160900
Title:
Caching metadata fails when using memcached
Status in OpenStack Compute (Nova):
Fix Committed
Status in OpenStack Compute (nova) grizzly series:
Fix Released
Bug description:
Value stored into the memorycache contains the 'nova.db' module
itself. This is not an issue for the local implementation, but
memcached needs a serialised version of the values.
Trying to save the metadata value results in:
2013-03-27 11:11:45.611 28474 ERROR nova.api.metadata.handler [-] Failed to get metadata for instance id: 7f655b96-7c99-44e2-9c83-1a62e6ddb3da
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler Traceback (most recent call last):
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/nova/api/metadata/handler.py", line 179, in _handle_instance_id_request
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler remote_address)
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/nova/api/metadata/handler.py", line 94, in get_metadata_by_instance_id
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler self._cache.set(cache_key, data, CACHE_EXPIRATION)
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/memcache.py", line 565, in set
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler return self._set("set", key, val, time, min_compress_len)
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/memcache.py", line 802, in _set
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler return _unsafe_set()
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/memcache.py", line 780, in _unsafe_set
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler store_info = self._val_to_store_info(val, min_compress_len)
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/dist-packages/memcache.py", line 751, in _val_to_store_info
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler pickler.dump(val)
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler File "/usr/lib/python2.7/copy_reg.py", line 70, in _reduce_ex
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler raise TypeError, "can't pickle %s objects" % base.__name__
2013-03-27 11:11:45.611 28474 TRACE nova.api.metadata.handler TypeError: can't pickle module objects
The metadata request then fails completely. Complete faliure is
addressed by bug 1160883, but the structure of metadata cache needs to
be fixed too.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1160900/+subscriptions