ironic/releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml
Julia Kreger 1439af27ba Remove redfish cache entry upon errors
Some transient errors can ultimately cause the client to need to be
completely restarted due to cached connection data.

Ironic now explicitly removes the cache entry when a sushy
AccessError or python AttributeError is detected originating
from the library. This will now result in the prior cached connection
object to be discarded, and upon the next attempt to interact with
the same node, a new connection will be launched.

This will result in new sessions being created, but in all likelihood
the prior session had already timed out or had been administratively
removed. Sushy's code, as of
https://review.opendev.org/c/openstack/sushy/+/820076
will raise SessionService lookup access errors as AccessErrors.
Prior to that change, they should have been raised as AttributeError
as the previous call sould have returned None to be used as an object.

Change-Id: Icc6e5dd74d9f15e679a7e764fe49238ed6b8dc1e
Story: 2009719
Task: 44107
2021-12-02 12:49:33 -08:00

14 lines
762 B
YAML

---
fixes:
- |
Fixes connection caching issues with Redfish BMCs where AccessErrors were
previously not disqualifying the cached connection from being re-used.
Ironic will now explicitly open a new connection instead of using the
previous connection in the cache. Under normal circumstances, the
``sushy`` redfish library would detect and refresh sessions,
however a prior case exists where it may not detect a failure and contain
cached session credential data which is ultimately invalid, blocking
future access to the BMC via Redfish until the cache entry expired or
the ``ironic-conductor`` service was restarted. For more information
please see `story 2009719 <https://storyboard.openstack.org/#!/story/2009719>`_.