+++ This bug was initially created as a clone of Bug #1851051 +++ Two subsequent copy-image API calls for same image to different set of stores or same set of stores will cause in race condition and can provide different results than expected. Especially in a situation where glance is running on multiple control plane nodes (i.e. any real-world situation), I believe there is a race condition whereby two closely-timed requests to copy an image to a store will result in two copy operations in glance proceeding in parallel. Glance will not realize that a thread is already running to complete the initial task and will start another. In a situation where a user spawns a thousand new instances to a thousand compute nodes in a single operation where the image needs copying first, it's highly plausible to have _many_ duplicate glance operations going, impacting write performance on the rbd cluster at the very least. --- Additional comment from Cyril Roelandt on 2020-06-26 14:17:54 UTC --- Is there some kind of workaround available right now? Or should the admin just be careful? Should we release an update to the documentation? --- Additional comment from Abhishek Kekane on 2020-06-29 05:17:37 UTC --- (In reply to Cyril Roelandt from comment #1) > Is there some kind of workaround available right now? Or should the admin > just be careful? Should we release an update to the documentation? At the moment admin should be just careful to avoid this scenario. We should mention this in documentation as well. --- Additional comment from Cyril Roelandt on 2020-06-29 18:32:55 UTC --- @Laura: can this be added as a warning in our documentation? --- Additional comment from Laura Marsh on 2020-06-30 14:32:45 UTC --- yes, working on the wording now
Should we add that these issues will be fixed in future minor releases, and that these warnings are temporary?
(In reply to Cyril Roelandt from comment #5) > Should we add that these issues will be fixed in future minor releases, and > that these warnings are temporary? I think if required we can say like these issues will be resolved in next minor release. (Not sure that documentation should include something like this)