diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-03-14 23:07:12 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-03-14 23:07:12 +0000 |
| commit | bfc137d9db51ba1505f1fffc4ec9cd7b4e01b47d (patch) | |
| tree | 6b54e472badf9fbe54dd1ea8d168062ef84c7773 /nova/db | |
| parent | 9b7ba0a067dc1c4e45e22c122336b07c17ee88bb (diff) | |
| parent | ed02460ebe08faebc64f1d88aa53cca54f1e45cc (diff) | |
| download | nova-bfc137d9db51ba1505f1fffc4ec9cd7b4e01b47d.tar.gz nova-bfc137d9db51ba1505f1fffc4ec9cd7b4e01b47d.tar.xz nova-bfc137d9db51ba1505f1fffc4ec9cd7b4e01b47d.zip | |
Merge "Fix system_metadata "None" and created_at values"
Diffstat (limited to 'nova/db')
| -rw-r--r-- | nova/db/sqlalchemy/migrate_repo/versions/153_instance_type_in_system_metadata.py | 3 | ||||
| -rw-r--r-- | nova/db/sqlalchemy/migrate_repo/versions/161_fix_system_metadata_none_strings.py | 43 |
2 files changed, 45 insertions, 1 deletions
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/153_instance_type_in_system_metadata.py b/nova/db/sqlalchemy/migrate_repo/versions/153_instance_type_in_system_metadata.py index 20e75a6eb..36545b435 100644 --- a/nova/db/sqlalchemy/migrate_repo/versions/153_instance_type_in_system_metadata.py +++ b/nova/db/sqlalchemy/migrate_repo/versions/153_instance_type_in_system_metadata.py @@ -38,8 +38,9 @@ def upgrade(migrate_engine): i = sys_meta.insert() for values in q.execute(): for index in range(0, len(instance_type_props)): + value = values[index + 1] i.execute({"key": "instance_type_%s" % instance_type_props[index], - "value": str(values[index + 1]), + "value": None if value is None else str(value), "instance_uuid": values[0]}) diff --git a/nova/db/sqlalchemy/migrate_repo/versions/161_fix_system_metadata_none_strings.py b/nova/db/sqlalchemy/migrate_repo/versions/161_fix_system_metadata_none_strings.py new file mode 100644 index 000000000..bd8f22a97 --- /dev/null +++ b/nova/db/sqlalchemy/migrate_repo/versions/161_fix_system_metadata_none_strings.py @@ -0,0 +1,43 @@ +# Copyright 2013 IBM Corp. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from sqlalchemy import MetaData, Table +from nova.openstack.common import timeutils + + +def upgrade(migrate_engine): + meta = MetaData() + meta.bind = migrate_engine + sys_meta = Table('instance_system_metadata', meta, autoload=True) + + sys_meta.update().\ + values(value=None).\ + where(sys_meta.c.key != 'instance_type_name').\ + where(sys_meta.c.key != 'instance_type_flavorid').\ + where(sys_meta.c.key.like('instance_type_%')).\ + where(sys_meta.c.value == 'None').\ + execute() + + now = timeutils.utcnow() + sys_meta.update().\ + values(created_at=now).\ + where(sys_meta.c.created_at == None).\ + where(sys_meta.c.key.like('instance_type_%')).\ + execute() + + +def downgrade(migration_engine): + # This migration only touches data, and only metadata at that. No need + # to go through and delete old metadata items. + pass |
