git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nova][ironic] Lock-related performance issue with update_resources periodic job


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).

-- 

Thanks,

Matt