Make deploy step failure logging indicate the error

Deploy step logging would previously only log the step to the API
user, instead of anything the API user could use to try and determine
what is wrong.

Example:
- Trying to power on a machine as part of deploy.deploy()
- Power-on operation fails
- Only the deploy step is listed as the error, and no
  additional information to troubleshoot the issue,
  which forced the operator to go examine logs and
  find the error.

Change-Id: If60b96dcafa446de090df56089760eda3a21109d
(cherry picked from commit 6a1d453ef0)
This commit is contained in:
Julia Kreger 2020-03-23 11:15:25 -07:00 committed by Dmitry Tantsur
parent 8a7c1079f7
commit 814022b3fc
2 changed files with 10 additions and 1 deletions

View File

@ -3623,7 +3623,10 @@ def _do_next_deploy_step(task, step_index, conductor_id):
{'node': node.uuid, 'step': node.deploy_step, 'err': e})
utils.deploying_error_handler(
task, log_msg,
_("Failed to deploy: %s") % node.deploy_step)
_("Failed to deploy: Deploy step %(step)s, "
"error: %(err)s.") % {
'step': node.deploy_step,
'err': e})
return
except Exception as e:
log_msg = ('Node %(node)s failed deploy step %(step)s with '

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Fixes vague node ``last_error`` field reporting upon deploy step
failure by providing the exception error message in addition
to the step that failed.