Failed migration shoudn't be reported as in progress

This fix add 'failed' status to the list of filters for migrations that are
reported by migration_get_in_progress_by_host_and_node.

Change-Id: I7de143d73a84339d2184d09e5907cbbe941a2e66
Closes-Bug: #1543123
(cherry picked from commit 0f8f854c26)
This commit is contained in:
Ludovic Beliveau 2016-02-08 10:36:30 -05:00 committed by Lee Yarwood
parent fa3fb5e61f
commit 3bc45979f1
2 changed files with 4 additions and 1 deletions

View File

@ -4483,7 +4483,8 @@ def migration_get_in_progress_by_host_and_node(context, host, node):
and_(models.Migration.dest_compute == host,
models.Migration.dest_node == node))).\
filter(~models.Migration.status.in_(['accepted', 'confirmed',
'reverted', 'error'])).\
'reverted', 'error',
'failed'])).\
options(joinedload_all('instance.system_metadata')).\
all()

View File

@ -1250,6 +1250,7 @@ class MigrationTestCase(test.TestCase):
self._create(status='reverted')
self._create(status='confirmed')
self._create(status='error')
self._create(status='failed')
self._create(status='accepted')
self._create(source_compute='host2', source_node='b',
dest_compute='host1', dest_node='a')
@ -1277,6 +1278,7 @@ class MigrationTestCase(test.TestCase):
self.assertNotEqual('confirmed', migration['status'])
self.assertNotEqual('reverted', migration['status'])
self.assertNotEqual('error', migration['status'])
self.assertNotEqual('failed', migration['status'])
self.assertNotEqual('accepted', migration['status'])
def test_migration_get_in_progress_joins(self):