ironic/releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml
Julia Kreger fb253a670f Suppress Chassis Not Found on API Operation
When you have a multi-db deployment, or even just many
different threads operating on the same server with different
transactions, you can run into a situation where one thread
initiates a transaction to get a list of nodes, and then
another triggers a delete of the chassis (and most likely node,
but hey, there is really no way to detect that and work.)

So as the API is processing the response and making the json
result set, the query to resolve a chassis_id on a node object
can begin to fail.

Before this patch, this would raise an exception to the client.

Now, we just suppress the error, and return the field value
as None.

In the grand scheme, the node is likely has also already
been deleted as well.

Change-Id: I3594ac580c01454c70922a965a2a653a8b568cbb
Closes-Bug: 1508995
Story: 1508995
Task: 10038
2022-08-02 02:56:07 +00:00

10 lines
420 B
YAML

---
fixes:
- |
Fixes an issue where an API user, when requesting a node list or single
node object, could get an error indicating that the request was bad as
the chassis was not found. This can occur when in-flight delete
operations are in progress on another thread. Instead of surfacing a
request breaking error, the API now suppresses the error and just
treats it as if there is no Chassis.