1
# Copyright (c) 2011 NTT.
4
# Licensed under the Apache License, Version 2.0 (the "License"); you may
5
# not use this file except in compliance with the License. You may obtain
6
# a copy of the License at
8
# http://www.apache.org/licenses/LICENSE-2.0
10
# Unless required by applicable law or agreed to in writing, software
11
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
# License for the specific language governing permissions and limitations
16
from sqlalchemy import *
19
from nova import log as logging
25
# Table stub-definitions
26
# Just for the ForeignKey and column creation to succeed, these are not the
27
# actual definitions of instances or services.
29
instances = Table('instances', meta,
30
Column('id', Integer(), primary_key=True, nullable=False),
36
networks = Table('networks', meta,
37
Column('created_at', DateTime(timezone=False)),
38
Column('updated_at', DateTime(timezone=False)),
39
Column('deleted_at', DateTime(timezone=False)),
40
Column('deleted', Boolean(create_constraint=True, name=None)),
41
Column('id', Integer(), primary_key=True, nullable=False),
42
Column('injected', Boolean(create_constraint=True, name=None)),
44
String(length=255, convert_unicode=False, assert_unicode=None,
45
unicode_error=None, _warn_on_bytestring=False)),
47
String(length=255, convert_unicode=False, assert_unicode=None,
48
unicode_error=None, _warn_on_bytestring=False)),
50
String(length=255, convert_unicode=False, assert_unicode=None,
51
unicode_error=None, _warn_on_bytestring=False)),
53
String(length=255, convert_unicode=False, assert_unicode=None,
54
unicode_error=None, _warn_on_bytestring=False)),
56
String(length=255, convert_unicode=False, assert_unicode=None,
57
unicode_error=None, _warn_on_bytestring=False)),
59
String(length=255, convert_unicode=False, assert_unicode=None,
60
unicode_error=None, _warn_on_bytestring=False)),
61
Column('vlan', Integer()),
62
Column('vpn_public_address',
63
String(length=255, convert_unicode=False, assert_unicode=None,
64
unicode_error=None, _warn_on_bytestring=False)),
65
Column('vpn_public_port', Integer()),
66
Column('vpn_private_address',
67
String(length=255, convert_unicode=False, assert_unicode=None,
68
unicode_error=None, _warn_on_bytestring=False)),
70
String(length=255, convert_unicode=False, assert_unicode=None,
71
unicode_error=None, _warn_on_bytestring=False)),
73
String(length=255, convert_unicode=False, assert_unicode=None,
74
unicode_error=None, _warn_on_bytestring=False)),
76
String(length=255, convert_unicode=False, assert_unicode=None,
77
unicode_error=None, _warn_on_bytestring=False)),
79
String(length=255, convert_unicode=False, assert_unicode=None,
80
unicode_error=None, _warn_on_bytestring=False)),
81
Column('ra_server', String(length=255,
82
convert_unicode=False,
85
_warn_on_bytestring=False)),
88
String(length=255, convert_unicode=False, assert_unicode=None,
89
unicode_error=None, _warn_on_bytestring=False)))
91
fixed_ips = Table('fixed_ips', meta,
92
Column('created_at', DateTime(timezone=False)),
93
Column('updated_at', DateTime(timezone=False)),
94
Column('deleted_at', DateTime(timezone=False)),
95
Column('deleted', Boolean(create_constraint=True, name=None)),
96
Column('id', Integer(), primary_key=True, nullable=False),
98
String(length=255, convert_unicode=False, assert_unicode=None,
99
unicode_error=None, _warn_on_bytestring=False)),
102
ForeignKey('networks.id'),
104
Column('instance_id',
106
ForeignKey('instances.id'),
108
Column('allocated', Boolean(create_constraint=True, name=None)),
109
Column('leased', Boolean(create_constraint=True, name=None)),
110
Column('reserved', Boolean(create_constraint=True, name=None)),
111
Column("addressV6", String(length=255,
112
convert_unicode=False,
115
_warn_on_bytestring=False)),
116
Column("netmaskV6", String(length=3,
117
convert_unicode=False,
120
_warn_on_bytestring=False)),
121
Column("gatewayV6", String(length=255,
122
convert_unicode=False,
125
_warn_on_bytestring=False)),
133
# Columns to add to existing tables
135
networks_netmask_v6 = Column(
137
String(length=255, convert_unicode=False, assert_unicode=None,
138
unicode_error=None, _warn_on_bytestring=False))
141
def upgrade(migrate_engine):
142
# Upgrade operations go here. Don't create your own engine;
143
# bind migrate_engine to your metadata
144
meta.bind = migrate_engine
147
networks.c.ra_server.alter(name='gateway_v6')
148
# Add new column to existing table
149
networks.create_column(networks_netmask_v6)
151
# drop existing columns from table
152
fixed_ips.c.addressV6.drop()
153
fixed_ips.c.netmaskV6.drop()
154
fixed_ips.c.gatewayV6.drop()