Merge "Nested Quota : Create allocated column in cinder.quotas"

This commit is contained in:
Jenkins 2015-06-22 18:47:24 +00:00 committed by Gerrit Code Review
commit 648d544621
3 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,34 @@
# Copyright 2015 Yahoo Inc.
#
# 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 Column, Integer, MetaData, Table
def upgrade(migrate_engine):
meta = MetaData()
meta.bind = migrate_engine
quotas = Table('quotas', meta, autoload=True)
# Add a new column allocated to save allocated quota
allocated = Column('allocated', Integer, default=0)
quotas.create_column(allocated)
def downgrade(migrate_engine):
"""Remove allocated column from quotas."""
meta = MetaData()
meta.bind = migrate_engine
quotas = Table('quotas', meta, autoload=True)
quotas.drop_column('allocated')

View File

@ -366,6 +366,7 @@ class Quota(BASE, CinderBase):
resource = Column(String(255))
hard_limit = Column(Integer, nullable=True)
allocated = Column(Integer, default=0)
class QuotaClass(BASE, CinderBase):

View File

@ -817,6 +817,15 @@ class MigrationsMixin(test_migrations.WalkVersionsMixin):
services = db_utils.get_table(engine, 'services')
self.assertNotIn('modified_at', services.c)
def _check_048(self, engine, data):
quotas = db_utils.get_table(engine, 'quotas')
self.assertIsInstance(quotas.c.allocated.type,
sqlalchemy.types.INTEGER)
def _post_downgrade_048(self, engine):
quotas = db_utils.get_table(engine, 'quotas')
self.assertNotIn('allocated', quotas.c)
def test_walk_versions(self):
self.walk_versions(True, False)