1
# -*- coding: utf-8 -*-
4
from django.db import models
5
from south.db import db
6
from south.v2 import SchemaMigration
9
class Migration(SchemaMigration):
11
def forwards(self, orm):
12
# Removing M2M table for field networks on 'Node'
13
db.delete_table('maasserver_node_networks')
16
def backwards(self, orm):
17
# Adding M2M table for field networks on 'Node'
18
db.create_table(u'maasserver_node_networks', (
19
('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)),
20
('node', models.ForeignKey(orm[u'maasserver.node'], null=False)),
21
('network', models.ForeignKey(orm[u'maasserver.network'], null=False))
23
db.create_unique(u'maasserver_node_networks', ['node_id', 'network_id'])
28
'Meta': {'object_name': 'Group'},
29
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
30
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
31
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
34
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
35
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
36
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
37
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
38
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
41
'Meta': {'object_name': 'User'},
42
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
43
'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'blank': 'True'}),
44
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
45
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
46
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
47
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
48
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
49
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
50
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
51
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
52
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
53
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
54
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
56
u'contenttypes.contenttype': {
57
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
58
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
59
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
60
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
61
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
63
u'maasserver.bootimage': {
64
'Meta': {'unique_together': "((u'nodegroup', u'architecture', u'subarchitecture', u'release', u'purpose'),)", 'object_name': 'BootImage'},
65
'architecture': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
66
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
67
'nodegroup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.NodeGroup']"}),
68
'purpose': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
69
'release': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
70
'subarchitecture': ('django.db.models.fields.CharField', [], {'max_length': '255'})
72
u'maasserver.componenterror': {
73
'Meta': {'object_name': 'ComponentError'},
74
'component': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '40'}),
75
'created': ('django.db.models.fields.DateTimeField', [], {}),
76
'error': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
77
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78
'updated': ('django.db.models.fields.DateTimeField', [], {})
80
u'maasserver.config': {
81
'Meta': {'object_name': 'Config'},
82
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
83
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
84
'value': ('maasserver.fields.JSONObjectField', [], {'null': 'True'})
86
u'maasserver.dhcplease': {
87
'Meta': {'object_name': 'DHCPLease'},
88
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
89
'ip': ('django.db.models.fields.IPAddressField', [], {'unique': 'True', 'max_length': '15'}),
90
'mac': ('maasserver.fields.MACAddressField', [], {}),
91
'nodegroup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.NodeGroup']"})
93
u'maasserver.downloadprogress': {
94
'Meta': {'object_name': 'DownloadProgress'},
95
'bytes_downloaded': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
96
'created': ('django.db.models.fields.DateTimeField', [], {}),
97
'error': ('django.db.models.fields.CharField', [], {'max_length': '1000', 'blank': 'True'}),
98
'filename': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
99
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100
'nodegroup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.NodeGroup']"}),
101
'size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
102
'updated': ('django.db.models.fields.DateTimeField', [], {})
104
u'maasserver.filestorage': {
105
'Meta': {'unique_together': "((u'filename', u'owner'),)", 'object_name': 'FileStorage'},
106
'content': ('metadataserver.fields.BinaryField', [], {'blank': 'True'}),
107
'filename': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
108
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
109
'key': ('django.db.models.fields.CharField', [], {'default': "u'5ba0348e-9a26-11e3-8c88-9c4e363b1c94'", 'unique': 'True', 'max_length': '36'}),
110
'owner': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'})
112
u'maasserver.macaddress': {
113
'Meta': {'object_name': 'MACAddress'},
114
'created': ('django.db.models.fields.DateTimeField', [], {}),
115
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
116
'mac_address': ('maasserver.fields.MACAddressField', [], {'unique': 'True'}),
117
'networks': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['maasserver.Network']", 'symmetrical': 'False', 'blank': 'True'}),
118
'node': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.Node']"}),
119
'updated': ('django.db.models.fields.DateTimeField', [], {})
121
u'maasserver.network': {
122
'Meta': {'object_name': 'Network'},
123
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
124
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
125
'ip': ('django.db.models.fields.GenericIPAddressField', [], {'unique': 'True', 'max_length': '39'}),
126
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
127
'netmask': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
128
'vlan_tag': ('django.db.models.fields.PositiveSmallIntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'})
130
u'maasserver.node': {
131
'Meta': {'object_name': 'Node'},
132
'after_commissioning_action': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
133
'agent_name': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255', 'null': 'True', 'blank': 'True'}),
134
'architecture': ('django.db.models.fields.CharField', [], {'default': "u'i386/generic'", 'max_length': '31'}),
135
'cpu_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
136
'created': ('django.db.models.fields.DateTimeField', [], {}),
137
'distro_series': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '20', 'null': 'True', 'blank': 'True'}),
138
'error': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255', 'blank': 'True'}),
139
'hostname': ('django.db.models.fields.CharField', [], {'default': "u''", 'unique': 'True', 'max_length': '255', 'blank': 'True'}),
140
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
141
'memory': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
142
'netboot': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
143
'nodegroup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.NodeGroup']", 'null': 'True'}),
144
'owner': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['auth.User']", 'null': 'True', 'blank': 'True'}),
145
'power_parameters': ('maasserver.fields.JSONObjectField', [], {'default': "u''", 'blank': 'True'}),
146
'power_type': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '10', 'blank': 'True'}),
147
'routers': ('djorm_pgarray.fields.ArrayField', [], {'default': 'None', 'dbtype': "u'macaddr'", 'null': 'True', 'blank': 'True'}),
148
'status': ('django.db.models.fields.IntegerField', [], {'default': '0', 'max_length': '10'}),
149
'storage': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
150
'system_id': ('django.db.models.fields.CharField', [], {'default': "u'node-5b9edd46-9a26-11e3-8c88-9c4e363b1c94'", 'unique': 'True', 'max_length': '41'}),
151
'tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['maasserver.Tag']", 'symmetrical': 'False'}),
152
'token': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['piston.Token']", 'null': 'True'}),
153
'updated': ('django.db.models.fields.DateTimeField', [], {}),
154
'zone': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.Zone']", 'on_delete': 'models.SET_DEFAULT'})
156
u'maasserver.nodegroup': {
157
'Meta': {'object_name': 'NodeGroup'},
158
'api_key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '18'}),
159
'api_token': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['piston.Token']", 'unique': 'True'}),
160
'cluster_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100', 'blank': 'True'}),
161
'created': ('django.db.models.fields.DateTimeField', [], {}),
162
'dhcp_key': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255', 'blank': 'True'}),
163
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
164
'maas_url': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255', 'blank': 'True'}),
165
'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'blank': 'True'}),
166
'status': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
167
'updated': ('django.db.models.fields.DateTimeField', [], {}),
168
'uuid': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '36'})
170
u'maasserver.nodegroupinterface': {
171
'Meta': {'unique_together': "((u'nodegroup', u'interface'),)", 'object_name': 'NodeGroupInterface'},
172
'broadcast_ip': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
173
'created': ('django.db.models.fields.DateTimeField', [], {}),
174
'foreign_dhcp_ip': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
175
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
176
'interface': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255', 'blank': 'True'}),
177
'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
178
'ip_range_high': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
179
'ip_range_low': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
180
'management': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
181
'nodegroup': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['maasserver.NodeGroup']"}),
182
'router_ip': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
183
'subnet_mask': ('django.db.models.fields.GenericIPAddressField', [], {'default': 'None', 'max_length': '39', 'null': 'True', 'blank': 'True'}),
184
'updated': ('django.db.models.fields.DateTimeField', [], {})
186
u'maasserver.sshkey': {
187
'Meta': {'unique_together': "((u'user', u'key'),)", 'object_name': 'SSHKey'},
188
'created': ('django.db.models.fields.DateTimeField', [], {}),
189
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
190
'key': ('django.db.models.fields.TextField', [], {}),
191
'updated': ('django.db.models.fields.DateTimeField', [], {}),
192
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']"})
195
'Meta': {'object_name': 'Tag'},
196
'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
197
'created': ('django.db.models.fields.DateTimeField', [], {}),
198
'definition': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
199
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
200
'kernel_opts': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
201
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'}),
202
'updated': ('django.db.models.fields.DateTimeField', [], {})
204
u'maasserver.userprofile': {
205
'Meta': {'object_name': 'UserProfile'},
206
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
207
'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True'})
209
u'maasserver.zone': {
210
'Meta': {'ordering': "[u'name']", 'object_name': 'Zone'},
211
'created': ('django.db.models.fields.DateTimeField', [], {}),
212
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
213
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
214
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '256'}),
215
'updated': ('django.db.models.fields.DateTimeField', [], {})
217
u'piston.consumer': {
218
'Meta': {'object_name': 'Consumer'},
219
'description': ('django.db.models.fields.TextField', [], {}),
220
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
221
'key': ('django.db.models.fields.CharField', [], {'max_length': '18'}),
222
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
223
'secret': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
224
'status': ('django.db.models.fields.CharField', [], {'default': "'pending'", 'max_length': '16'}),
225
'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'consumers'", 'null': 'True', 'to': u"orm['auth.User']"})
228
'Meta': {'object_name': 'Token'},
229
'callback': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
230
'callback_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
231
'consumer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['piston.Consumer']"}),
232
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
233
'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
234
'key': ('django.db.models.fields.CharField', [], {'max_length': '18'}),
235
'secret': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
236
'timestamp': ('django.db.models.fields.IntegerField', [], {'default': '1392897528L'}),
237
'token_type': ('django.db.models.fields.IntegerField', [], {}),
238
'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'tokens'", 'null': 'True', 'to': u"orm['auth.User']"}),
239
'verifier': ('django.db.models.fields.CharField', [], {'max_length': '10'})
243
complete_apps = ['maasserver']