summaryrefslogtreecommitdiff
path: root/releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2022-08-01 18:18:53 -0700
committerJulia Kreger <juliaashleykreger@gmail.com>2022-08-02 02:56:07 +0000
commitfb253a670fc66d6e1946f6435448d45c9c13f5dd (patch)
treeb6c3cb7e86c342f20dbf3b5fd746ddcd852102cb /releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml
parent45c9c3029f5363b6e24e578648c09213a7338db1 (diff)
downloadironic-fb253a670fc66d6e1946f6435448d45c9c13f5dd.tar.gz
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
Diffstat (limited to 'releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml')
-rw-r--r--releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml9
1 files changed, 9 insertions, 0 deletions
diff --git a/releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml b/releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml
new file mode 100644
index 000000000..bc55ec3a2
--- /dev/null
+++ b/releasenotes/notes/suppress_chassis_not_found_error-99ee4b902d504ec7.yaml
@@ -0,0 +1,9 @@
+---
+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.