]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Move RBD calls to a separate threads
authorIvan Kolodyazhny <e0ne@e0ne.info>
Mon, 20 Apr 2015 19:53:14 +0000 (22:53 +0300)
committerIvan Kolodyazhny <e0ne@e0ne.info>
Tue, 21 Apr 2015 20:05:40 +0000 (20:05 +0000)
commit9f83602a82153e0be8c127c3d936b512327336f7
tree2423ea395c81aa2270c3bd8de2fd081b93ecdb7b
parentc6ccf2fc346d7033a0147752b77c0a916f3413ea
Move RBD calls to a separate threads

RBD is a python binding for librados which isn't patched by eventlet.

Making long-running tasks like removing big (~100GB, ~1TB) volumes
blocks eventlet loop and all cinder-volume service hangs
until it finished when rados_connect_timeout is disabled. It makes
cinder-volume services unavailable for a while.

This patch moves all rados calls to a separate python thread which
doesn't block eventlet loop.

Change-Id: Ibaf43858d60e1320c339f2523b5c09c7f7c7f91e
Closes-Bug: #1401335
cinder/volume/drivers/rbd.py