From 05bf8f69d6eacd562cf3bba82bc7d692c00e8a3e Mon Sep 17 00:00:00 2001 From: Riccardo Pittau Date: Wed, 25 Sep 2019 14:38:30 +0200 Subject: 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) --- ironic/conductor/task_manager.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ironic/conductor/task_manager.py b/ironic/conductor/task_manager.py index 1a3e6cff3..050cfbccd 100644 --- a/ironic/conductor/task_manager.py +++ b/ironic/conductor/task_manager.py @@ -485,12 +485,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() -- cgit v1.2.1