Add ability to filter migrations by instance uuid

This will be used by dependent patch.

Partial-Bug: #1414559
Change-Id: I20470487287fa2a7aa919507073f75181368c3c0
This commit is contained in:
Oleg Bondarev 2016-02-16 19:10:03 +03:00
parent 9af188a0df
commit 62bcfc595d
2 changed files with 13 additions and 0 deletions

View File

@ -4957,6 +4957,9 @@ def migration_get_all_by_filters(context, filters):
if "hidden" in filters:
hidden = filters["hidden"]
query = query.filter(models.Migration.hidden == hidden)
if "instance_uuid" in filters:
uuid = filters["instance_uuid"]
query = query.filter(models.Migration.instance_uuid == uuid)
return query.all()

View File

@ -1436,6 +1436,16 @@ class MigrationTestCase(test.TestCase):
dests = [x['dest_compute'] for x in migrations]
self.assertEqual(['host1', 'host3'], dests)
def test_get_migrations_by_filters_instance_uuid(self):
migrations = db.migration_get_all_by_filters(self.ctxt, filters={})
for migration in migrations:
filters = {'instance_uuid': migration['instance_uuid']}
instance_migrations = db.migration_get_all_by_filters(
self.ctxt, filters)
self.assertEqual(1, len(instance_migrations))
self.assertEqual(migration['instance_uuid'],
instance_migrations[0]['instance_uuid'])
def test_migration_get_unconfirmed_by_dest_compute(self):
# Ensure no migrations are returned.
results = db.migration_get_unconfirmed_by_dest_compute(self.ctxt, 10,