yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #63990
[Bug 1690756] Re: cache 'backend' argument description is ambiguous
This change affects keystone but I think it makes sense to only track
the fix against the oslo.cache library. There isn't much keystone can do
for this fix since the options are generated from oslo.cache and
rendered in the sample configuration file.
Improvement to the configuration option help text should positively
impact each project using oslo.cache and not just keystone.
Based on the existing help text, it appears that the thread count is the
determining factor of what to use. Morgan has some context around
oslo.cache and I'm following up with him to see if he had a specific
thread count in mind when he wrote that comment [0].
Would it be fair to update the comment with something along the lines
of:
- Use oslo_cache.memcache_pool for environments running more than X threads
- Use dogpile.cache.memcached for environments running less than X threads
- Use dogpile.cache.memory for environments isolated to a single process or thread (not recommended for production usage!)
[0]
https://github.com/openstack/oslo.cache/blob/67c023c0a7fad02608a4db69bf2c12d00cc8f109/oslo_cache/_opts.py#L32-L45
** Changed in: keystone
Status: New => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1690756
Title:
cache 'backend' argument description is ambiguous
Status in OpenStack Identity (keystone):
Invalid
Status in oslo.cache:
New
Bug description:
The oslo.cache backend argument description currently states:
"Dogpile.cache backend module. It is recommended that Memcache or
Redis (dogpile.cache.redis) be used in production deployments. For
eventlet-based or highly threaded servers, Memcache with pooling
(oslo_cache.memcache_pool) is recommended. For low thread servers,
dogpile.cache.memcached is recommended. Test environments with a
single instance of the server can use the dogpile.cache.memory
backend."
So the dogpile.cache.memcached/dogpile.cache.redis backends should be
used for production deployments, but the dogpile cache is recommended
for low thread servers and the oslo_cache.memcache_pool should be used
for high thread servers. I don't understand what the actual
recommendation is here.
For a production deployment of a service using uwsgi and a web server, what is the recommendation?
For a production deployment of a service using uwsgi and no web server, what is the recommendation?
For a production deployment of a service using eventlet, what is the recommendation?
Using keystone as an example, the example config file has the same
content which does not really help to clarify anything:
https://github.com/openstack/keystone/blob/b7bd6e301964d393ac6835111a08bbf15ba73bc0/etc/keystone.conf.sample#L514-L520
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1690756/+subscriptions
References