root / snf-cyclades-app / synnefo / db / migrations / 0077_migrate_networks_to_subnets.py @ 8d5795b4
History | View | Annotate | Download (19.8 kB)
1 | d8989b47 | Christos Stavrakakis | # -*- coding: utf-8 -*-
|
---|---|---|---|
2 | d8989b47 | Christos Stavrakakis | import datetime |
3 | d8989b47 | Christos Stavrakakis | from south.db import db |
4 | d8989b47 | Christos Stavrakakis | from south.v2 import DataMigration |
5 | d8989b47 | Christos Stavrakakis | from django.db import models |
6 | d8989b47 | Christos Stavrakakis | |
7 | d8989b47 | Christos Stavrakakis | class Migration(DataMigration): |
8 | d8989b47 | Christos Stavrakakis | |
9 | d8989b47 | Christos Stavrakakis | def forwards(self, orm): |
10 | d8989b47 | Christos Stavrakakis | "Write your forwards methods here."
|
11 | d8989b47 | Christos Stavrakakis | # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
|
12 | d8989b47 | Christos Stavrakakis | for network in orm.Network.objects.all(): |
13 | d8989b47 | Christos Stavrakakis | if network.subnet:
|
14 | d8989b47 | Christos Stavrakakis | subnet = orm.Subnet.objects.create(network=network, |
15 | d8989b47 | Christos Stavrakakis | ipversion=4,
|
16 | d8989b47 | Christos Stavrakakis | cidr=network.subnet, |
17 | d8989b47 | Christos Stavrakakis | gateway=network.gateway, |
18 | d8989b47 | Christos Stavrakakis | dhcp=network.dhcp, |
19 | d8989b47 | Christos Stavrakakis | deleted=network.deleted) |
20 | d8989b47 | Christos Stavrakakis | ip_pool = network.pool |
21 | d8989b47 | Christos Stavrakakis | ip_pool.subnet = subnet |
22 | 833f2ad5 | Christos Stavrakakis | ip_pool.base = subnet.cidr |
23 | 833f2ad5 | Christos Stavrakakis | ip_pool.offset = 0
|
24 | d8989b47 | Christos Stavrakakis | ip_pool.save() |
25 | d8989b47 | Christos Stavrakakis | |
26 | d8989b47 | Christos Stavrakakis | if network.subnet6:
|
27 | d8989b47 | Christos Stavrakakis | orm.Subnet.objects.create(network=network, |
28 | d8989b47 | Christos Stavrakakis | ipversion=6,
|
29 | d8989b47 | Christos Stavrakakis | cidr=network.subnet6, |
30 | d8989b47 | Christos Stavrakakis | gateway=network.gateway6, |
31 | d8989b47 | Christos Stavrakakis | dhcp=network.dhcp, |
32 | d8989b47 | Christos Stavrakakis | deleted=network.deleted) |
33 | d8989b47 | Christos Stavrakakis | |
34 | d8989b47 | Christos Stavrakakis | def backwards(self, orm): |
35 | d8989b47 | Christos Stavrakakis | warning_msg_printed = False
|
36 | d8989b47 | Christos Stavrakakis | for subnet in orm.Subnet.objects.filter(ipversion=4): |
37 | d8989b47 | Christos Stavrakakis | network = subnet.network |
38 | d8989b47 | Christos Stavrakakis | network.dhcp = subnet.dhcp |
39 | d8989b47 | Christos Stavrakakis | network.subnet = subnet.cidr |
40 | d8989b47 | Christos Stavrakakis | network.gateway = subnet.gateway |
41 | d8989b47 | Christos Stavrakakis | # Create an empty pool
|
42 | d8989b47 | Christos Stavrakakis | network.pool = orm.IPPoolTable.objects.create(available_map="",
|
43 | d8989b47 | Christos Stavrakakis | reserved_map="",
|
44 | d8989b47 | Christos Stavrakakis | size=0)
|
45 | d8989b47 | Christos Stavrakakis | network.save() |
46 | d8989b47 | Christos Stavrakakis | try:
|
47 | d8989b47 | Christos Stavrakakis | ip_pool = network.get_pool() |
48 | d8989b47 | Christos Stavrakakis | for nic in network.nics.filter(ipv4__isnull=False): |
49 | d8989b47 | Christos Stavrakakis | ip_pool.reserve(nic.ipv4) |
50 | d8989b47 | Christos Stavrakakis | ip_pool.save() |
51 | d8989b47 | Christos Stavrakakis | except:
|
52 | d8989b47 | Christos Stavrakakis | if not warning_msg_printed: |
53 | d8989b47 | Christos Stavrakakis | msg = ("WARNING: Cannot perform backwards migration for IP pools!"
|
54 | d8989b47 | Christos Stavrakakis | " IP pools for all networks are not consistent."
|
55 | d8989b47 | Christos Stavrakakis | " Make sure to run 'snf-manage reconcile-pools'.")
|
56 | d8989b47 | Christos Stavrakakis | print msg
|
57 | d8989b47 | Christos Stavrakakis | warning_msg_printed = True
|
58 | d8989b47 | Christos Stavrakakis | |
59 | d8989b47 | Christos Stavrakakis | subnet.ip_pools.all().delete() |
60 | d8989b47 | Christos Stavrakakis | |
61 | d8989b47 | Christos Stavrakakis | for subnet in orm.Subnet.objects.filter(ipversion=6): |
62 | d8989b47 | Christos Stavrakakis | network = subnet.network |
63 | d8989b47 | Christos Stavrakakis | network.dhcp = subnet.dhcp |
64 | d8989b47 | Christos Stavrakakis | network.subnet6 = subnet.cidr |
65 | d8989b47 | Christos Stavrakakis | network.gateway6 = subnet.gateway |
66 | d8989b47 | Christos Stavrakakis | network.save() |
67 | d8989b47 | Christos Stavrakakis | |
68 | d8989b47 | Christos Stavrakakis | models = { |
69 | d8989b47 | Christos Stavrakakis | 'db.backend': {
|
70 | d8989b47 | Christos Stavrakakis | 'Meta': {'ordering': "['clustername']", 'object_name': 'Backend'}, |
71 | d8989b47 | Christos Stavrakakis | 'clustername': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}), |
72 | d8989b47 | Christos Stavrakakis | 'ctotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
73 | d8989b47 | Christos Stavrakakis | 'dfree': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
74 | d8989b47 | Christos Stavrakakis | 'disk_templates': ('synnefo.db.fields.SeparatedValuesField', [], {'null': 'True'}), |
75 | d8989b47 | Christos Stavrakakis | 'drained': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
76 | d8989b47 | Christos Stavrakakis | 'dtotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
77 | d8989b47 | Christos Stavrakakis | 'hash': ('django.db.models.fields.CharField', [], {'max_length': '40'}), |
78 | d8989b47 | Christos Stavrakakis | 'hypervisor': ('django.db.models.fields.CharField', [], {'default': "'kvm'", 'max_length': '32'}), |
79 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
80 | d8989b47 | Christos Stavrakakis | 'index': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'unique': 'True'}), |
81 | d8989b47 | Christos Stavrakakis | 'mfree': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
82 | d8989b47 | Christos Stavrakakis | 'mtotal': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
83 | d8989b47 | Christos Stavrakakis | 'offline': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
84 | d8989b47 | Christos Stavrakakis | 'password_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}), |
85 | d8989b47 | Christos Stavrakakis | 'pinst_cnt': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), |
86 | d8989b47 | Christos Stavrakakis | 'port': ('django.db.models.fields.PositiveIntegerField', [], {'default': '5080'}), |
87 | d8989b47 | Christos Stavrakakis | 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
88 | d8989b47 | Christos Stavrakakis | 'username': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}) |
89 | d8989b47 | Christos Stavrakakis | }, |
90 | d8989b47 | Christos Stavrakakis | 'db.backendnetwork': {
|
91 | d8989b47 | Christos Stavrakakis | 'Meta': {'unique_together': "(('network', 'backend'),)", 'object_name': 'BackendNetwork'}, |
92 | d8989b47 | Christos Stavrakakis | 'backend': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'networks'", 'on_delete': 'models.PROTECT', 'to': "orm['db.Backend']"}), |
93 | d8989b47 | Christos Stavrakakis | 'backendjobid': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
94 | d8989b47 | Christos Stavrakakis | 'backendjobstatus': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}), |
95 | d8989b47 | Christos Stavrakakis | 'backendlogmsg': ('django.db.models.fields.TextField', [], {'null': 'True'}), |
96 | d8989b47 | Christos Stavrakakis | 'backendopcode': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}), |
97 | d8989b47 | Christos Stavrakakis | 'backendtime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1, 1, 1, 0, 0)'}), |
98 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
99 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
100 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
101 | d8989b47 | Christos Stavrakakis | 'mac_prefix': ('django.db.models.fields.CharField', [], {'max_length': '32'}), |
102 | d8989b47 | Christos Stavrakakis | 'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'backend_networks'", 'to': "orm['db.Network']"}), |
103 | d8989b47 | Christos Stavrakakis | 'operstate': ('django.db.models.fields.CharField', [], {'default': "'PENDING'", 'max_length': '30'}), |
104 | d8989b47 | Christos Stavrakakis | 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) |
105 | d8989b47 | Christos Stavrakakis | }, |
106 | d8989b47 | Christos Stavrakakis | 'db.bridgepooltable': {
|
107 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'BridgePoolTable'}, |
108 | d8989b47 | Christos Stavrakakis | 'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
109 | d8989b47 | Christos Stavrakakis | 'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
110 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
111 | d8989b47 | Christos Stavrakakis | 'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), |
112 | d8989b47 | Christos Stavrakakis | 'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
113 | d8989b47 | Christos Stavrakakis | 'size': ('django.db.models.fields.IntegerField', [], {}) |
114 | d8989b47 | Christos Stavrakakis | }, |
115 | d8989b47 | Christos Stavrakakis | 'db.flavor': {
|
116 | d8989b47 | Christos Stavrakakis | 'Meta': {'unique_together': "(('cpu', 'ram', 'disk', 'disk_template'),)", 'object_name': 'Flavor'}, |
117 | d8989b47 | Christos Stavrakakis | 'cpu': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
118 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
119 | d8989b47 | Christos Stavrakakis | 'disk': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
120 | d8989b47 | Christos Stavrakakis | 'disk_template': ('django.db.models.fields.CharField', [], {'max_length': '32'}), |
121 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
122 | d8989b47 | Christos Stavrakakis | 'ram': ('django.db.models.fields.IntegerField', [], {'default': '0'}) |
123 | d8989b47 | Christos Stavrakakis | }, |
124 | d8989b47 | Christos Stavrakakis | 'db.floatingip': {
|
125 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'FloatingIP'}, |
126 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
127 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
128 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
129 | d8989b47 | Christos Stavrakakis | 'ipv4': ('django.db.models.fields.IPAddressField', [], {'unique': 'True', 'max_length': '15', 'db_index': 'True'}), |
130 | d8989b47 | Christos Stavrakakis | 'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'floating_ips'", 'null': 'True', 'to': "orm['db.VirtualMachine']"}), |
131 | d8989b47 | Christos Stavrakakis | 'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'floating_ips'", 'to': "orm['db.Network']"}), |
132 | d8989b47 | Christos Stavrakakis | 'serial': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'floating_ips'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['db.QuotaHolderSerial']"}), |
133 | d8989b47 | Christos Stavrakakis | 'userid': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}) |
134 | d8989b47 | Christos Stavrakakis | }, |
135 | d8989b47 | Christos Stavrakakis | 'db.ippooltable': {
|
136 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'IPPoolTable'}, |
137 | d8989b47 | Christos Stavrakakis | 'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
138 | d8989b47 | Christos Stavrakakis | 'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
139 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
140 | d8989b47 | Christos Stavrakakis | 'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), |
141 | d8989b47 | Christos Stavrakakis | 'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
142 | d8989b47 | Christos Stavrakakis | 'size': ('django.db.models.fields.IntegerField', [], {}), |
143 | d8989b47 | Christos Stavrakakis | 'subnet': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ip_pools'", 'null': 'True', 'to': "orm['db.Subnet']"}) |
144 | d8989b47 | Christos Stavrakakis | }, |
145 | d8989b47 | Christos Stavrakakis | 'db.macprefixpooltable': {
|
146 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'MacPrefixPoolTable'}, |
147 | d8989b47 | Christos Stavrakakis | 'available_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
148 | d8989b47 | Christos Stavrakakis | 'base': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
149 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
150 | d8989b47 | Christos Stavrakakis | 'offset': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), |
151 | d8989b47 | Christos Stavrakakis | 'reserved_map': ('django.db.models.fields.TextField', [], {'default': "''"}), |
152 | d8989b47 | Christos Stavrakakis | 'size': ('django.db.models.fields.IntegerField', [], {}) |
153 | d8989b47 | Christos Stavrakakis | }, |
154 | d8989b47 | Christos Stavrakakis | 'db.network': {
|
155 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'Network'}, |
156 | d8989b47 | Christos Stavrakakis | 'action': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '32', 'null': 'True'}), |
157 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
158 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
159 | d8989b47 | Christos Stavrakakis | 'dhcp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
160 | d8989b47 | Christos Stavrakakis | 'drained': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
161 | d8989b47 | Christos Stavrakakis | 'flavor': ('django.db.models.fields.CharField', [], {'max_length': '32'}), |
162 | d8989b47 | Christos Stavrakakis | 'floating_ip_pool': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
163 | d8989b47 | Christos Stavrakakis | 'gateway': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
164 | d8989b47 | Christos Stavrakakis | 'gateway6': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}), |
165 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
166 | d8989b47 | Christos Stavrakakis | 'link': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
167 | d8989b47 | Christos Stavrakakis | 'mac_prefix': ('django.db.models.fields.CharField', [], {'max_length': '32'}), |
168 | d8989b47 | Christos Stavrakakis | 'machines': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['db.VirtualMachine']", 'through': "orm['db.NetworkInterface']", 'symmetrical': 'False'}), |
169 | d8989b47 | Christos Stavrakakis | 'mode': ('django.db.models.fields.CharField', [], {'max_length': '16', 'null': 'True'}), |
170 | d8989b47 | Christos Stavrakakis | 'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), |
171 | d8989b47 | Christos Stavrakakis | 'pool': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'network'", 'unique': 'True', 'null': 'True', 'to': "orm['db.IPPoolTable']"}), |
172 | d8989b47 | Christos Stavrakakis | 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
173 | d8989b47 | Christos Stavrakakis | 'serial': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'network'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['db.QuotaHolderSerial']"}), |
174 | d8989b47 | Christos Stavrakakis | 'state': ('django.db.models.fields.CharField', [], {'default': "'PENDING'", 'max_length': '32'}), |
175 | d8989b47 | Christos Stavrakakis | 'subnet': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), |
176 | d8989b47 | Christos Stavrakakis | 'subnet6': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}), |
177 | d8989b47 | Christos Stavrakakis | 'tags': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), |
178 | d8989b47 | Christos Stavrakakis | 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
179 | d8989b47 | Christos Stavrakakis | 'userid': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'db_index': 'True'}) |
180 | d8989b47 | Christos Stavrakakis | }, |
181 | d8989b47 | Christos Stavrakakis | 'db.networkinterface': {
|
182 | d8989b47 | Christos Stavrakakis | 'Meta': {'unique_together': "(('network', 'ipv4'),)", 'object_name': 'NetworkInterface'}, |
183 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
184 | d8989b47 | Christos Stavrakakis | 'dirty': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
185 | d8989b47 | Christos Stavrakakis | 'firewall_profile': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}), |
186 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
187 | d8989b47 | Christos Stavrakakis | 'index': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), |
188 | d8989b47 | Christos Stavrakakis | 'ipv4': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True'}), |
189 | d8989b47 | Christos Stavrakakis | 'ipv6': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True'}), |
190 | d8989b47 | Christos Stavrakakis | 'mac': ('django.db.models.fields.CharField', [], {'max_length': '32', 'unique': 'True', 'null': 'True'}), |
191 | d8989b47 | Christos Stavrakakis | 'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.VirtualMachine']"}), |
192 | d8989b47 | Christos Stavrakakis | 'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nics'", 'to': "orm['db.Network']"}), |
193 | d8989b47 | Christos Stavrakakis | 'state': ('django.db.models.fields.CharField', [], {'default': "'ACTIVE'", 'max_length': '32'}), |
194 | d8989b47 | Christos Stavrakakis | 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}) |
195 | d8989b47 | Christos Stavrakakis | }, |
196 | d8989b47 | Christos Stavrakakis | 'db.quotaholderserial': {
|
197 | d8989b47 | Christos Stavrakakis | 'Meta': {'ordering': "['serial']", 'object_name': 'QuotaHolderSerial'}, |
198 | d8989b47 | Christos Stavrakakis | 'accept': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
199 | d8989b47 | Christos Stavrakakis | 'pending': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'db_index': 'True'}), |
200 | d8989b47 | Christos Stavrakakis | 'resolved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
201 | d8989b47 | Christos Stavrakakis | 'serial': ('django.db.models.fields.BigIntegerField', [], {'primary_key': 'True', 'db_index': 'True'}) |
202 | d8989b47 | Christos Stavrakakis | }, |
203 | d8989b47 | Christos Stavrakakis | 'db.subnet': {
|
204 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'Subnet'}, |
205 | d8989b47 | Christos Stavrakakis | 'cidr': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}), |
206 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
207 | d8989b47 | Christos Stavrakakis | 'dhcp': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), |
208 | d8989b47 | Christos Stavrakakis | 'dns_nameservers': ('synnefo.db.fields.SeparatedValuesField', [], {'null': 'True'}), |
209 | d8989b47 | Christos Stavrakakis | 'gateway': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}), |
210 | d8989b47 | Christos Stavrakakis | 'host_routes': ('synnefo.db.fields.SeparatedValuesField', [], {'null': 'True'}), |
211 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
212 | d8989b47 | Christos Stavrakakis | 'ipversion': ('django.db.models.fields.IntegerField', [], {'default': '4'}), |
213 | d8989b47 | Christos Stavrakakis | 'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), |
214 | d8989b47 | Christos Stavrakakis | 'network': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'subnets'", 'to': "orm['db.Network']"}) |
215 | d8989b47 | Christos Stavrakakis | }, |
216 | d8989b47 | Christos Stavrakakis | 'db.virtualmachine': {
|
217 | d8989b47 | Christos Stavrakakis | 'Meta': {'object_name': 'VirtualMachine'}, |
218 | d8989b47 | Christos Stavrakakis | 'action': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '30', 'null': 'True'}), |
219 | d8989b47 | Christos Stavrakakis | 'backend': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'virtual_machines'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': "orm['db.Backend']"}), |
220 | d8989b47 | Christos Stavrakakis | 'backend_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}), |
221 | d8989b47 | Christos Stavrakakis | 'backendjobid': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), |
222 | d8989b47 | Christos Stavrakakis | 'backendjobstatus': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}), |
223 | d8989b47 | Christos Stavrakakis | 'backendlogmsg': ('django.db.models.fields.TextField', [], {'null': 'True'}), |
224 | d8989b47 | Christos Stavrakakis | 'backendopcode': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True'}), |
225 | d8989b47 | Christos Stavrakakis | 'backendtime': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1, 1, 1, 0, 0)'}), |
226 | d8989b47 | Christos Stavrakakis | 'buildpercentage': ('django.db.models.fields.IntegerField', [], {'default': '0'}), |
227 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
228 | d8989b47 | Christos Stavrakakis | 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}), |
229 | d8989b47 | Christos Stavrakakis | 'flavor': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['db.Flavor']", 'on_delete': 'models.PROTECT'}), |
230 | d8989b47 | Christos Stavrakakis | 'hostid': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
231 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
232 | d8989b47 | Christos Stavrakakis | 'imageid': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
233 | d8989b47 | Christos Stavrakakis | 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
234 | d8989b47 | Christos Stavrakakis | 'operstate': ('django.db.models.fields.CharField', [], {'default': "'BUILD'", 'max_length': '30'}), |
235 | d8989b47 | Christos Stavrakakis | 'serial': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'virtual_machine'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['db.QuotaHolderSerial']"}), |
236 | d8989b47 | Christos Stavrakakis | 'suspended': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), |
237 | d8989b47 | Christos Stavrakakis | 'task': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True'}), |
238 | d8989b47 | Christos Stavrakakis | 'task_job_id': ('django.db.models.fields.BigIntegerField', [], {'null': 'True'}), |
239 | d8989b47 | Christos Stavrakakis | 'updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), |
240 | d8989b47 | Christos Stavrakakis | 'userid': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'}) |
241 | d8989b47 | Christos Stavrakakis | }, |
242 | d8989b47 | Christos Stavrakakis | 'db.virtualmachinediagnostic': {
|
243 | d8989b47 | Christos Stavrakakis | 'Meta': {'ordering': "['-created']", 'object_name': 'VirtualMachineDiagnostic'}, |
244 | d8989b47 | Christos Stavrakakis | 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), |
245 | d8989b47 | Christos Stavrakakis | 'details': ('django.db.models.fields.TextField', [], {'null': 'True'}), |
246 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
247 | d8989b47 | Christos Stavrakakis | 'level': ('django.db.models.fields.CharField', [], {'max_length': '20'}), |
248 | d8989b47 | Christos Stavrakakis | 'machine': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'diagnostics'", 'to': "orm['db.VirtualMachine']"}), |
249 | d8989b47 | Christos Stavrakakis | 'message': ('django.db.models.fields.CharField', [], {'max_length': '255'}), |
250 | d8989b47 | Christos Stavrakakis | 'source': ('django.db.models.fields.CharField', [], {'max_length': '100'}), |
251 | d8989b47 | Christos Stavrakakis | 'source_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}) |
252 | d8989b47 | Christos Stavrakakis | }, |
253 | d8989b47 | Christos Stavrakakis | 'db.virtualmachinemetadata': {
|
254 | d8989b47 | Christos Stavrakakis | 'Meta': {'unique_together': "(('meta_key', 'vm'),)", 'object_name': 'VirtualMachineMetadata'}, |
255 | d8989b47 | Christos Stavrakakis | 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), |
256 | d8989b47 | Christos Stavrakakis | 'meta_key': ('django.db.models.fields.CharField', [], {'max_length': '50'}), |
257 | d8989b47 | Christos Stavrakakis | 'meta_value': ('django.db.models.fields.CharField', [], {'max_length': '500'}), |
258 | d8989b47 | Christos Stavrakakis | 'vm': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'metadata'", 'to': "orm['db.VirtualMachine']"}) |
259 | d8989b47 | Christos Stavrakakis | } |
260 | d8989b47 | Christos Stavrakakis | } |
261 | d8989b47 | Christos Stavrakakis | |
262 | d8989b47 | Christos Stavrakakis | complete_apps = ['db']
|
263 | d8989b47 | Christos Stavrakakis | symmetrical = True |