diff options
author | Ludovic Beliveau <ludovic.beliveau@windriver.com> | 2016-02-08 10:36:30 -0500 |
---|---|---|
committer | Lee Yarwood <lyarwood@redhat.com> | 2016-04-11 11:23:12 +0100 |
commit | 3bc45979f146280fbd1ce722b3ffcb99f33d3761 (patch) | |
tree | c8416d02d2f12bd65fb076289a6427ecde6e86d0 | |
parent | fa3fb5e61f1648bc94b426451136da763b1cc73f (diff) | |
download | nova-3bc45979f146280fbd1ce722b3ffcb99f33d3761.tar.gz |
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)
-rw-r--r-- | nova/db/sqlalchemy/api.py | 3 | ||||
-rw-r--r-- | nova/tests/unit/db/test_db_api.py | 2 |
2 files changed, 4 insertions, 1 deletions
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): |