[Bug 2095364] Update Released
Edward Hope-Morley
2095364 at bugs.launchpad.net
Fri Oct 31 08:14:55 UTC 2025
The verification of the Stable Release Update for nova has completed
successfully and the package has now been released to -updates. In the
event that you encounter a regression using the package from -updates
please report a new bug using ubuntu-bug and tag the bug report
regression-update so we can easily find any regressions.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2095364
Title:
List server API v2.96 returns 500 if there is missing request spec
object
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive caracal series:
Fix Released
Status in Ubuntu Cloud Archive dalmatian series:
Won't Fix
Status in Ubuntu Cloud Archive epoxy series:
Fix Released
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) 2024.1 series:
Fix Released
Status in OpenStack Compute (nova) 2024.2 series:
Fix Released
Status in OpenStack Compute (nova) 2025.1 series:
Fix Released
Status in OpenStack Compute (nova) 2025.2 series:
Fix Released
Status in nova package in Ubuntu:
Fix Released
Status in nova source package in Noble:
Fix Released
Status in nova source package in Plucky:
Fix Released
Bug description:
[ Impact ]
The user who reported this in Caracal is experiencing intermittent VM build
failures in their environment; depending on when the build fails, Nova may not
have created the VM's record in the nova_api:request_specs table yet, leading
to the failure when the user requests details about the VM.
We do not have a consistent organic reproducer that produces the missing record
during machine build. However, it's possible to remove the record from the
database for an existing server to reproduce the failure.
As noted in the upstream commit and original bug description, Nova should be
able to handle the missing record [1].
I've included the related unit tests in the patch and verified that the patch
fixes the issue in Noble & Plucky using regress-stack.
[1]
https://opendev.org/openstack/nova/commit/509820f156e339e825f799d84b06cb11ac6b6096
[ Test Plan ]
Run the test plan in a VM with sufficient disk (25GiB+) and RAM
(4GiB+).
For plucky, apply the following commit to regress-stack:
https://github.com/MggMuggins/regress-
stack/commit/748cb81fae39796fc90ca6a6d4427eb6eae4a0c0
Deploy regress-stack and set up a playground environment:
```
sudo snap install openstackclients --channel=2024.1/stable
sudo snap install astral-uv --classic
sudo apt-get install --yes dpkg-dev python3-dev python-apt-dev
git clone https://github.com/canonical/regress-stack.git
cd regress-stack
uv sync
sudo apt-get install --yes $(uv run regress-stack packages nova)
sudo uv run regress-stack setup
# Grab the openrc since regress-stack was set up as root
sudo cp /root/auth.rc ~/
sudo chown $(id -u):$(id -g) ~/auth.rc
uv run regress-stack playground
```
```
. ~/auth.rc
openstack server create --image ubuntu-{noble,plucky} --flavor m1.small --network private-network demo-test1
```
```
sudo mysql -u root
use nova_api;
delete from request_specs where instance_uuid = "<UUID>";
exit
```
Actual behavior:
```
$ openstack --os-compute-api-version 2.96 server list --long
HttpException: 500: Server Error for url: http://10.148.1.2:8774/v2.1/servers/detail?deleted=False, Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'KeyError'>
```
Expected behavior:
```
$ openstack --os-compute-api-version 2.96 server list --long
+-------------------+------------+--------+------------+-------------+-------------------+---------------+-------------------+----------+-------------------+--------+------------+-------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name | Image ID | Flavor | Availability Zone | Host | Properties | Host Status |
+-------------------+------------+--------+------------+-------------+-------------------+---------------+-------------------+----------+-------------------+--------+------------+-------------+
| 24ef1693-2375- | demo-test1 | ACTIVE | None | Running | private-network=1 | ubuntu-plucky | 1348517e-a509- | m1.small | nova | p0.lxd | | UP |
| 4061-98ec- | | | | | 92.168.133.201 | | 47f2-91e2- | | | | | |
| 106cb4f7d877 | | | | | | | e26d3064f549 | | | | | |
+-------------------+------------+--------+------------+-------------+-------------------+---------------+-------------------+----------+-------------------+--------+------------+-------------+
```
[ Where problems could occur ]
The fix for this issue touches code that is only run when handling requests to
the /servers/detail endpoint. Failures in this code would show up when directly
querying that endpoint or using the `--long` option of the openstack CLI.
[ Original Description ]
The List Server API and List Server detail API with v2.96 microversion
hits 500 error if one or more instance's request spec object don't
exist by any reason.
The error reason is v2.96 and later version requires the request_spec
information for the requested_az information, but the latest list view
builder code assumes all request_spec objects for all instances exist
correctly.
## Stacktrace
2025-01-16T06:39:41.756 10 ERROR nova.api.openstack.wsgi [F] [None req-0605cf7e-09db-4ba1-9914-68d34d935587 9d5b1aa120675648abcb2cb156f8020b 792bb91fb3a254b4b5cbf61bed57854e - - default default] Unexpected exception in API method: KeyError: '5d9070aa-33da-46bc-94bc-604746ecfbd2'
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] Traceback (most recent call last):
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/wsgi.py", line 665, in wrapped
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] return f(*args, **kwargs)
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/validation/__init__.py", line 195, in wrapper
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] return func(*args, **kwargs)
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/validation/__init__.py", line 195, in wrapper
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] return func(*args, **kwargs)
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/validation/__init__.py", line 195, in wrapper
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] return func(*args, **kwargs)
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] [Previous line repeated 2 more times]
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/compute/servers.py", line 146, in detail
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] servers = self._get_servers(req, is_detail=True)
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/compute/servers.py", line 360, in _get_servers
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] response = self._view_builder.detail(
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/compute/views/servers.py", line 475, in detail
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] servers_dict = self._list_view(self.show, request, instances,
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/compute/views/servers.py", line 529, in _list_view
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] server_list = [func(request, server,
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] File "/opt/nova/lib64/python3.9/site-packages/nova/api/openstack/compute/views/servers.py", line 535, in <listcomp>
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] provided_az=req_specs_dict[server.uuid])["server"]
2025-01-16T06:39:41.756 10 EXCEPTION nova.api.openstack.wsgi [P] [-] KeyError: '5d9070aa-33da-46bc-94bc-604746ecfbd2'
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2095364/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list