Fix heartbeat when clean step in progress

The agent returns command_result of None when a command is in progress.
The code assumed it would return an empty dict. Fix the access of
command_result to never return None, and fix the tests to reflect
reality.

Closes-Bug: #1444715
Change-Id: Iae6cd90517cb7b268ce2c089c92f64b09a606a42
This commit is contained in:
Jim Rollenhagen 2015-04-10 06:22:28 -07:00
parent 1a227d71ed
commit 7e49bf856b
2 changed files with 3 additions and 2 deletions

View File

@ -318,7 +318,8 @@ class BaseAgentVendor(base.VendorInterface):
# processing so the command hasn't started yet
return
last_step = last_command['command_result'].get('clean_step')
last_result = last_command.get('command_result') or {}
last_step = last_result.get('clean_step')
if last_command['command_status'] == 'RUNNING':
return
elif (last_command['command_status'] == 'SUCCEEDED' and

View File

@ -513,7 +513,7 @@ class TestBaseAgentVendor(db_base.DbTestCase):
status_mock.return_value = [{
'command_status': 'RUNNING',
'command_name': 'execute_clean_step',
'command_result': {}
'command_result': None
}]
with task_manager.acquire(self.context, self.node['uuid'],
shared=False) as task: