Merge "Fix migration query with unicode status"

This commit is contained in:
Jenkins 2016-05-13 15:05:31 +00:00 committed by Gerrit Code Review
commit a4bd8f01f6
2 changed files with 9 additions and 1 deletions

View File

@ -4943,7 +4943,7 @@ def migration_get_all_by_filters(context, filters):
query = model_query(context, models.Migration)
if "status" in filters:
status = filters["status"]
status = [status] if isinstance(status, str) else status
status = [status] if isinstance(status, six.string_types) else status
query = query.filter(models.Migration.status.in_(status))
if "host" in filters:
host = filters["host"]

View File

@ -1417,6 +1417,14 @@ class MigrationTestCase(test.TestCase):
for migration in migrations:
self.assertIn(migration['status'], filters['status'])
def test_get_migrations_by_filters_unicode_status(self):
self._create(status=u"unicode")
filters = {"status": u"unicode"}
migrations = db.migration_get_all_by_filters(self.ctxt, filters)
self.assertEqual(1, len(migrations))
for migration in migrations:
self.assertIn(migration['status'], filters['status'])
def test_get_migrations_by_filters_with_type(self):
self._create(status="special", source_compute="host9",
migration_type="evacuation")