Revision 190d155f

b/snf-cyclades-app/synnefo/db/migrations/0058_auto__chg_field_networkinterface_dirty__chg_field_virtualmachine_delet.py
1
# encoding: utf-8
2
import datetime
3
from south.db import db
4
from south.v2 import SchemaMigration
5
from django.db import models
6

  
7
class Migration(SchemaMigration):
8

  
9
    def forwards(self, orm):
10
        
11
        # Changing field 'NetworkInterface.dirty'
12
        db.alter_column('db_networkinterface', 'dirty', self.gf('django.db.models.fields.BooleanField')(blank=True))
13

  
14
        # Changing field 'VirtualMachine.deleted'
15
        db.alter_column('db_virtualmachine', 'deleted', self.gf('django.db.models.fields.BooleanField')(blank=True))
16

  
17
        # Adding index on 'VirtualMachine', fields ['deleted']
18
        db.create_index('db_virtualmachine', ['deleted'])
19

  
20
        # Adding index on 'VirtualMachine', fields ['userid']
21
        db.create_index('db_virtualmachine', ['userid'])
22

  
23
        # Changing field 'VirtualMachine.suspended'
24
        db.alter_column('db_virtualmachine', 'suspended', self.gf('django.db.models.fields.BooleanField')(blank=True))
25

  
26
        # Changing field 'Backend.drained'
27
        db.alter_column('db_backend', 'drained', self.gf('django.db.models.fields.BooleanField')(blank=True))
28

  
29
        # Changing field 'Backend.offline'
30
        db.alter_column('db_backend', 'offline', self.gf('django.db.models.fields.BooleanField')(blank=True))
31

  
32
        # Changing field 'Flavor.deleted'
33
        db.alter_column('db_flavor', 'deleted', self.gf('django.db.models.fields.BooleanField')(blank=True))
34

  
35
        # Changing field 'Network.deleted'
36
        db.alter_column('db_network', 'deleted', self.gf('django.db.models.fields.BooleanField')(blank=True))
37

  
38
        # Adding index on 'Network', fields ['deleted']
39
        db.create_index('db_network', ['deleted'])
40

  
41
        # Adding index on 'Network', fields ['userid']
42
        db.create_index('db_network', ['userid'])
43

  
44
        # Changing field 'Network.public'
45
        db.alter_column('db_network', 'public', self.gf('django.db.models.fields.BooleanField')(blank=True))
46

  
47
        # Adding index on 'Network', fields ['public']
48
        db.create_index('db_network', ['public'])
49

  
50
        # Changing field 'Network.dhcp'
51
        db.alter_column('db_network', 'dhcp', self.gf('django.db.models.fields.BooleanField')(blank=True))
52

  
53
        # Changing field 'BackendNetwork.deleted'
54
        db.alter_column('db_backendnetwork', 'deleted', self.gf('django.db.models.fields.BooleanField')(blank=True))
55

  
56

  
57
    def backwards(self, orm):
58
        
59
        # Changing field 'NetworkInterface.dirty'
60
        db.alter_column('db_networkinterface', 'dirty', self.gf('django.db.models.fields.BooleanField')())
61

  
62
        # Changing field 'VirtualMachine.deleted'
63
        db.alter_column('db_virtualmachine', 'deleted', self.gf('django.db.models.fields.BooleanField')())
64

  
65
        # Removing index on 'VirtualMachine', fields ['deleted']
66
        db.delete_index('db_virtualmachine', ['deleted'])
67

  
68
        # Removing index on 'VirtualMachine', fields ['userid']
69
        db.delete_index('db_virtualmachine', ['userid'])
70

  
71
        # Changing field 'VirtualMachine.suspended'
72
        db.alter_column('db_virtualmachine', 'suspended', self.gf('django.db.models.fields.BooleanField')())
73

  
74
        # Changing field 'Backend.drained'
75
        db.alter_column('db_backend', 'drained', self.gf('django.db.models.fields.BooleanField')())
76

  
77
        # Changing field 'Backend.offline'
78
        db.alter_column('db_backend', 'offline', self.gf('django.db.models.fields.BooleanField')())
79

  
80
        # Changing field 'Flavor.deleted'
81
        db.alter_column('db_flavor', 'deleted', self.gf('django.db.models.fields.BooleanField')())
82

  
83
        # Changing field 'Network.deleted'
84
        db.alter_column('db_network', 'deleted', self.gf('django.db.models.fields.BooleanField')())
85

  
86
        # Removing index on 'Network', fields ['deleted']
87
        db.delete_index('db_network', ['deleted'])
88

  
89
        # Removing index on 'Network', fields ['userid']
90
        db.delete_index('db_network', ['userid'])
91

  
92
        # Changing field 'Network.public'
93
        db.alter_column('db_network', 'public', self.gf('django.db.models.fields.BooleanField')())
94

  
95
        # Removing index on 'Network', fields ['public']
96
        db.delete_index('db_network', ['public'])
97

  
98
        # Changing field 'Network.dhcp'
99
        db.alter_column('db_network', 'dhcp', self.gf('django.db.models.fields.BooleanField')())
100

  
101
        # Changing field 'BackendNetwork.deleted'
102
        db.alter_column('db_backendnetwork', 'deleted', self.gf('django.db.models.fields.BooleanField')())
103

  
104

  
105
    models = {
106
        'db.backend': {
107
            'Meta': {'object_name': 'Backend'},
108
            'clustername': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
109
            'ctotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
110
            'dfree': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
111
            'drained': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
112
            'dtotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
113
            'hash': ('django.db.models.fields.CharField', [], {'max_length': '40'}),
114
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
115
            'index': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'unique': 'True'}),
116
            'mfree': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
117
            'mtotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
118
            'offline': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
119
            'password_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
120
            'pinst_cnt': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
121
            'port': ('django.db.models.fields.PositiveIntegerField', [], {'default': '5080'}),
122
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
123
            'username': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'})
124
        },
125
        'db.backendnetwork': {
126
            'Meta': {'unique_together': "(('network', 'backend'),)", 'object_name': 'BackendNetwork'},
127
            'backend': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'networks'", 'to': "orm['db.Backend']"}),
128
            'backendjobid': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
129
            'backendjobstatus': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
130
            'backendlogmsg': ('django.db.models.fields.TextField', [], {'null': 'True'}),
131
            'backendopcode': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
132
            'backendtime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1, 1, 1, 0, 0)'}),
133
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
134
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
135
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
136
            'mac_prefix': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
137
            'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'backend_networks'", 'to': "orm['db.Network']"}),
138
            'operstate': ('django.db.models.fields.CharField', [], {'default': "'PENDING'", 'max_length': '30'}),
139
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
140
        },
141
        'db.bridgepooltable': {
142
            'Meta': {'object_name': 'BridgePoolTable'},
143
            'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
144
            'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
145
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
146
            'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
147
            'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
148
            'size': ('django.db.models.fields.IntegerField', [], {})
149
        },
150
        'db.flavor': {
151
            'Meta': {'unique_together': "(('cpu', 'ram', 'disk', 'disk_template'),)", 'object_name': 'Flavor'},
152
            'cpu': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
153
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
154
            'disk': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
155
            'disk_template': ('django.db.models.fields.CharField', [], {'default': "'plain'", 'max_length': '32'}),
156
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
157
            'ram': ('django.db.models.fields.IntegerField', [], {'default': '0'})
158
        },
159
        'db.ippooltable': {
160
            'Meta': {'object_name': 'IPPoolTable'},
161
            'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
162
            'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
163
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
164
            'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
165
            'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
166
            'size': ('django.db.models.fields.IntegerField', [], {})
167
        },
168
        'db.macprefixpooltable': {
169
            'Meta': {'object_name': 'MacPrefixPoolTable'},
170
            'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
171
            'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
172
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
173
            'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
174
            'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}),
175
            'size': ('django.db.models.fields.IntegerField', [], {})
176
        },
177
        'db.network': {
178
            'Meta': {'object_name': 'Network'},
179
            'action': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '32', 'null': 'True'}),
180
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
181
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}),
182
            'dhcp': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
183
            'gateway': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}),
184
            'gateway6': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
185
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
186
            'link': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
187
            'mac_prefix': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
188
            'machines': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['db.VirtualMachine']", 'through': "orm['db.NetworkInterface']", 'symmetrical': 'False'}),
189
            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
190
            'pool': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'network'", 'unique': 'True', 'null': 'True', 'to': "orm['db.IPPoolTable']"}),
191
            'public': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}),
192
            'state': ('django.db.models.fields.CharField', [], {'default': "'PENDING'", 'max_length': '32'}),
193
            'subnet': ('django.db.models.fields.CharField', [], {'default': "'10.0.0.0/24'", 'max_length': '32'}),
194
            'subnet6': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}),
195
            'type': ('django.db.models.fields.CharField', [], {'default': "'PRIVATE_PHYSICAL_VLAN'", 'max_length': '50'}),
196
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
197
            'userid': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'db_index': 'True'})
198
        },
199
        'db.networkinterface': {
200
            'Meta': {'object_name': 'NetworkInterface'},
201
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
202
            'dirty': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
203
            'firewall_profile': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
204
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
205
            'index': ('django.db.models.fields.IntegerField', [], {}),
206
            'ipv4': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True'}),
207
            'ipv6': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'}),
208
            'mac': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '32'}),
209
            'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.VirtualMachine']"}),
210
            'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.Network']"}),
211
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
212
        },
213
        'db.virtualmachine': {
214
            'Meta': {'object_name': 'VirtualMachine'},
215
            'action': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
216
            'backend': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'virtual_machines'", 'null': 'True', 'to': "orm['db.Backend']"}),
217
            'backend_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
218
            'backendjobid': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
219
            'backendjobstatus': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
220
            'backendlogmsg': ('django.db.models.fields.TextField', [], {'null': 'True'}),
221
            'backendopcode': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
222
            'backendtime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1, 1, 1, 0, 0)'}),
223
            'buildpercentage': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
224
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
225
            'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}),
226
            'flavor': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['db.Flavor']"}),
227
            'hostid': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
228
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
229
            'imageid': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
230
            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
231
            'operstate': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}),
232
            'suspended': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
233
            'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
234
            'userid': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'})
235
        },
236
        'db.virtualmachinediagnostic': {
237
            'Meta': {'object_name': 'VirtualMachineDiagnostic'},
238
            'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
239
            'details': ('django.db.models.fields.TextField', [], {'null': 'True'}),
240
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
241
            'level': ('django.db.models.fields.CharField', [], {'max_length': '20'}),
242
            'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'diagnostics'", 'to': "orm['db.VirtualMachine']"}),
243
            'message': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
244
            'source': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
245
            'source_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'})
246
        },
247
        'db.virtualmachinemetadata': {
248
            'Meta': {'unique_together': "(('meta_key', 'vm'),)", 'object_name': 'VirtualMachineMetadata'},
249
            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
250
            'meta_key': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
251
            'meta_value': ('django.db.models.fields.CharField', [], {'max_length': '500'}),
252
            'vm': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'metadata'", 'to': "orm['db.VirtualMachine']"})
253
        }
254
    }
255

  
256
    complete_apps = ['db']
b/snf-cyclades-app/synnefo/db/models.py
261 261
    }
262 262

  
263 263
    name = models.CharField('Virtual Machine Name', max_length=255)
264
    userid = models.CharField('User ID of the owner', max_length=100)
264
    userid = models.CharField('User ID of the owner', max_length=100,
265
                              db_index=True)
265 266
    backend = models.ForeignKey(Backend, null=True,
266 267
                                related_name="virtual_machines",)
267 268
    backend_hash = models.CharField(max_length=128, null=True, editable=False)
......
270 271
    imageid = models.CharField(max_length=100, null=False)
271 272
    hostid = models.CharField(max_length=100)
272 273
    flavor = models.ForeignKey(Flavor)
273
    deleted = models.BooleanField('Deleted', default=False)
274
    deleted = models.BooleanField('Deleted', default=False, db_index=True)
274 275
    suspended = models.BooleanField('Administratively Suspended',
275 276
                                    default=False)
276 277

  
......
418 419
    )
419 420

  
420 421
    name = models.CharField('Network Name', max_length=128)
421
    userid = models.CharField('User ID of the owner', max_length=128, null=True)
422
    userid = models.CharField('User ID of the owner', max_length=128,
423
                              null=True, db_index=True)
422 424
    subnet = models.CharField('Subnet', max_length=32, default='10.0.0.0/24')
423 425
    subnet6 = models.CharField('IPv6 Subnet', max_length=64, null=True)
424 426
    gateway = models.CharField('Gateway', max_length=32, null=True)
......
428 430
                            default='PRIVATE_PHYSICAL_VLAN')
429 431
    link = models.CharField('Network Link', max_length=128, null=True)
430 432
    mac_prefix = models.CharField('MAC Prefix', max_length=32, null=False)
431
    public = models.BooleanField(default=False)
433
    public = models.BooleanField(default=False, db_index=True)
432 434
    created = models.DateTimeField(auto_now_add=True)
433 435
    updated = models.DateTimeField(auto_now=True)
434
    deleted = models.BooleanField('Deleted', default=False)
436
    deleted = models.BooleanField('Deleted', default=False, db_index=True)
435 437
    state = models.CharField(choices=OPER_STATES, max_length=32,
436 438
                             default='PENDING')
437 439
    machines = models.ManyToManyField(VirtualMachine,

Also available in: Unified diff