Debian Patches

Status for nova/2:31.0.0-6

Patch Description Author Forwarded Bugs Origin Last update
Install-missed-files.patch Install missed files
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..cf3032d
Thomas Goirand <zigo@debian.org> not-needed 2021-09-28
remove-svg-converter-from-doc-conf.py.patch Remove sphinxcontrib.rsvgconverter from doc conf.py
===================================================================
Thomas Goirand <zigo@debian.org> not-needed 2019-09-28
Add-a-healtcheck-url.patch [PATCH] Add a /healthcheck URL
This is useful for operators to configure HAProxy and
for monitoring.
Thomas Goirand <zigo@debian.org> no 2020-04-30
fix-exception.NovaException.patch Fix exception.NovaException
===================================================================
Thomas Goirand <zigo@debian.org> no 2024-11-19
Add-context-switch-chance-to-other-thread-during-get_available_resources.patch Add context switch chance to other thread during get_available_resources The get_available_resources method checks host's resource usage by
connecting libvirt. The libvirt connection uses libvirt python bindings
and the connection handling is implemented in C lang. So the eventlet
greenthread can't notice the network connection and doesn't trigger
thread context switch while the nova-compute connects to the libvirt.
If one hypervisor has over 50 or more instances and libvirt is slow
any reason, the no context switch situation causes nova-compute's status
down and some other failure since other tasks have no chance to work.
.
This commit adds greenthread.sleep(0) in the middle of for-loop section
which is the long running no-context switch section. This sleep(0) gives
other tasks to work even though the resource check task takes long time.
The force context switch can prevent lack of any heartbeat operation.

===================================================================
Masahito Muroi <masahito.muroi@linecorp.com> yes upstream upstream, https://review.opendev.org/c/openstack/nova/+/938215 2024-12-27
Fix-neutron-client-dict-grabbing.patch Fix neutron client dict grabbing Due to a bug in python3.13 [1] the following code will leads to an
emptied dict by the GC even though we hold a reference to the dict.
.
import gc
.
class A:
.
def __init__(self, client):
self.__dict__ = client.__dict__
self.client = client
.
class B:
def __init__(self):
self.test_attr = "foo"
.
a = A(B())
print(a.__dict__)
print(a.client.__dict__)
gc.collect()
print("## After gc.collect()")
print(a.__dict__)
print(a.client.__dict__)
.
# Output with Python 13
{'test_attr': 'foo', 'client': <__main__.B object at 0x73ea355a8590>}
{'test_attr': 'foo', 'client': <__main__.B object at 0x73ea355a8590>}
## After gc.collect()
{'test_attr': 'foo', 'client': <__main__.B object at 0x73ea355a8590>}
{}
.
# Output with Python 12
{'test_attr': 'foo', 'client': <__main__.B object at 0x79c86f355400>}
{'test_attr': 'foo', 'client': <__main__.B object at 0x79c86f355400>}
## After gc.collect()
{'test_attr': 'foo', 'client': <__main__.B object at 0x79c86f355400>}
{'test_attr': 'foo', 'client': <__main__.B object at 0x79c86f355400>
.
Our neutron client has this kind of code and therefore failing in
python3.13. This patch adds __getattr__ instead of trying to hold a
direct reference to the __dict__. This seems to work around the
problem.
.
[1] https://github.com/python/cpython/issues/130327

diff --git a/nova/network/neutron.py b/nova/network/neutron.py
index f24177d..76c8a68f 100644
Balazs Gibizer <gibi@redhat.com> yes upstream upstream, https://review.opendev.org/c/openstack/nova/+/952966 2025-06-20

All known versions for source package 'nova'

Links