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
This commit is contained in:
Julia Kreger 2020-03-23 11:15:25 -07:00
parent f359d18410
commit 6a1d453ef0
2 changed files with 10 additions and 1 deletions

View File

@ -249,7 +249,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.