ironic-python-agent/ironic_python_agent
Julia Kreger 0211fa9c4f Handle the node being locked
If the node is locked, a lookup cannot be performed when an agent
token needs to be generated, which tends to error like this:

  ironic_python_agent.ironic_api_client [-] Failed looking up node
  with addresses '00:6f:bb:34:b3:4d,00:6f:bb:34:b3:4b' at
  https://172.22.0.2:6385. Error 409: Node
  c25e451b-d2fb-4168-b690-f15bc8365520 is locked by host 172.22.0.2,
  please retry after the current operation is completed..
  Check if inspection has completed.

Problem is, if we keep pounding on the door, we can actually worsen
the situation, and previously we would just just let tenacity
retry.

We will now hold for 30 seconds before proceeding, so we have
hopefully allowed the operation to complete.

Also fixes the error logging to help human's sanity.

Change-Id: I97d3e27e2adb731794a7746737d3788c6e7977a0
(cherry picked from commit 5ed520df89)
(cherry picked from commit 06214d7ce2)
2023-08-24 15:46:22 +00:00
..
api Log configuration options on start-up 2020-11-11 16:38:10 +01:00
cmd Capture the early logging 2021-04-08 12:28:07 +00:00
extensions Fix UTF-16 result handling for efibootmgr 2023-04-27 14:48:10 -07:00
hardware_managers Fix: make Intel CNA hardware manager none generic 2020-09-23 18:24:26 +08:00
shell Limit qemu-img execution arenas 2021-05-27 08:21:24 -07:00
tests Handle the node being locked 2023-08-24 15:46:22 +00:00
__init__.py If listen_tls is true, enable TLS on wsgi server 2020-09-02 16:07:42 -07:00
agent.py Coalesce heartbeats 2021-06-25 18:36:20 +02:00
config.py Do not permit IPA standalone to be enabled by conf 2021-03-25 12:45:28 +01:00
dmi_inspector.py Collect processor, memory and BIOS output of dmidecode - follow-up 2017-07-27 07:30:54 -07:00
encoding.py Fix serializing ironic-lib exceptions 2020-07-02 12:18:53 +02:00
errors.py When reporting that agent is busy, report the executed command 2020-09-18 17:52:49 +02:00
hardware.py Warn when smartctl not found 2022-12-12 15:07:27 +00:00
inject_files.py New deploy step for injecting arbitrary files 2021-02-16 16:56:52 +01:00
inspect.py Add jitter to inspection command reporting 2020-03-31 08:13:13 -07:00
inspector.py Reduce the duration of retries in the inspector tests 2020-10-07 12:39:01 +02:00
ironic_api_client.py Handle the node being locked 2023-08-24 15:46:22 +00:00
netutils.py Bring up VLAN interfaces and include in introspection report 2020-11-20 10:17:00 -05:00
numa_inspector.py Skip nic numa_node discovery if it's not assigned to a numa_node 2020-01-17 11:15:35 +01:00
raid_utils.py Move some raid specific functions to raid_utils 2021-02-17 10:11:13 +01:00
tls_utils.py Generate TLS certificates with validity time in the past 2020-12-10 16:22:13 +01:00
utils.py Multipath Hardware path handling 2022-05-19 15:31:31 -03:00
version.py Add sphinx build + basic documentation 2015-03-31 16:22:12 -07:00