summaryrefslogtreecommitdiff
path: root/releasenotes
diff options
context:
space:
mode:
authorDmitry Tantsur <dtantsur@protonmail.com>2021-05-07 10:38:16 +0200
committerDmitry Tantsur <dtantsur@protonmail.com>2021-05-07 19:06:57 +0200
commit6787142617e93dabdbdc73eecbf9fdc0b6ec2e29 (patch)
treee1ffc68068b94a4ede910885eb82c0ed3f363296 /releasenotes
parente88436688de3b05fcee9fd7cf4fe527ec4ecb678 (diff)
downloadironic-6787142617e93dabdbdc73eecbf9fdc0b6ec2e29.tar.gz
Fix deployment when executing a command fails after the command starts
If the agent accepts a command, but is unable to reply to Ironic (which sporadically happens before of the eventlet's TLS implementation), we currently retry the request and fail because the command is already executing. Ironic now detects this situation by checking the list of executing commands after receiving a connection error. If the requested command is last one, we assume that the command request succeeded. Ideally, we should pass a request ID to IPA and then compare it. Such a change would affect the API contract between the agent and Ironic and thus would not be backportable. Change-Id: I2ea21c9ec440fa7ddf8578cf7b34d6d0ebbb5dc8 (cherry picked from commit abfe383cc32d63dd3df2b90f0feace08d73b8364)
Diffstat (limited to 'releasenotes')
-rw-r--r--releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml9
1 files changed, 9 insertions, 0 deletions
diff --git a/releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml b/releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml
new file mode 100644
index 000000000..1ab3a4846
--- /dev/null
+++ b/releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml
@@ -0,0 +1,9 @@
+---
+fixes:
+ - |
+ If the agent accepts a command, but is unable to reply to Ironic (which
+ sporadically happens before of the eventlet's TLS implementation), we
+ currently retry the request and fail because the command is already
+ executing. Ironic now detects this situation by checking the list of
+ executing commands after receiving a connection error. If the requested
+ command is the last one, we assume that the command request succeeded.