diff --git a/ironic_staging_drivers/ansible/deploy.py b/ironic_staging_drivers/ansible/deploy.py index 2757404..4ed1b59 100644 --- a/ironic_staging_drivers/ansible/deploy.py +++ b/ironic_staging_drivers/ansible/deploy.py @@ -613,9 +613,10 @@ class AnsibleDeploy(base.DeployInterface): "on node %(node)s."), { 'node': node.uuid, 'step': stepname}) manager_utils.cleaning_error_handler(task, six.text_type(e)) - LOG.info(_LI('Ansible completed cleaning step %(step)s ' - 'on node %(node)s.'), - {'node': node.uuid, 'step': stepname}) + else: + LOG.info(_LI('Ansible completed cleaning step %(step)s ' + 'on node %(node)s.'), + {'node': node.uuid, 'step': stepname}) def prepare_cleaning(self, task): """Boot into the ramdisk to prepare for cleaning. diff --git a/ironic_staging_drivers/tests/unit/ansible/test_deploy.py b/ironic_staging_drivers/tests/unit/ansible/test_deploy.py index d2487b2..c936992 100644 --- a/ironic_staging_drivers/tests/unit/ansible/test_deploy.py +++ b/ironic_staging_drivers/tests/unit/ansible/test_deploy.py @@ -583,6 +583,26 @@ class TestAnsibleDeploy(db_base.DbTestCase): task.node, action='clean') self.assertFalse(run_playbook_mock.called) + @mock.patch.object(ansible_deploy, '_parse_ansible_driver_info', + return_value=('test_pl', 'test_u', 'test_k'), + autospec=True) + @mock.patch.object(utils, 'cleaning_error_handler', autospec=True) + @mock.patch.object(ansible_deploy, '_run_playbook', autospec=True) + @mock.patch.object(ansible_deploy, 'LOG', autospec=True) + def test_execute_clean_step_no_success_log( + self, log_mock, run_mock, utils_mock, parse_driver_info_mock): + + run_mock.side_effect = exception.InstanceDeployFailure('Boom') + step = {'priority': 10, 'interface': 'deploy', + 'step': 'erase_devices', 'args': {'tags': ['clean']}} + with task_manager.acquire(self.context, self.node.uuid) as task: + self.driver.execute_clean_step(task, step) + log_mock.error.assert_called_once_with( + mock.ANY, {'node': task.node['uuid'], + 'step': 'erase_devices'}) + utils_mock.assert_called_once_with(task, 'Boom') + self.assertFalse(log_mock.info.called) + @mock.patch.object(ansible_deploy, '_run_playbook', autospec=True) @mock.patch.object(utils, 'set_node_cleaning_steps', autospec=True) @mock.patch.object(utils, 'node_power_action', autospec=True)