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 b8fa188a29)
This commit is contained in:
Riccardo Pittau 2019-09-25 14:38:30 +02:00
parent 5a0706ddbd
commit 05bf8f69d6
1 changed files with 14 additions and 6 deletions

View File

@ -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()