[nova][ironic] Lock-related performance issue with update_resources periodic job
mriedemos at gmail.com
Mon May 13 21:51:54 UTC 2019
On 5/13/2019 3:34 PM, Surya Seetharaman wrote:
> I'm wondering, after all this, if it makes sense to rethink this
> one-semaphore thing, and instead create a per-hypervisor semaphore
> when doing the resource syncing. I can't think of a reason why the
> entire set of hypervisors needs to be considered as a whole when
> doing this task, but I could very well be missing something.
> While theoretically this would be ideal, I am not sure how the
> COMPUTE_RESOURCE_SEMAPHORE can be tweaked into a per-hypervisor (for
> ironic) semaphore since its ultimately on a single compute-service's
> resource tracker, unless I am missing something obvious. Maybe the nova
> experts who know more this could shed some light.
I would think it would just be a matter of locking on the nodename. That
would have the same effect for a non-ironic compute service where the
driver should only be reporting a single nodename. But for a compute
service managing ironic nodes, it would be more like a per-instance lock
since the nodes are 1:1 with the instances managed on that host.
Having said all that, the devil is in the details (and trying to
refactor that very old and crusty RT code).
More information about the openstack-discuss