multiprocessing race condition when opening filesystem store
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Fix Released
|
Medium
|
Mark Washenberger | ||
Grizzly |
Fix Released
|
Medium
|
Mark Washenberger |
Bug Description
When running glance in multiprocessing mode, there is a race for api processes to create the filesystem store location if it doesn't already exist. This causes only a minor problem as the wsgi server will restart the dead child process. However, it contributes heavily to the fragility of some of the functional tests.
Here is a sample trace:
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance val = callable(*args, **kw)
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance return cls(routes.
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance images_resource = images.
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance controller = ImagesController()
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance self.store_
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance store_instance = store_cls()
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance self.configure_
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance os.makedirs(
2012-10-13 22:45:02 29777 TRACE glance File "/home/
2012-10-13 22:45:02 29777 TRACE glance mkdir(name, mode)
2012-10-13 22:45:02 29777 TRACE glance OSError: [Errno 17] File exists: '/tmp/test.
2012-10-13 22:45:02 29777 TRACE glance
Changed in glance: | |
importance: | Undecided → Medium |
Changed in glance: | |
milestone: | none → grizzly-1 |
status: | Fix Committed → Fix Released |
Fix proposed to branch: master /review. openstack. org/14441
Review: https:/