[openstack-dev] Nova's use of task_state for reboot serialization
Rafi Khardalian
rafi at metacloud.com
Mon Jan 21 23:29:26 UTC 2013
I agree with the approach Phil has recommended but I think we need a
solution in the interim, as the suggestion provided will be a fairly
substantial amount of work and is unlikely to make it into Grizzly.
I've stated to many folks that I think "hard reboot" should be as
close to a fix-all as possible. We've made quite a few changes over
the last few months to get us to that point within the libvirt driver
specifically.
Correct me if I am wrong but there is no way for multiple operations
on the same instance to execute in parallel today. I recently tested
sending non-stop requests to hard reboot the same instance (after
applying my proposed patch https://review.openstack.org/20009) and
have always seen them completed in sequence. Even if I interrupt the
process by killing nova-compute in the middle of a hard reboot, the
next hard reboot clears up any lingering issues.
If anyone can point at an actual reason why multiple hard reboots are
a problem, I would really appreciate it. As it stands, all I've read
are hypothetical concerns. There may certainly be operations in
specific drivers which need to be guaranteed to be serial, in which
case it should be the responsibility of that driver to provide
adequate locking.
More information about the OpenStack-dev
mailing list