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




More information about the openstack-discuss mailing list