** Description changed:
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] Traceback (most recent call last):
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/compute/manager.py", line 2648, in
_build_and_run_instance
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] self.driver.spawn(context, instance,
image_meta,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] injected_files,
admin_password,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] allocs,
network_info=network_info,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
block_device_info=block_device_info,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
accel_info=accel_info)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 4832, in
spawn
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] xml = self._get_guest_xml(context,
instance, network_info,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] disk_info,
image_meta,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
block_device_info=block_device_info,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
mdevs=mdevs, accel_info=accel_info)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 7997, in
_get_guest_xml
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] network_info_str = str(network_info)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/model.py", line 622, in __str__
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self._sync_wrapper(fn, *args,
**kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/model.py", line 605, in
_sync_wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] self.wait()
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/model.py", line 637, in wait
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] self[:] = self._gt.wait()
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~~~~~^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 232, in wait
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self._exit_event.wait()
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~~~~~~~~~~~~~^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/eventlet/event.py", line 131, in wait
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] current.throw(*self._exc)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~~~~~^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 272, in main
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] result = function(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/utils.py", line 663, in context_wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return func(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/compute/manager.py", line 2018, in
_allocate_network_async
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] raise e
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/compute/manager.py", line 1996, in
_allocate_network_async
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] nwinfo =
self.network_api.allocate_for_instance(
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] context, instance,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ...<3 lines>...
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
resource_provider_mapping=resource_provider_mapping,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] network_arqs=network_arqs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 1287, in
allocate_for_instance
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] nw_info = self.get_instance_nw_info(
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] context, instance,
networks=ordered_nets,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] port_ids=ordered_port_ids,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] admin_client=admin_client,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
preexisting_port_ids=preexisting_port_ids)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 2047, in
get_instance_nw_info
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] result =
self._get_instance_nw_info(context, instance, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 2073, in
_get_instance_nw_info
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] nw_info =
self._build_network_info_model(context, instance, networks,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
port_ids, admin_client,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
preexisting_port_ids,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
refresh_vif_id,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
force_refresh=force_refresh)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 3496, in
_build_network_info_model
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] data =
client.list_ports(**search_opts)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 196, in wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ret = obj(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 815, in
list_ports
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self.list('ports',
self.ports_path, retrieve_all,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] **_params)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 196, in wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ret = obj(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 372, in list
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] for r in self._pagination(collection,
path, **params):
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 387, in
_pagination
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] res = self.get(path, params=params)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 196, in wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ret = obj(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 356, in get
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self.retry_request("GET",
action, body=body,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
headers=headers, params=params)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 196, in wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ret = obj(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 333, in
retry_request
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self.do_request(method,
action, body=body,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
headers=headers, params=params)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/nova/network/neutron.py", line 196, in wrapper
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ret = obj(*args, **kwargs)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/v2_0/client.py", line 284, in
do_request
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] resp, replybody =
self.httpclient.do_request(action, method, body=body,
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
headers=headers)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f]
^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/client.py", line 341, in
do_request
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] self._check_uri_length(url)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~~~~~~~~~~~~~~^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/client.py", line 334, in
_check_uri_length
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] uri_len = len(self.endpoint_url) +
len(url)
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/neutronclient/client.py", line 348, in
endpoint_url
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] return self.get_endpoint()
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ~~~~~~~~~~~~~~~~~^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] File
"/usr/lib/python3/dist-packages/keystoneauth1/adapter.py", line 330, in
get_endpoint
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] if self.endpoint_override:
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] ^^^^^^^^^^^^^^^^^^^^^^
- 2025-03-17 11:08:00.390 38463 ERROR nova.compute.manager [instance:
5c6786d9-15c5-414f-990f-eff2bf9f4d1f] AttributeError: 'SessionClient' object
has no attribute 'endpoint_override'
+ [ Impact ]
+ * Nova's neutron client wrapper fails under Python 3.13 due to a
+ garbage collection bug in CPython that causes dictionary references to
+ be prematurely cleared when one object's __dict__ is assigned to another
+ object's __dict__. This completely prevents users from being able to
+ spawn virtual VMs (or do other communication to Neutron that span
+ multiple cpu cycles), which is the main purpose of Nova.
- This using Plucky Proposed - 25.04
- nova-compute: 3:30.0.0+git2025030311.e6b8b051a9-0ubuntu1
+ * This bug fix stops ClientWrapper from inheriting clientv20.Client and
+ directly referencing the base_client's __dict__. This allows
+ ClientWrapper to act as a true proxy for clientv20.Client while
+ preventing the cache inlining bug that leads to garbage collection.
- This nova compute version is a snapshot of current master branch from
- the Nova project, RC1 will soon be available:
- https://review.opendev.org/c/openstack/releases/+/943941
+ [ Test Plan ]
- This happens during testing with Tempest, in tests such as:
-
tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops
+ * With a configured Nova, spawn a VM.
+ To simplify testing, I've written a configuration script to help create a
single node OpenStack cloud as VM: https://pastebin.ubuntu.com/p/JkHXBmKBbm/
- Nova should successfully create a VM
+ [ Where problems could occur ]
- Nova failed to communicate with neutron because of an attribute error
+ * The change modifies how the ClientWrapper class accesses attributes
+ from the underlying neutron client. If the __getattr__ implementation
+ doesn't properly handle all attribute types or edge cases, it could
+ result in AttributeError exceptions or unexpected behavior when
+ accessing client methods or properties.
- I've tested the same version of Nova using the Epoxy Cloud archive from
- proposed, and it worked correctly.
+ * Since this changes the inheritance model (from inheritance to
+ composition), any code that relies on isinstance() checks against
+ clientv20.Client for the wrapper would fail.
+
+ [ Other Info ]
+
+ * This patch comes directly from upstream Nova and has been back-ported
+ upstream to stable/2025.1, commit
+ bdf62d0653c2e31ae291fc51e7016407b19f6ff4.
+
+ * The fix specifically addresses Python 3.13 compatibility. The
+ behavior is correct on Python 3.12 and earlier versions, but Python 3.13
+ exhibits the dictionary clearing issue.
+
+ Previous comment:
+ https://bugs.launchpad.net/ubuntu/+source/nova/+bug/2103413/comments/0
** Summary changed:
- Python3.13: Garbage collection happens too early on greenthread switches
+ [SRU] Python3.13: Garbage collection happens too early on greenthread switches
** Summary changed:
- [SRU] Python3.13: Garbage collection happens too early on greenthread switches
+ [SRU] Python3.13: Garbage collection due to attribute cache inlining
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2103413
Title:
[SRU] Python3.13: Garbage collection due to attribute cache inlining
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2103413/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs