summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Pittau <elfosardo@gmail.com>2019-09-25 14:38:30 +0200
committerRiccardo Pittau <elfosardo@gmail.com>2019-10-04 12:51:23 +0000
commit7b3d60c106699aeb18a81640f7882ae38057ada1 (patch)
tree0b3361948fba7351863adf095c5f1773a8307595
parent18a45e8b4902aa9c9d1c60b62c56ec5708d7e320 (diff)
downloadironic-7b3d60c106699aeb18a81640f7882ae38057ada1.tar.gz
Change log level based on node status
While the status node change message is purely informational, it can contain also failed states transitions. Moving the level from INFO to ERROR if the provision_state is 'failed' can help in detecting the transition message when troubleshooting issues. Change-Id: I79ff7cb8b9d33bc2837d41126fba269a5d4b1cda (cherry picked from commit b8fa188a29481b11b2f3117cdeecfd920a8f5a0e)
-rw-r--r--ironic/conductor/task_manager.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/ironic/conductor/task_manager.py b/ironic/conductor/task_manager.py
index 804d8e4a2..b99cd1084 100644
--- a/ironic/conductor/task_manager.py
+++ b/ironic/conductor/task_manager.py
@@ -486,12 +486,20 @@ class TaskManager(object):
# publish the state transition by saving the Node
self.node.save()
- LOG.info('Node %(node)s moved to provision state "%(state)s" from '
- 'state "%(previous)s"; target provision state is '
- '"%(target)s"',
- {'node': self.node.uuid, 'state': self.node.provision_state,
- 'target': self.node.target_provision_state,
- 'previous': self._prev_provision_state})
+
+ log_message = ('Node %(node)s moved to provision state "%(state)s" '
+ 'from state "%(previous)s"; target provision state is '
+ '"%(target)s"' %
+ {'node': self.node.uuid,
+ 'state': self.node.provision_state,
+ 'target': self.node.target_provision_state,
+ 'previous': self._prev_provision_state})
+
+ if (self.node.provision_state.endswith('failed') or
+ self.node.provision_state == 'error'):
+ LOG.error(log_message)
+ else:
+ LOG.info(log_message)
if callback is None:
self._notify_provision_state_change()