)]}'
{"nova/virt/libvirt/storage/rbd_utils.py":[{"author":{"_account_id":5280,"name":"Nicolas Simonds","email":"nic@metacloud.com","username":"nicolas.simonds"},"change_message_id":"1d2f3732db8d4cdf178481370465442074471213","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                LOG.warn(_LW(\u0027rbd remove %(volume)s in pool %(pool)s \u0027"},{"line_number":270,"context_line":"                             \u0027failed, %(volume) busy\u0027),"},{"line_number":271,"context_line":"                         {\u0027volume\u0027: volume, \u0027pool\u0027: self.pool})"},{"line_number":272,"context_line":"            except (rbd.ImageHasSnapshots):"},{"line_number":273,"context_line":"                LOG.warn(_LW(\u0027rbd remove %(volume)s in pool %(pool)s \u0027"},{"line_number":274,"context_line":"                             \u0027failed, %(volume) has a snapshot\u0027),"},{"line_number":275,"context_line":"                         {\u0027volume\u0027: volume, \u0027pool\u0027: self.pool})"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_c14b592a","line":272,"updated":"2015-08-10 17:10:13.000000000","message":"There could be a race condition if you attempt to remove the volume while the snapshot is in the middle of being deleted.   That behavior is captured in bug 1438331.  This change would effectively put that bug back in certain situations.","commit_id":"19f870243b6757e7d8b5b41e638c943d82054a20"},{"author":{"_account_id":5280,"name":"Nicolas Simonds","email":"nic@metacloud.com","username":"nicolas.simonds"},"change_message_id":"1d2f3732db8d4cdf178481370465442074471213","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"            volumes \u003d rbd.RBD().list(client.ioctx)"},{"line_number":287,"context_line":"            for volume in filter(belongs_to_instance, volumes):"},{"line_number":288,"context_line":"                # NOTE(danms): We let it go for ten seconds"},{"line_number":289,"context_line":"                retryctx \u003d {\u0027retries\u0027: 10}"},{"line_number":290,"context_line":"                timer \u003d loopingcall.FixedIntervalLoopingCall("},{"line_number":291,"context_line":"                    _cleanup_vol, client.ioctx, volume, retryctx)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_0644f771","line":288,"updated":"2015-08-10 17:10:13.000000000","message":"I think it might be a superior strategy to adjust this tunable to a lower value.  Turning it into a CONF option would let people set this to the proper time/resiliency balance appropriate for their environments.","commit_id":"19f870243b6757e7d8b5b41e638c943d82054a20"}]}
