"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "nova/virt/libvirt/host.py" between
nova-22.0.0.tar.gz and nova-22.0.1.tar.gz

About: OpenStack Nova (Core Service: Compute) manages the lifecycle of compute instances in an OpenStack environment. Responsibilities include spawning, scheduling and decomissioning of machines on demand.
The "Victoria" series (latest release).

host.py  (nova-22.0.0):host.py  (nova-22.0.1)
skipping to change at line 128 skipping to change at line 128
# AMD SEV is conditional on support in the hardware, kernel, # AMD SEV is conditional on support in the hardware, kernel,
# qemu, and libvirt. This is determined on demand and # qemu, and libvirt. This is determined on demand and
# memoized by the supports_amd_sev property below. # memoized by the supports_amd_sev property below.
self._supports_amd_sev = None self._supports_amd_sev = None
self._has_hyperthreading = None self._has_hyperthreading = None
@staticmethod @staticmethod
def _get_libvirt_proxy_classes(libvirt_module): def _get_libvirt_proxy_classes(libvirt_module):
"""Return a tuple for tpool.Proxy's autowrap argument containing all """Return a tuple for tpool.Proxy's autowrap argument containing all
classes defined by the libvirt module except libvirtError. public vir* classes defined by the libvirt module.
""" """
# Get a list of (name, class) tuples of libvirt classes # Get a list of (name, class) tuples of libvirt classes
classes = inspect.getmembers(libvirt_module, inspect.isclass) classes = inspect.getmembers(libvirt_module, inspect.isclass)
# Return a list of just the classes, filtering out libvirtError because # Return a list of just the vir* classes, filtering out libvirtError
# we don't need to proxy that # and any private globals pointing at private internal classes.
return tuple([cls[1] for cls in classes if cls[0] != 'libvirtError']) return tuple([cls[1] for cls in classes if cls[0].startswith("vir")])
def _wrap_libvirt_proxy(self, obj): def _wrap_libvirt_proxy(self, obj):
"""Return an object wrapped in a tpool.Proxy using autowrap appropriate """Return an object wrapped in a tpool.Proxy using autowrap appropriate
for the libvirt module. for the libvirt module.
""" """
# libvirt is not pure python, so eventlet monkey patching doesn't work # libvirt is not pure python, so eventlet monkey patching doesn't work
# on it. Consequently long-running libvirt calls will not yield to # on it. Consequently long-running libvirt calls will not yield to
# eventlet's event loop, starving all other greenthreads until # eventlet's event loop, starving all other greenthreads until
# completion. eventlet's tpool.Proxy handles this situation for us by # completion. eventlet's tpool.Proxy handles this situation for us by
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)