summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-07 20:11:08 +0000
committerGerrit Code Review <review@openstack.org>2015-04-07 20:11:08 +0000
commit1293335e483d11adee5ec4953c4712be5e86c9ef (patch)
treedf1aadb28cba37da3ef4e3a73975aeb32e57b2ca
parent7ed6717076c09bd5adc961b7b026dcdf78832bd3 (diff)
parent4c879c9bc7ec307dd158af4dd4b0f41e0e2d0531 (diff)
downloadkeystone-1293335e483d11adee5ec4953c4712be5e86c9ef.tar.gz
Merge "Handle NULL value for service.extra in migration 066"
-rw-r--r--keystone/common/sql/migrate_repo/versions/066_fixup_service_name_value.py6
-rw-r--r--keystone/tests/unit/test_sql_upgrade.py4
2 files changed, 9 insertions, 1 deletions
diff --git a/keystone/common/sql/migrate_repo/versions/066_fixup_service_name_value.py b/keystone/common/sql/migrate_repo/versions/066_fixup_service_name_value.py
index ea56a22e2..fe0cee882 100644
--- a/keystone/common/sql/migrate_repo/versions/066_fixup_service_name_value.py
+++ b/keystone/common/sql/migrate_repo/versions/066_fixup_service_name_value.py
@@ -22,7 +22,11 @@ def upgrade(migrate_engine):
services = list(service_table.select().execute())
for service in services:
- extra_dict = jsonutils.loads(service.extra)
+ if service.extra is not None:
+ extra_dict = jsonutils.loads(service.extra)
+ else:
+ extra_dict = {}
+
# Skip records where service is not null
if extra_dict.get('name') is not None:
continue
diff --git a/keystone/tests/unit/test_sql_upgrade.py b/keystone/tests/unit/test_sql_upgrade.py
index 25eeaff6b..35fd95388 100644
--- a/keystone/tests/unit/test_sql_upgrade.py
+++ b/keystone/tests/unit/test_sql_upgrade.py
@@ -512,6 +512,10 @@ class SqlUpgradeTests(SqlMigrateBase):
random_attr_name_empty, random_attr_name_none_str),
]
+ # NOTE(viktors): Add a service with empty extra field
+ self.insert_dict(session, 'service',
+ {'id': uuid.uuid4().hex, 'type': uuid.uuid4().hex})
+
session.close()
self.upgrade(66)
session = self.Session()