Keystoneclient revocation list is not multi-thread/process safe
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-keystoneclient |
Fix Released
|
Critical
|
Chmouel Boudjnah |
Bug Description
As illustrated by this traceback in nova-api:
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
2013-12-16 17:10:42.986 25416 TRACE keystoneclient.
This line performs a non-atomic file operation on a file that can have multiple readers:
Changed in python-keystoneclient: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
Changed in python-keystoneclient: | |
status: | Confirmed → In Progress |
Changed in python-keystoneclient: | |
milestone: | none → 0.4.2 |
Changed in python-keystoneclient: | |
status: | Fix Committed → Fix Released |
we probably want to write to a temporary file, flush and rename it to the revocacation_ file_name