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

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

-- 

Thanks,

Matt



More information about the openstack-discuss mailing list