A common case is for Nova (or other service) to create an admin
authentication from a CONF file and then have many greenlet threads that
want to reuse that authentication. If a token expires then many threads
all try and fetch a new token to use and can step over each other.
I was hoping for a way to put a lock in so that all plugins were thread
safe however fixing it for identity plugins solves almost all real world
situations and anyone doing non-identity plugins will have to manage
threads themselves.
Reviewed: https:/ /review. openstack. org/221551 /git.openstack. org/cgit/ openstack/ keystoneauth/ commit/ ?id=c8d7506ce6b 555e60a94f217a4 1f8d397dedf651
Committed: https:/
Submitter: Jenkins
Branch: master
commit c8d7506ce6b555e 60a94f217a41f8d 397dedf651
Author: Jamie Lennox <email address hidden>
Date: Wed Sep 9 10:03:52 2015 +1000
Identity plugin thread safety
A common case is for Nova (or other service) to create an admin
authentication from a CONF file and then have many greenlet threads that
want to reuse that authentication. If a token expires then many threads
all try and fetch a new token to use and can step over each other.
I was hoping for a way to put a lock in so that all plugins were thread
safe however fixing it for identity plugins solves almost all real world
situations and anyone doing non-identity plugins will have to manage
threads themselves.
Closes-Bug: #1493835 0db4fb9e5b820f6 f5cd4074763
Change-Id: Ie478499a086a4b