a89c1b44c56e04223f61925305b0f48f3791c7d8
Our libvirt interface is not eventlet aware and not pure python. So eventlet monkey patching is not enough. So the libvirt driver implemented a native polling thread for libvirt and the queue + pipe mechanism to push event from the native polling thread to the main thread with the eventlet event loop. We don't need all of these complications in native thread mode. There we only need a single thread that poll libvirt for the events. The received events can be executed directly on the polling thread as that is no different from any other threads in the system now. To make the change more understandable the event handling logic is moved behind an abstraction that is implemented twice, once for eventlet with the existing implementation just moved around, and once for native threading with the simplified handling. Change-Id: If479574cd91975810098afa8e3c220c7316a9431 Signed-off-by: Balazs Gibizer <gibi@redhat.com>
============== OpenStack Nova ============== OpenStack Nova provides a cloud computing fabric controller, supporting a wide variety of compute technologies, including: libvirt (KVM, Xen, LXC and more), VMware and OpenStack Ironic. Use the following resources to learn more. API --- To learn how to use Nova's API, consult the documentation available online at: - `Compute API Guide <https://docs.openstack.org/api-guide/compute/>`__ - `Compute API Reference <https://docs.openstack.org/api-ref/compute/>`__ For more information on OpenStack APIs, SDKs and CLIs in general, refer to: - `OpenStack for App Developers <https://www.openstack.org/appdev/>`__ - `Development resources for OpenStack clouds <https://developer.openstack.org/>`__ Operators --------- To learn how to deploy and configure OpenStack Nova, consult the documentation available online at: - `OpenStack Nova <https://docs.openstack.org/nova/>`__ In the unfortunate event that bugs are discovered, they should be reported to the appropriate bug tracker. If you obtained the software from a 3rd party operating system vendor, it is often wise to use their own bug tracker for reporting problems. In all other cases use the master OpenStack bug tracker, available at: - `Bug Tracker <https://bugs.launchpad.net/nova>`__ Developers ---------- For information on how to contribute to Nova, please see the contents of the CONTRIBUTING.rst. Any new code must follow the development guidelines detailed in the HACKING.rst file, and pass all unit tests. To understand better the processes that the team is using, please refer to the `Process document <https://docs.openstack.org/nova/latest/contributor/process.html>`__. Further developer focused documentation is available at: - `Official Nova Documentation <https://docs.openstack.org/nova/>`__ - `Official Client Documentation <https://docs.openstack.org/python-novaclient/>`__ Other Information ----------------- During each `Summit`_ and `Project Team Gathering`_, we agree on what the whole community wants to focus on for the upcoming release. The plans for nova can be found at: - `Nova Specs <http://specs.openstack.org/openstack/nova-specs/>`__ .. _Summit: https://www.openstack.org/summit/ .. _Project Team Gathering: https://www.openstack.org/ptg/
Description
Languages
Python
97.5%
Smarty
2.3%
Shell
0.2%