Merge "AgentRAID: Account for empty results in post-configuration checks"
This commit is contained in:
commit
08617ee716
|
@ -736,17 +736,17 @@ class AgentRAID(base.RAIDInterface):
|
|||
"""
|
||||
try:
|
||||
if task.node.provision_state == states.DEPLOYWAIT:
|
||||
operation = "deploying"
|
||||
result = command['command_result']['deploy_result']
|
||||
else:
|
||||
operation = "cleaning"
|
||||
result = command['command_result']['clean_result']
|
||||
except KeyError:
|
||||
result = None
|
||||
|
||||
if not result:
|
||||
raise exception.IronicException(
|
||||
_("Agent ramdisk didn't return a proper command result while "
|
||||
"%(operation)s %(node)s. It returned '%(result)s' after "
|
||||
"command execution.") % {'operation': operation,
|
||||
'node': task.node.uuid,
|
||||
"building RAID on %(node)s. It returned '%(result)s' after "
|
||||
"command execution.") % {'node': task.node.uuid,
|
||||
'result': command})
|
||||
|
||||
raid.update_raid_info(task.node, result)
|
||||
|
|
|
@ -1818,6 +1818,17 @@ class AgentRAIDTestCase(db_base.DbTestCase):
|
|||
task, command)
|
||||
self.assertFalse(update_raid_info_mock.called)
|
||||
|
||||
@mock.patch.object(raid, 'update_raid_info', autospec=True)
|
||||
def test__create_configuration_final_bad_command_result2(
|
||||
self, update_raid_info_mock):
|
||||
command = {'command_result': {'deploy_result': None}}
|
||||
with task_manager.acquire(self.context, self.node.uuid) as task:
|
||||
raid_mgmt = agent.AgentRAID
|
||||
self.assertRaises(exception.IronicException,
|
||||
raid_mgmt._create_configuration_final,
|
||||
task, command)
|
||||
self.assertFalse(update_raid_info_mock.called)
|
||||
|
||||
@mock.patch.object(agent_base, 'execute_step', autospec=True)
|
||||
def test_delete_configuration(self, execute_mock):
|
||||
execute_mock.return_value = states.CLEANING
|
||||
|
|
Loading…
Reference in New Issue