summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Still <mikal@stillhq.com>2012-06-09 14:04:15 +1000
committerMichael Still <mikal@stillhq.com>2012-06-09 14:04:51 +1000
commit0efa0da2313ae4fffca1a17e820262185d60a402 (patch)
tree3ad8d2df8871753ccc2f466073d01733b9a7ba52
parente3911801f6814ebc8aeed1e6b4284fbfb2e74192 (diff)
downloadnova-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.py43
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)