
This is similar to change I668643c836d46a25df46d4c99a973af5e50a39db where the objects returned in a list from a libvirt call were not tpool.Proxy wrapped. Because the objects are not wrapped, calling methods on them such as listCaps() can block all other greenthreads and can cause nova-compute to freeze for hours in certain scenarios. This adds the same wrapping to libvirt calls which return lists of virNodeDevice. Closes-Bug: #2091033 Change-Id: I60d6f04d374e9ede5895a43b7a75e955b0fea3c5
12 lines
578 B
YAML
12 lines
578 B
YAML
fixes:
|
|
- |
|
|
`Bug #2091033`_: Fixed calls to libvirt ``listDevices()`` and
|
|
``listAllDevices()`` from potentially blocking all other greenthreads
|
|
in ``nova-compute``. Under certain circumstances, it was possible for
|
|
the ``nova-compute`` service to freeze with all other greenthreads
|
|
blocked and unable to perform any other activities including logging.
|
|
This issue has been fixed by wrapping the libvirt ``listDevices()``
|
|
and ``listAllDevices()`` calls with ``eventlet.tpool.Proxy``.
|
|
|
|
.. _Bug #2091033: https://bugs.launchpad.net/nova/+bug/2091033
|