From 12d362b4ca324c589918a36ba332ee54a62caf9f Mon Sep 17 00:00:00 2001 From: Chris Behrens Date: Tue, 5 Mar 2013 14:45:33 -0800 Subject: Fix instance_system_metadata deleted columns Migration 153 adds instance_type data to sys_meta, but creates entries with the default value of deleted.. which is NULL. This means these entries do not get pulled in on a join when querying an instance, as there is a condition of deleted=0. This converts 'deleted' NULL entries to be 0. Fixes bug 1147839 Change-Id: I3caf92b3992b22089a2653c2e7220585d616a102 --- .../versions/160_fix_system_metadata_deleted.py | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 nova/db/sqlalchemy/migrate_repo/versions/160_fix_system_metadata_deleted.py (limited to 'nova/db') diff --git a/nova/db/sqlalchemy/migrate_repo/versions/160_fix_system_metadata_deleted.py b/nova/db/sqlalchemy/migrate_repo/versions/160_fix_system_metadata_deleted.py new file mode 100644 index 000000000..d7909f897 --- /dev/null +++ b/nova/db/sqlalchemy/migrate_repo/versions/160_fix_system_metadata_deleted.py @@ -0,0 +1,33 @@ +# Copyright 2013 Rackspace Hosting +# +# 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. + +import sqlalchemy + + +def upgrade(migrate_engine): + meta = sqlalchemy.MetaData() + meta.bind = migrate_engine + sys_meta = sqlalchemy.Table('instance_system_metadata', meta, + autoload=True) + # is None does not work here. + sys_meta.update().\ + where(sys_meta.c.deleted == None).\ + values(deleted=0).\ + execute() + + +def downgrade(migration_engine): + # This migration only corrects NULL to be 0. There's no action to + # revert this. + pass -- cgit