| #!/usr/bin/python |
| |
| # Copyright 2017-present Open Networking Foundation |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| from __future__ import unicode_literals |
| |
| import core.models.xosbase_header |
| from django.db import migrations, models |
| import django.db.models.deletion |
| import django.utils.timezone |
| |
| |
| class Migration(migrations.Migration): |
| |
| initial = True |
| |
| dependencies = [ |
| ('core', '0002_initial_data'), |
| ] |
| |
| operations = [ |
| migrations.CreateModel( |
| name='FabricIpAddress', |
| fields=[ |
| ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created', models.DateTimeField(auto_now_add=True, help_text=b'Time this model was created')), |
| ('updated', models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer')), |
| ('enacted', models.DateTimeField(blank=True, default=None, help_text=b'When synced, set to the timestamp of the data that was synced', null=True)), |
| ('policed', models.DateTimeField(blank=True, default=None, help_text=b'When policed, set to the timestamp of the data that was policed', null=True)), |
| ('backend_register', models.CharField(blank=True, default=b'{}', max_length=1024, null=True)), |
| ('backend_need_delete', models.BooleanField(default=False)), |
| ('backend_need_reap', models.BooleanField(default=False)), |
| ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=1024, null=True)), |
| ('backend_code', models.IntegerField(default=0)), |
| ('deleted', models.BooleanField(default=False)), |
| ('write_protect', models.BooleanField(default=False)), |
| ('lazy_blocked', models.BooleanField(default=False)), |
| ('no_sync', models.BooleanField(default=False)), |
| ('no_policy', models.BooleanField(default=False)), |
| ('policy_status', models.CharField(blank=True, default=b'Policy in process', max_length=1024, null=True)), |
| ('policy_code', models.IntegerField(blank=True, default=0, null=True)), |
| ('leaf_model_name', models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024)), |
| ('backend_need_delete_policy', models.BooleanField(default=False, help_text=b'True if delete model_policy must be run before object can be reaped')), |
| ('xos_managed', models.BooleanField(default=True, help_text=b'True if xos is responsible for creating/deleting this object')), |
| ('backend_handle', models.CharField(blank=True, help_text=b'Handle used by the backend to track this object', max_length=1024, null=True)), |
| ('changed_by_step', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a sync step', null=True)), |
| ('changed_by_policy', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a model policy', null=True)), |
| ('ip', models.CharField(help_text=b'The unique IP address (either IPv4 or IPv6 / netmask)', max_length=52)), |
| ('description', models.CharField(blank=True, help_text=b'A short description of the IP address', max_length=254, null=True)), |
| ], |
| options={ |
| 'verbose_name': 'IP address', |
| }, |
| bases=(models.Model, core.models.xosbase_header.PlModelMixIn), |
| ), |
| migrations.CreateModel( |
| name='FabricService', |
| fields=[ |
| ('service_decl_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='core.Service_decl')), |
| ('autoconfig', models.BooleanField(default=True, help_text=b'Automatically apply addresses from AddressManager service to Fabric')), |
| ], |
| options={ |
| 'verbose_name': 'Fabric Service', |
| }, |
| bases=('core.service',), |
| ), |
| migrations.CreateModel( |
| name='NodeToSwitchPort', |
| fields=[ |
| ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created', models.DateTimeField(auto_now_add=True, help_text=b'Time this model was created')), |
| ('updated', models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer')), |
| ('enacted', models.DateTimeField(blank=True, default=None, help_text=b'When synced, set to the timestamp of the data that was synced', null=True)), |
| ('policed', models.DateTimeField(blank=True, default=None, help_text=b'When policed, set to the timestamp of the data that was policed', null=True)), |
| ('backend_register', models.CharField(blank=True, default=b'{}', max_length=1024, null=True)), |
| ('backend_need_delete', models.BooleanField(default=False)), |
| ('backend_need_reap', models.BooleanField(default=False)), |
| ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=1024, null=True)), |
| ('backend_code', models.IntegerField(default=0)), |
| ('deleted', models.BooleanField(default=False)), |
| ('write_protect', models.BooleanField(default=False)), |
| ('lazy_blocked', models.BooleanField(default=False)), |
| ('no_sync', models.BooleanField(default=False)), |
| ('no_policy', models.BooleanField(default=False)), |
| ('policy_status', models.CharField(blank=True, default=b'Policy in process', max_length=1024, null=True)), |
| ('policy_code', models.IntegerField(blank=True, default=0, null=True)), |
| ('leaf_model_name', models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024)), |
| ('backend_need_delete_policy', models.BooleanField(default=False, help_text=b'True if delete model_policy must be run before object can be reaped')), |
| ('xos_managed', models.BooleanField(default=True, help_text=b'True if xos is responsible for creating/deleting this object')), |
| ('backend_handle', models.CharField(blank=True, help_text=b'Handle used by the backend to track this object', max_length=1024, null=True)), |
| ('changed_by_step', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a sync step', null=True)), |
| ('changed_by_policy', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a model policy', null=True)), |
| ('node', models.ForeignKey(help_text=b'The ComputeNode this port is connected to', on_delete=django.db.models.deletion.CASCADE, related_name='node_to_switch_ports', to='core.Node')), |
| ], |
| options={ |
| 'verbose_name': 'Node to switch port', |
| }, |
| bases=(models.Model, core.models.xosbase_header.PlModelMixIn), |
| ), |
| migrations.CreateModel( |
| name='PortInterface', |
| fields=[ |
| ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created', models.DateTimeField(auto_now_add=True, help_text=b'Time this model was created')), |
| ('updated', models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer')), |
| ('enacted', models.DateTimeField(blank=True, default=None, help_text=b'When synced, set to the timestamp of the data that was synced', null=True)), |
| ('policed', models.DateTimeField(blank=True, default=None, help_text=b'When policed, set to the timestamp of the data that was policed', null=True)), |
| ('backend_register', models.CharField(blank=True, default=b'{}', max_length=1024, null=True)), |
| ('backend_need_delete', models.BooleanField(default=False)), |
| ('backend_need_reap', models.BooleanField(default=False)), |
| ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=1024, null=True)), |
| ('backend_code', models.IntegerField(default=0)), |
| ('deleted', models.BooleanField(default=False)), |
| ('write_protect', models.BooleanField(default=False)), |
| ('lazy_blocked', models.BooleanField(default=False)), |
| ('no_sync', models.BooleanField(default=False)), |
| ('no_policy', models.BooleanField(default=False)), |
| ('policy_status', models.CharField(blank=True, default=b'Policy in process', max_length=1024, null=True)), |
| ('policy_code', models.IntegerField(blank=True, default=0, null=True)), |
| ('leaf_model_name', models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024)), |
| ('backend_need_delete_policy', models.BooleanField(default=False, help_text=b'True if delete model_policy must be run before object can be reaped')), |
| ('xos_managed', models.BooleanField(default=True, help_text=b'True if xos is responsible for creating/deleting this object')), |
| ('backend_handle', models.CharField(blank=True, help_text=b'Handle used by the backend to track this object', max_length=1024, null=True)), |
| ('changed_by_step', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a sync step', null=True)), |
| ('changed_by_policy', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a model policy', null=True)), |
| ('name', models.CharField(help_text=b'The unique name of the fabric switch port', max_length=254)), |
| ('vlanUntagged', models.IntegerField(blank=True, help_text=b'The optional untagged VLAN ID for the interface', null=True)), |
| ], |
| options={ |
| 'verbose_name': 'Fabric Port Interface', |
| }, |
| bases=(models.Model, core.models.xosbase_header.PlModelMixIn), |
| ), |
| migrations.CreateModel( |
| name='Switch', |
| fields=[ |
| ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created', models.DateTimeField(auto_now_add=True, help_text=b'Time this model was created')), |
| ('updated', models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer')), |
| ('enacted', models.DateTimeField(blank=True, default=None, help_text=b'When synced, set to the timestamp of the data that was synced', null=True)), |
| ('policed', models.DateTimeField(blank=True, default=None, help_text=b'When policed, set to the timestamp of the data that was policed', null=True)), |
| ('backend_register', models.CharField(blank=True, default=b'{}', max_length=1024, null=True)), |
| ('backend_need_delete', models.BooleanField(default=False)), |
| ('backend_need_reap', models.BooleanField(default=False)), |
| ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=1024, null=True)), |
| ('backend_code', models.IntegerField(default=0)), |
| ('deleted', models.BooleanField(default=False)), |
| ('write_protect', models.BooleanField(default=False)), |
| ('lazy_blocked', models.BooleanField(default=False)), |
| ('no_sync', models.BooleanField(default=False)), |
| ('no_policy', models.BooleanField(default=False)), |
| ('policy_status', models.CharField(blank=True, default=b'Policy in process', max_length=1024, null=True)), |
| ('policy_code', models.IntegerField(blank=True, default=0, null=True)), |
| ('leaf_model_name', models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024)), |
| ('backend_need_delete_policy', models.BooleanField(default=False, help_text=b'True if delete model_policy must be run before object can be reaped')), |
| ('xos_managed', models.BooleanField(default=True, help_text=b'True if xos is responsible for creating/deleting this object')), |
| ('backend_handle', models.CharField(blank=True, help_text=b'Handle used by the backend to track this object', max_length=1024, null=True)), |
| ('changed_by_step', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a sync step', null=True)), |
| ('changed_by_policy', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a model policy', null=True)), |
| ('ofId', models.CharField(help_text=b'The unique OpenFlow ID of the fabric switch', max_length=19)), |
| ('name', models.CharField(help_text=b'The unique name of the fabric switch', max_length=254)), |
| ('driver', models.CharField(default=b'ofdpa3', help_text=b'The driver used by the SDN controller', max_length=254)), |
| ('ipv4NodeSid', models.IntegerField(help_text=b'The MPLS label used by the switch [17 - 1048576]')), |
| ('ipv4Loopback', models.CharField(help_text=b'Fabric loopback interface', max_length=17)), |
| ('routerMac', models.CharField(help_text=b'MAC address of the fabric switch used for all interfaces', max_length=17)), |
| ('isEdgeRouter', models.BooleanField(default=True, help_text=b'True if the fabric switch is a leaf, False if it is a spine')), |
| ], |
| options={ |
| 'verbose_name': 'Fabric Switch', |
| }, |
| bases=(models.Model, core.models.xosbase_header.PlModelMixIn), |
| ), |
| migrations.CreateModel( |
| name='SwitchPort', |
| fields=[ |
| ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
| ('created', models.DateTimeField(auto_now_add=True, help_text=b'Time this model was created')), |
| ('updated', models.DateTimeField(default=django.utils.timezone.now, help_text=b'Time this model was changed by a non-synchronizer')), |
| ('enacted', models.DateTimeField(blank=True, default=None, help_text=b'When synced, set to the timestamp of the data that was synced', null=True)), |
| ('policed', models.DateTimeField(blank=True, default=None, help_text=b'When policed, set to the timestamp of the data that was policed', null=True)), |
| ('backend_register', models.CharField(blank=True, default=b'{}', max_length=1024, null=True)), |
| ('backend_need_delete', models.BooleanField(default=False)), |
| ('backend_need_reap', models.BooleanField(default=False)), |
| ('backend_status', models.CharField(default=b'Provisioning in progress', max_length=1024, null=True)), |
| ('backend_code', models.IntegerField(default=0)), |
| ('deleted', models.BooleanField(default=False)), |
| ('write_protect', models.BooleanField(default=False)), |
| ('lazy_blocked', models.BooleanField(default=False)), |
| ('no_sync', models.BooleanField(default=False)), |
| ('no_policy', models.BooleanField(default=False)), |
| ('policy_status', models.CharField(blank=True, default=b'Policy in process', max_length=1024, null=True)), |
| ('policy_code', models.IntegerField(blank=True, default=0, null=True)), |
| ('leaf_model_name', models.CharField(help_text=b'The most specialized model in this chain of inheritance, often defined by a service developer', max_length=1024)), |
| ('backend_need_delete_policy', models.BooleanField(default=False, help_text=b'True if delete model_policy must be run before object can be reaped')), |
| ('xos_managed', models.BooleanField(default=True, help_text=b'True if xos is responsible for creating/deleting this object')), |
| ('backend_handle', models.CharField(blank=True, help_text=b'Handle used by the backend to track this object', max_length=1024, null=True)), |
| ('changed_by_step', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a sync step', null=True)), |
| ('changed_by_policy', models.DateTimeField(blank=True, default=None, help_text=b'Time this model was changed by a model policy', null=True)), |
| ('portId', models.IntegerField(help_text=b'The unique port OpenFlow port ID')), |
| ('host_learning', models.BooleanField(default=True, help_text=b'whether or not to enable autodiscovery')), |
| ('switch', models.ForeignKey(help_text=b'The fabric switch the port belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='ports', to='fabric.Switch')), |
| ], |
| options={ |
| 'verbose_name': 'Fabric Switch Port', |
| }, |
| bases=(models.Model, core.models.xosbase_header.PlModelMixIn), |
| ), |
| migrations.AddField( |
| model_name='portinterface', |
| name='port', |
| field=models.ForeignKey(help_text=b'The fabric switch port the interface belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='interfaces', to='fabric.SwitchPort'), |
| ), |
| migrations.AddField( |
| model_name='nodetoswitchport', |
| name='port', |
| field=models.ForeignKey(help_text=b'The fabric switch port the node is connected to', on_delete=django.db.models.deletion.CASCADE, related_name='node_to_switch_ports', to='fabric.SwitchPort'), |
| ), |
| migrations.AddField( |
| model_name='fabricipaddress', |
| name='interface', |
| field=models.ForeignKey(help_text=b'The port interface the IP address belongs to', on_delete=django.db.models.deletion.CASCADE, related_name='ips', to='fabric.PortInterface'), |
| ), |
| migrations.AlterUniqueTogether( |
| name='fabricipaddress', |
| unique_together=set([('interface', 'ip')]), |
| ), |
| ] |