~ubuntu-branches/ubuntu/raring/quantum/raring-proposed

« back to all changes in this revision

Viewing changes to quantum/db/migration/alembic_migrations/versions/3cb5d900c5de_security_groups.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Chuck Short, Yolanda Robla, James Page, Maru Newby
  • Date: 2013-01-11 09:14:35 UTC
  • mfrom: (2.1.17)
  • Revision ID: package-import@ubuntu.com-20130111091435-vaup7dwmtmajy5oe
Tags: 2013.1~g2-0ubuntu1
[ Chuck Short ]
* New upstream version. 
* debian/patches/fix-quantum-configuration.patch: Refreshed.

[ Yolanda Robla ]
* debian/quantum-l3-agent.quantum-metadata-agent.upstart: Add
  upstart configuration for Metadata Agent.
* debian/quantum-l3-agent.install: Added quantum-ns-metadata-proxy,
  quantum-metadata-agent and metadata_agent.ini.
* debian/patches/fix-quantum-configuration.patch: Update rootwrap
  configuration in metadata_agent.ini file.
* debian/changelog: Updated package version
* d/p/fix-quantum-configuration.patch: refresh patches

[ James Page ]
* d/*.install: Install entry points from bin directory instead
  of easy-install ones generated during the package build process
  (LP: #1085038).
* d/control: Drop BD on python-dev-all; its not required.
* d/rules: Install multiple upstart configurations for quantum-l3-agent.
* d/control: Tidy package descriptions.
* d/*.postrm: Drop as debhelper will generate update-rc.d calls in
  maintainer scripts if required.
* d/quantum-common.postinst: Tweak permissions setting so that /etc/quantum
  is not owned/writable by the quantum user, ensure that /etc/quantum/rootwrap*
  is owned by root:root.
* d/*agent*.postinst: Dropped as permissions now correctly set in
  quantum-common.
* d/patches/fix-quantum-configuration.patch: Re-add dropped fixes rootwrap and
  sqlite defaults for all plugins.
* d/control: Added new BD on alembic (>= 0.4.1~), version python-mock >= 1.0b1.

[ Maru Newby ]
* debian/control: Remove unnecessary openvswitch-vswitch dependency
  from quantum-plugin-openvswitch (LP: #1076747).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# vim: tabstop=4 shiftwidth=4 softtabstop=4
 
2
#
 
3
# Copyright 2013 OpenStack LLC
 
4
#
 
5
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 
6
#    not use this file except in compliance with the License. You may obtain
 
7
#    a copy of the License at
 
8
#
 
9
#         http://www.apache.org/licenses/LICENSE-2.0
 
10
#
 
11
#    Unless required by applicable law or agreed to in writing, software
 
12
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 
13
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 
14
#    License for the specific language governing permissions and limitations
 
15
#    under the License.
 
16
#
 
17
 
 
18
"""security_groups
 
19
 
 
20
Revision ID: 3cb5d900c5de
 
21
Revises: 48b6f43f7471
 
22
Create Date: 2013-01-08 00:13:43.051078
 
23
 
 
24
"""
 
25
 
 
26
# revision identifiers, used by Alembic.
 
27
revision = '3cb5d900c5de'
 
28
down_revision = '48b6f43f7471'
 
29
 
 
30
# Change to ['*'] if this migration applies to all plugins
 
31
 
 
32
migration_for_plugins = [
 
33
    'quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2'
 
34
]
 
35
 
 
36
from alembic import op
 
37
import sqlalchemy as sa
 
38
from sqlalchemy.dialects import mysql
 
39
 
 
40
from quantum.db import migration
 
41
 
 
42
 
 
43
def upgrade(active_plugin=None, options=None):
 
44
    if not migration.should_run(active_plugin, migration_for_plugins):
 
45
        return
 
46
 
 
47
    ### commands auto generated by Alembic - please adjust! ###
 
48
    op.create_table(
 
49
        'securitygroups',
 
50
        sa.Column('tenant_id', sa.String(length=255), nullable=True),
 
51
        sa.Column('id', sa.String(length=36), nullable=False),
 
52
        sa.Column('name', sa.String(length=255), nullable=True),
 
53
        sa.Column('description', sa.String(length=255), nullable=True),
 
54
        sa.Column('external_id', sa.Integer(), nullable=True),
 
55
        sa.PrimaryKeyConstraint('id'),
 
56
        sa.UniqueConstraint('external_id')
 
57
    )
 
58
    op.create_table(
 
59
        'securitygrouprules',
 
60
        sa.Column('tenant_id', sa.String(length=255), nullable=True),
 
61
        sa.Column('id', sa.String(length=36), nullable=False),
 
62
        sa.Column('external_id', sa.Integer(), nullable=True),
 
63
        sa.Column('security_group_id', sa.String(length=36), nullable=False),
 
64
        sa.Column('source_group_id', sa.String(length=36), nullable=True),
 
65
        sa.Column('direction', sa.Enum('ingress', 'egress'), nullable=True),
 
66
        sa.Column('ethertype', sa.String(length=40), nullable=True),
 
67
        sa.Column('protocol', sa.String(length=40), nullable=True),
 
68
        sa.Column('port_range_min', sa.Integer(), nullable=True),
 
69
        sa.Column('port_range_max', sa.Integer(), nullable=True),
 
70
        sa.Column('source_ip_prefix', sa.String(length=255), nullable=True),
 
71
        sa.ForeignKeyConstraint(['security_group_id'], ['securitygroups.id'],
 
72
                                ondelete='CASCADE'),
 
73
        sa.ForeignKeyConstraint(['source_group_id'], ['securitygroups.id'],
 
74
                                ondelete='CASCADE'),
 
75
        sa.PrimaryKeyConstraint('id')
 
76
    )
 
77
    op.create_table(
 
78
        'securitygroupportbindings',
 
79
        sa.Column('port_id', sa.String(length=36), nullable=False),
 
80
        sa.Column('security_group_id', sa.String(length=36), nullable=False),
 
81
        sa.ForeignKeyConstraint(['port_id'], ['ports.id'], ondelete='CASCADE'),
 
82
        sa.ForeignKeyConstraint(['security_group_id'], ['securitygroups.id']),
 
83
        sa.PrimaryKeyConstraint('port_id', 'security_group_id')
 
84
    )
 
85
    ### end Alembic commands ###
 
86
 
 
87
 
 
88
def downgrade(active_plugin=None, options=None):
 
89
    if not migration.should_run(active_plugin, migration_for_plugins):
 
90
        return
 
91
 
 
92
    ### commands auto generated by Alembic - please adjust! ###
 
93
    op.drop_table('securitygroupportbindings')
 
94
    op.drop_table('securitygrouprules')
 
95
    op.drop_table('securitygroups')
 
96
    ### end Alembic commands ###