From 3bc45979f146280fbd1ce722b3ffcb99f33d3761 Mon Sep 17 00:00:00 2001 From: Ludovic Beliveau Date: Mon, 8 Feb 2016 10:36:30 -0500 Subject: 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 0f8f854c2646e2e6677efdf8b1bbf82faf57f01f) --- nova/db/sqlalchemy/api.py | 3 ++- nova/tests/unit/db/test_db_api.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 53451b7ebe..bee083ef86 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -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() diff --git a/nova/tests/unit/db/test_db_api.py b/nova/tests/unit/db/test_db_api.py index 1ec80012b7..8df2b91a3c 100644 --- a/nova/tests/unit/db/test_db_api.py +++ b/nova/tests/unit/db/test_db_api.py @@ -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): -- cgit v1.2.1