_sync_power_state locks during deployment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
High
|
melanie witt |
Bug Description
In nova/compute/
The result of synchronizing with the deployment is that all periodic tasks can be hung up behind a single deploy of an instance. There is no reason, that I can see, why the checking the task state can't be done outside the synchronized lock which would make it skip instances being deployed and would prevent periodic tasks from being hung behind a deployment.
So basically, the check for a task state should be moved to be outside the lock and that would avoid hanging periodic tasks and would result in the same semantics of the existing syncing of power states.
tags: | added: compute |
Changed in nova: | |
importance: | Undecided → High |
Here's the patch which added the lock to _sync_power_states:
https:/ /review. openstack. org/#/c/ 103174/
In the first version I pushed, I left the skip logic outside the lock for that reason -- but I got convinced otherwise. I think you're right that it could be moved outside the lock as it was read from the database before the lock (object isn't refreshed) so I think maybe the lock isn't helping anything there.