diff options
author | Michael Still <mikal@stillhq.com> | 2012-06-09 14:04:15 +1000 |
---|---|---|
committer | Michael Still <mikal@stillhq.com> | 2012-06-09 14:04:51 +1000 |
commit | 0efa0da2313ae4fffca1a17e820262185d60a402 (patch) | |
tree | 3ad8d2df8871753ccc2f466073d01733b9a7ba52 | |
parent | e3911801f6814ebc8aeed1e6b4284fbfb2e74192 (diff) | |
download | nova-0efa0da2313ae4fffca1a17e820262185d60a402.tar.gz nova-0efa0da2313ae4fffca1a17e820262185d60a402.tar.xz nova-0efa0da2313ae4fffca1a17e820262185d60a402.zip |
Add indexes to new instance_uuid columns.
Resolves bug 1009738 as well as several other bugs that haven't been
reported yet.
Change-Id: I09b456df70aaaba1bc4ac00514e63bda804d7f92
-rw-r--r-- | nova/db/sqlalchemy/migrate_repo/versions/103_instance_indexes.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/nova/db/sqlalchemy/migrate_repo/versions/103_instance_indexes.py b/nova/db/sqlalchemy/migrate_repo/versions/103_instance_indexes.py new file mode 100644 index 000000000..0eeac2587 --- /dev/null +++ b/nova/db/sqlalchemy/migrate_repo/versions/103_instance_indexes.py @@ -0,0 +1,43 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2011 OpenStack LLC. +# Copyright 2012 Michael Still and Canonical Inc +# All Rights Reserved. +# +# 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 Index, MetaData, Table + + +def upgrade(migrate_engine): + meta = MetaData() + meta.bind = migrate_engine + + for table in ['block_device_mapping', + 'consoles', + 'volumes']: + t = Table(table, meta, autoload=True) + i = Index('%s_instance_uuid_idx' % table, t.c.instance_uuid) + i.create(migrate_engine) + + +def downgrade(migrate_engine): + meta = MetaData() + meta.bind = migrate_engine + + for table in ['block_device_mapping', + 'consoles', + 'volumes']: + t = Table(table, meta, autoload=True) + i = Index('%s_instance_uuid_idx' % table, t.c.instance_uuid) + i.drop(migrate_engine) |