diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-07 20:11:08 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-07 20:11:08 +0000 |
commit | 1293335e483d11adee5ec4953c4712be5e86c9ef (patch) | |
tree | df1aadb28cba37da3ef4e3a73975aeb32e57b2ca | |
parent | 7ed6717076c09bd5adc961b7b026dcdf78832bd3 (diff) | |
parent | 4c879c9bc7ec307dd158af4dd4b0f41e0e2d0531 (diff) | |
download | keystone-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.py | 6 | ||||
-rw-r--r-- | keystone/tests/unit/test_sql_upgrade.py | 4 |
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() |