diff options
author | Ulas Kozat <ulas.kozat@huawei.com> | 2015-12-28 16:05:13 -0800 |
---|---|---|
committer | Ulas Kozat <ulas.kozat@huawei.com> | 2015-12-28 16:05:13 -0800 |
commit | c772a1dbc7ace58d099570d41a889adf851c8ba8 (patch) | |
tree | 809aefa0dae407a1d9c12989f7e8f60891700d17 /networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py | |
parent | e671a915d887ae8f7751a54bb07ecb7ed8f2f25b (diff) |
Added networking-sfc from openstack project with merge date Dec 23 2015stable/coloradostable/brahmaputra
Added patch 13 for subject "add missing db migration files"
Change-Id: Id51a160335a14870c1dd816a44baf9b1958b9ac6
Diffstat (limited to 'networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py')
-rw-r--r-- | networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py b/networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py new file mode 100644 index 0000000..9f5362a --- /dev/null +++ b/networking_sfc/db/migration/alembic_migrations/versions/liberty/expand/c3e178d4a985_sfc_data_model.py @@ -0,0 +1,119 @@ +# Copyright 2015 Futurewei. 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. + +"""Defining Port Chain data-model. + +Revision ID: c3e178d4a985 +Revises: 9768e6a66c9 +Create Date: 2015-09-11 11:37:19.349951 + +""" + +from alembic import op +import sqlalchemy as sa + +from neutron.api.v2 import attributes as attr + +# revision identifiers, used by Alembic. +revision = 'c3e178d4a985' +down_revision = '9768e6a66c9' + + +def upgrade(): + op.create_table( + 'sfc_port_pair_groups', + sa.Column('id', sa.String(length=36), nullable=False), + sa.Column('tenant_id', sa.String(length=attr.TENANT_ID_MAX_LEN), + nullable=True, index=True), + sa.Column('name', sa.String(length=attr.NAME_MAX_LEN), + nullable=True), + sa.Column('description', sa.String(length=attr.DESCRIPTION_MAX_LEN), + nullable=True), + sa.PrimaryKeyConstraint('id') + ) + + op.create_table( + 'sfc_port_pairs', + sa.Column('tenant_id', sa.String(length=attr.TENANT_ID_MAX_LEN), + nullable=True, index=True), + sa.Column('id', sa.String(length=36), nullable=False), + sa.Column('name', sa.String(length=attr.NAME_MAX_LEN), nullable=True), + sa.Column('description', sa.String(length=attr.DESCRIPTION_MAX_LEN), + nullable=True), + sa.Column('ingress', sa.String(length=36), nullable=False), + sa.Column('egress', sa.String(length=36), nullable=False), + sa.Column('portpairgroup_id', sa.String(length=36), nullable=True), + sa.ForeignKeyConstraint(['egress'], ['ports.id'], + ondelete='RESTRICT'), + sa.ForeignKeyConstraint(['ingress'], ['ports.id'], + ondelete='RESTRICT'), + sa.ForeignKeyConstraint(['portpairgroup_id'], ['sfc_port_pair_groups.id'], + ondelete='RESTRICT'), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('ingress', 'egress', + name='uniq_sfc_port_pairs0ingress0egress') + ) + + op.create_table( + 'sfc_port_chains', + sa.Column('tenant_id', sa.String(length=attr.TENANT_ID_MAX_LEN), + nullable=True, index=True), + sa.Column('id', sa.String(length=36), nullable=False), + sa.Column('name', sa.String(length=attr.NAME_MAX_LEN), + nullable=True), + sa.Column('description', sa.String(length=attr.DESCRIPTION_MAX_LEN), + nullable=True), + sa.PrimaryKeyConstraint('id') + ) + + op.create_table( + 'sfc_chain_group_associations', + sa.Column('portpairgroup_id', sa.String(length=36), nullable=False), + sa.Column('portchain_id', sa.String(length=36), nullable=False), + sa.Column('position', sa.Integer(), nullable=True), + sa.ForeignKeyConstraint(['portchain_id'], ['sfc_port_chains.id'], ), + sa.ForeignKeyConstraint(['portpairgroup_id'], ['sfc_port_pair_groups.id'], + ondelete='RESTRICT'), + sa.PrimaryKeyConstraint('portpairgroup_id', 'portchain_id') + ) + + op.create_table( + 'sfc_port_chain_parameters', + sa.Column('keyword', sa.String(length=255), nullable=False), + sa.Column('value', sa.String(length=255), nullable=True), + sa.Column('chain_id', sa.String(length=36), nullable=False), + sa.ForeignKeyConstraint(['chain_id'], ['sfc_port_chains.id'], ), + sa.PrimaryKeyConstraint('keyword', 'chain_id') + ) + + op.create_table( + 'sfc_service_function_params', + sa.Column('keyword', sa.String(length=255), nullable=False), + sa.Column('value', sa.String(length=255), nullable=True), + sa.Column('pair_id', sa.String(length=36), nullable=False), + sa.ForeignKeyConstraint(['pair_id'], ['sfc_port_pairs.id'], ), + sa.PrimaryKeyConstraint('keyword', 'pair_id') + ) + + op.create_table( + 'sfc_chain_classifier_associations', + sa.Column('flowclassifier_id', sa.String(length=36), nullable=False), + sa.Column('portchain_id', sa.String(length=36), nullable=False), + sa.ForeignKeyConstraint(['flowclassifier_id'], + ['sfc_flow_classifiers.id'], + ondelete='RESTRICT'), + sa.ForeignKeyConstraint(['portchain_id'], ['sfc_port_chains.id'], ), + sa.PrimaryKeyConstraint('flowclassifier_id', 'portchain_id'), + sa.UniqueConstraint('flowclassifier_id') + ) |