def test_get_child_prefixes(self): vrfs = VRF.objects.bulk_create(( VRF(name='VRF 1'), VRF(name='VRF 2'), VRF(name='VRF 3'), )) prefixes = Prefix.objects.bulk_create(( Prefix(prefix=netaddr.IPNetwork('10.0.0.0/16'), status=PrefixStatusChoices.STATUS_CONTAINER), Prefix(prefix=netaddr.IPNetwork('10.0.0.0/24'), vrf=None), Prefix(prefix=netaddr.IPNetwork('10.0.1.0/24'), vrf=vrfs[0]), Prefix(prefix=netaddr.IPNetwork('10.0.2.0/24'), vrf=vrfs[1]), Prefix(prefix=netaddr.IPNetwork('10.0.3.0/24'), vrf=vrfs[2]), )) child_prefix_pks = {p.pk for p in prefixes[0].get_child_prefixes()} # Global container should return all children self.assertSetEqual( child_prefix_pks, {prefixes[1].pk, prefixes[2].pk, prefixes[3].pk, prefixes[4].pk}) prefixes[0].vrf = vrfs[0] prefixes[0].save() child_prefix_pks = {p.pk for p in prefixes[0].get_child_prefixes()} # VRF container is limited to its own VRF self.assertSetEqual(child_prefix_pks, {prefixes[2].pk})
def test_get_child_ips(self): vrfs = VRF.objects.bulk_create(( VRF(name='VRF 1'), VRF(name='VRF 2'), VRF(name='VRF 3'), )) parent_prefix = Prefix.objects.create( prefix=netaddr.IPNetwork('10.0.0.0/16'), status=PrefixStatusChoices.STATUS_CONTAINER) ips = IPAddress.objects.bulk_create(( IPAddress(address=netaddr.IPNetwork('10.0.0.1/24'), vrf=None), IPAddress(address=netaddr.IPNetwork('10.0.1.1/24'), vrf=vrfs[0]), IPAddress(address=netaddr.IPNetwork('10.0.2.1/24'), vrf=vrfs[1]), IPAddress(address=netaddr.IPNetwork('10.0.3.1/24'), vrf=vrfs[2]), )) child_ip_pks = {p.pk for p in parent_prefix.get_child_ips()} # Global container should return all children self.assertSetEqual(child_ip_pks, {ips[0].pk, ips[1].pk, ips[2].pk, ips[3].pk}) parent_prefix.vrf = vrfs[0] parent_prefix.save() child_ip_pks = {p.pk for p in parent_prefix.get_child_ips()} # VRF container is limited to its own VRF self.assertSetEqual(child_ip_pks, {ips[1].pk})
def setUpTestData(cls): VRF.objects.bulk_create([ VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), VRF(name='VRF 3', rd='65000:3'), ]) cls.form_data = { 'name': 'VRF X', 'rd': '65000:999', 'tenant': None, 'enforce_unique': True, 'description': 'A new VRF', 'tags': 'Alpha,Bravo,Charlie', } cls.csv_data = ( "name", "VRF 4", "VRF 5", "VRF 6", ) cls.bulk_edit_data = { 'tenant': None, 'enforce_unique': False, 'description': 'New description', }
def setUpTestData(cls): vrfs = ( VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), VRF(name='VRF 3'), # No RD ) VRF.objects.bulk_create(vrfs)
def setUp(self): user = create_test_user(permissions=['ipam.view_vrf']) self.client = Client() self.client.force_login(user) VRF.objects.bulk_create([ VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), VRF(name='VRF 3', rd='65000:3'), ])
def setUpTestData(cls): vrfs = ( VRF(name='VRF 1', rd='65000:100'), VRF(name='VRF 2', rd='65000:200'), VRF(name='VRF 3', rd='65000:300'), ) VRF.objects.bulk_create(vrfs) site = Site.objects.create(name='Site 1', slug='site-1') manufacturer = Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1') device_type = DeviceType.objects.create(manufacturer=manufacturer, model='Device Type 1') device_role = DeviceRole.objects.create(name='Device Role 1', slug='device-role-1') devices = ( Device(device_type=device_type, name='Device 1', site=site, device_role=device_role), Device(device_type=device_type, name='Device 2', site=site, device_role=device_role), Device(device_type=device_type, name='Device 3', site=site, device_role=device_role), ) Device.objects.bulk_create(devices) clustertype = ClusterType.objects.create(name='Cluster Type 1', slug='cluster-type-1') cluster = Cluster.objects.create(type=clustertype, name='Cluster 1') virtual_machines = ( VirtualMachine(name='Virtual Machine 1', cluster=cluster), VirtualMachine(name='Virtual Machine 2', cluster=cluster), VirtualMachine(name='Virtual Machine 3', cluster=cluster), ) VirtualMachine.objects.bulk_create(virtual_machines) interfaces = ( Interface(device=devices[0], name='Interface 1'), Interface(device=devices[1], name='Interface 2'), Interface(device=devices[2], name='Interface 3'), Interface(virtual_machine=virtual_machines[0], name='Interface 1'), Interface(virtual_machine=virtual_machines[1], name='Interface 2'), Interface(virtual_machine=virtual_machines[2], name='Interface 3'), ) Interface.objects.bulk_create(interfaces) ipaddresses = ( IPAddress(family=4, address='10.0.0.1/24', vrf=None, interface=None, status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-a'), IPAddress(family=4, address='10.0.0.2/24', vrf=vrfs[0], interface=interfaces[0], status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-b'), IPAddress(family=4, address='10.0.0.3/24', vrf=vrfs[1], interface=interfaces[1], status=IPAddressStatusChoices.STATUS_RESERVED, role=IPAddressRoleChoices.ROLE_VIP, dns_name='ipaddress-c'), IPAddress(family=4, address='10.0.0.4/24', vrf=vrfs[2], interface=interfaces[2], status=IPAddressStatusChoices.STATUS_DEPRECATED, role=IPAddressRoleChoices.ROLE_SECONDARY, dns_name='ipaddress-d'), IPAddress(family=4, address='10.0.0.1/25', vrf=None, interface=None, status=IPAddressStatusChoices.STATUS_ACTIVE), IPAddress(family=6, address='2001:db8::1/64', vrf=None, interface=None, status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-a'), IPAddress(family=6, address='2001:db8::2/64', vrf=vrfs[0], interface=interfaces[3], status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-b'), IPAddress(family=6, address='2001:db8::3/64', vrf=vrfs[1], interface=interfaces[4], status=IPAddressStatusChoices.STATUS_RESERVED, role=IPAddressRoleChoices.ROLE_VIP, dns_name='ipaddress-c'), IPAddress(family=6, address='2001:db8::4/64', vrf=vrfs[2], interface=interfaces[5], status=IPAddressStatusChoices.STATUS_DEPRECATED, role=IPAddressRoleChoices.ROLE_SECONDARY, dns_name='ipaddress-d'), IPAddress(family=6, address='2001:db8::1/65', vrf=None, interface=None, status=IPAddressStatusChoices.STATUS_ACTIVE), ) IPAddress.objects.bulk_create(ipaddresses)
def setUpTestData(cls): sites = ( Site(name='Site 1', slug='site-1'), Site(name='Site 2', slug='site-2'), ) Site.objects.bulk_create(sites) vrfs = ( VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), ) VRF.objects.bulk_create(vrfs) roles = ( Role(name='Role 1', slug='role-1'), Role(name='Role 2', slug='role-2'), ) Prefix.objects.bulk_create([ Prefix(prefix=IPNetwork('10.1.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), Prefix(prefix=IPNetwork('10.2.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), Prefix(prefix=IPNetwork('10.3.0.0/16'), vrf=vrfs[0], site=sites[0], role=roles[0]), ]) cls.form_data = { 'prefix': IPNetwork('192.0.2.0/24'), 'site': sites[1].pk, 'vrf': vrfs[1].pk, 'tenant': None, 'vlan': None, 'status': PrefixStatusChoices.STATUS_RESERVED, 'role': roles[1].pk, 'is_pool': True, 'description': 'A new prefix', 'tags': 'Alpha,Bravo,Charlie', } cls.csv_data = ( "vrf,prefix,status", "VRF 1,10.4.0.0/16,Active", "VRF 1,10.5.0.0/16,Active", "VRF 1,10.6.0.0/16,Active", ) cls.bulk_edit_data = { 'site': sites[1].pk, 'vrf': vrfs[1].pk, 'tenant': None, 'status': PrefixStatusChoices.STATUS_RESERVED, 'role': roles[1].pk, 'is_pool': False, 'description': 'New description', }
def setUpTestData(cls): regions = ( Region(name='Test Region 1', slug='test-region-1'), Region(name='Test Region 2', slug='test-region-2'), Region(name='Test Region 3', slug='test-region-3'), ) # Can't use bulk_create for models with MPTT fields for r in regions: r.save() sites = ( Site(name='Test Site 1', slug='test-site-1', region=regions[0]), Site(name='Test Site 2', slug='test-site-2', region=regions[1]), Site(name='Test Site 3', slug='test-site-3', region=regions[2]), ) Site.objects.bulk_create(sites) vrfs = ( VRF(name='VRF 1', rd='65000:100'), VRF(name='VRF 2', rd='65000:200'), VRF(name='VRF 3', rd='65000:300'), ) VRF.objects.bulk_create(vrfs) vlans = ( VLAN(vid=1, name='VLAN 1'), VLAN(vid=2, name='VLAN 2'), VLAN(vid=3, name='VLAN 3'), ) VLAN.objects.bulk_create(vlans) roles = ( Role(name='Role 1', slug='role-1'), Role(name='Role 2', slug='role-2'), Role(name='Role 3', slug='role-3'), ) Role.objects.bulk_create(roles) prefixes = ( Prefix(family=4, prefix='10.0.0.0/24', site=None, vrf=None, vlan=None, role=None, is_pool=True), Prefix(family=4, prefix='10.0.1.0/24', site=sites[0], vrf=vrfs[0], vlan=vlans[0], role=roles[0]), Prefix(family=4, prefix='10.0.2.0/24', site=sites[1], vrf=vrfs[1], vlan=vlans[1], role=roles[1], status=PrefixStatusChoices.STATUS_DEPRECATED), Prefix(family=4, prefix='10.0.3.0/24', site=sites[2], vrf=vrfs[2], vlan=vlans[2], role=roles[2], status=PrefixStatusChoices.STATUS_RESERVED), Prefix(family=6, prefix='2001:db8::/64', site=None, vrf=None, vlan=None, role=None, is_pool=True), Prefix(family=6, prefix='2001:db8:0:1::/64', site=sites[0], vrf=vrfs[0], vlan=vlans[0], role=roles[0]), Prefix(family=6, prefix='2001:db8:0:2::/64', site=sites[1], vrf=vrfs[1], vlan=vlans[1], role=roles[1], status=PrefixStatusChoices.STATUS_DEPRECATED), Prefix(family=6, prefix='2001:db8:0:3::/64', site=sites[2], vrf=vrfs[2], vlan=vlans[2], role=roles[2], status=PrefixStatusChoices.STATUS_RESERVED), Prefix(family=4, prefix='10.0.0.0/16'), Prefix(family=6, prefix='2001:db8::/32'), ) Prefix.objects.bulk_create(prefixes)
def setUpTestData(cls): vrfs = ( VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), ) IPAddress.objects.bulk_create([ IPAddress(family=4, address=IPNetwork('192.0.2.1/24'), vrf=vrfs[0]), IPAddress(family=4, address=IPNetwork('192.0.2.2/24'), vrf=vrfs[0]), IPAddress(family=4, address=IPNetwork('192.0.2.3/24'), vrf=vrfs[0]), ]) cls.form_data = { 'vrf': vrfs[1].pk, 'address': IPNetwork('192.0.2.99/24'), 'tenant': None, 'status': IPAddressStatusChoices.STATUS_RESERVED, 'role': IPAddressRoleChoices.ROLE_ANYCAST, 'interface': None, 'nat_inside': None, 'dns_name': 'example', 'description': 'A new IP address', 'tags': 'Alpha,Bravo,Charlie', } cls.csv_data = ( "address,status", "192.0.2.4/24,Active", "192.0.2.5/24,Active", "192.0.2.6/24,Active", ) cls.bulk_edit_data = { 'vrf': vrfs[1].pk, 'tenant': None, 'status': IPAddressStatusChoices.STATUS_RESERVED, 'role': IPAddressRoleChoices.ROLE_ANYCAST, 'dns_name': 'example', 'description': 'New description', }
def setUpTestData(cls): tenant_groups = ( TenantGroup(name='Tenant group 1', slug='tenant-group-1'), TenantGroup(name='Tenant group 2', slug='tenant-group-2'), TenantGroup(name='Tenant group 3', slug='tenant-group-3'), ) for tenantgroup in tenant_groups: tenantgroup.save() tenants = ( Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]), Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1]), Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]), ) Tenant.objects.bulk_create(tenants) route_targets = ( RouteTarget(name='65000:1001', tenant=tenants[0]), RouteTarget(name='65000:1002', tenant=tenants[0]), RouteTarget(name='65000:1003', tenant=tenants[0]), RouteTarget(name='65000:1004', tenant=tenants[0]), RouteTarget(name='65000:2001', tenant=tenants[1]), RouteTarget(name='65000:2002', tenant=tenants[1]), RouteTarget(name='65000:2003', tenant=tenants[1]), RouteTarget(name='65000:2004', tenant=tenants[1]), RouteTarget(name='65000:3001', tenant=tenants[2]), RouteTarget(name='65000:3002', tenant=tenants[2]), RouteTarget(name='65000:3003', tenant=tenants[2]), RouteTarget(name='65000:3004', tenant=tenants[2]), ) RouteTarget.objects.bulk_create(route_targets) vrfs = ( VRF(name='VRF 1', rd='65000:100'), VRF(name='VRF 2', rd='65000:200'), VRF(name='VRF 3', rd='65000:300'), ) VRF.objects.bulk_create(vrfs) vrfs[0].import_targets.add(route_targets[0], route_targets[1]) vrfs[0].export_targets.add(route_targets[2], route_targets[3]) vrfs[1].import_targets.add(route_targets[4], route_targets[5]) vrfs[1].export_targets.add(route_targets[6], route_targets[7])
def mutate_and_get_payload(cls, input, context, info): tenant = input.get('tenant') temp = VRF() if not_none(tenant): temp.tenant = Tenant.objects.get(pk=from_global_id(tenant)[1]) fields = ['name', 'rd', 'enforce_unique', 'description'] return NewVRF(vrf=set_and_save(fields, input, temp))
def setUpTestData(cls): tenant_groups = ( TenantGroup(name='Tenant group 1', slug='tenant-group-1'), TenantGroup(name='Tenant group 2', slug='tenant-group-2'), TenantGroup(name='Tenant group 3', slug='tenant-group-3'), ) for tenantgroup in tenant_groups: tenantgroup.save() tenants = ( Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]), Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1]), Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]), ) Tenant.objects.bulk_create(tenants) vrfs = ( VRF(name='VRF 1', rd='65000:100', tenant=tenants[0], enforce_unique=False), VRF(name='VRF 2', rd='65000:200', tenant=tenants[0], enforce_unique=False), VRF(name='VRF 3', rd='65000:300', tenant=tenants[1], enforce_unique=False), VRF(name='VRF 4', rd='65000:400', tenant=tenants[1], enforce_unique=True), VRF(name='VRF 5', rd='65000:500', tenant=tenants[2], enforce_unique=True), VRF(name='VRF 6', rd='65000:600', tenant=tenants[2], enforce_unique=True), ) VRF.objects.bulk_create(vrfs)
def setUp(self): user = create_test_user(permissions=['ipam.view_ipaddress']) self.client = Client() self.client.force_login(user) vrf = VRF(name='VRF 1', rd='65000:1') vrf.save() IPAddress.objects.bulk_create([ IPAddress(family=4, address=IPNetwork('10.1.0.0/16'), vrf=vrf), IPAddress(family=4, address=IPNetwork('10.2.0.0/16'), vrf=vrf), IPAddress(family=4, address=IPNetwork('10.3.0.0/16'), vrf=vrf), ])
def setUpTestData(cls): tenants = ( Tenant(name='Tenant A', slug='tenant-a'), Tenant(name='Tenant B', slug='tenant-b'), ) Tenant.objects.bulk_create(tenants) VRF.objects.bulk_create([ VRF(name='VRF 1', rd='65000:1'), VRF(name='VRF 2', rd='65000:2'), VRF(name='VRF 3', rd='65000:3'), ]) tags = cls.create_tags('Alpha', 'Bravo', 'Charlie') cls.form_data = { 'name': 'VRF X', 'rd': '65000:999', 'tenant': tenants[0].pk, 'enforce_unique': True, 'description': 'A new VRF', 'tags': [t.pk for t in tags], } cls.csv_data = ( "name", "VRF 4", "VRF 5", "VRF 6", ) cls.bulk_edit_data = { 'tenant': tenants[1].pk, 'enforce_unique': False, 'description': 'New description', }
def setUpTestData(cls): vrfs = ( VRF(name='VRF 1', rd='65000:100', enforce_unique=False), VRF(name='VRF 2', rd='65000:200', enforce_unique=False), VRF(name='VRF 3', rd='65000:300', enforce_unique=False), VRF(name='VRF 4', rd='65000:400', enforce_unique=True), VRF(name='VRF 5', rd='65000:500', enforce_unique=True), VRF(name='VRF 6', rd='65000:600', enforce_unique=True), ) VRF.objects.bulk_create(vrfs)
def test_update_prefix_vrf4(self): vrf = VRF(name='VRF A') vrf.save() # Move 10.0.0.0/16 to a VRF p = Prefix.objects.get(prefix='10.0.0.0/16') p.vrf = vrf p.save() prefixes = Prefix.objects.filter(vrf__isnull=True, prefix__family=4) self.assertEqual(prefixes[0].prefix, IPNetwork('10.0.0.0/8')) self.assertEqual(prefixes[0]._depth, 0) self.assertEqual(prefixes[0]._children, 1) self.assertEqual(prefixes[1].prefix, IPNetwork('10.0.0.0/24')) self.assertEqual(prefixes[1]._depth, 1) self.assertEqual(prefixes[1]._children, 0) prefixes = Prefix.objects.filter(vrf=vrf) self.assertEqual(prefixes[0].prefix, IPNetwork('10.0.0.0/16')) self.assertEqual(prefixes[0]._depth, 0) self.assertEqual(prefixes[0]._children, 0)
def test_update_prefix_vrf6(self): vrf = VRF(name='VRF A') vrf.save() # Move 2001:db8::/40 to a VRF p = Prefix.objects.get(prefix='2001:db8::/40') p.vrf = vrf p.save() prefixes = Prefix.objects.filter(vrf__isnull=True, prefix__family=6) self.assertEqual(prefixes[0].prefix, IPNetwork('2001:db8::/32')) self.assertEqual(prefixes[0]._depth, 0) self.assertEqual(prefixes[0]._children, 1) self.assertEqual(prefixes[1].prefix, IPNetwork('2001:db8::/48')) self.assertEqual(prefixes[1]._depth, 1) self.assertEqual(prefixes[1]._children, 0) prefixes = Prefix.objects.filter(vrf=vrf) self.assertEqual(prefixes[0].prefix, IPNetwork('2001:db8::/40')) self.assertEqual(prefixes[0]._depth, 0) self.assertEqual(prefixes[0]._children, 0)
def setUp(self): """ Setup the VRFs for the class as a whole """ self.vrfs = (VRF(name="VRF A"), VRF(name="VRF B"), VRF(name="VRF C")) VRF.objects.bulk_create(self.vrfs)
def setUpTestData(cls): regions = ( Region(name='Test Region 1', slug='test-region-1'), Region(name='Test Region 2', slug='test-region-2'), Region(name='Test Region 3', slug='test-region-3'), ) # Can't use bulk_create for models with MPTT fields for r in regions: r.save() sites = ( Site(name='Test Site 1', slug='test-site-1', region=regions[0]), Site(name='Test Site 2', slug='test-site-2', region=regions[1]), Site(name='Test Site 3', slug='test-site-3', region=regions[2]), ) Site.objects.bulk_create(sites) route_targets = ( RouteTarget(name='65000:100'), RouteTarget(name='65000:200'), RouteTarget(name='65000:300'), ) RouteTarget.objects.bulk_create(route_targets) vrfs = ( VRF(name='VRF 1', rd='65000:100'), VRF(name='VRF 2', rd='65000:200'), VRF(name='VRF 3', rd='65000:300'), ) VRF.objects.bulk_create(vrfs) vrfs[0].import_targets.add(route_targets[0], route_targets[1], route_targets[2]) vrfs[1].export_targets.add(route_targets[1]) vrfs[2].export_targets.add(route_targets[2]) vlans = ( VLAN(vid=1, name='VLAN 1'), VLAN(vid=2, name='VLAN 2'), VLAN(vid=3, name='VLAN 3'), ) VLAN.objects.bulk_create(vlans) roles = ( Role(name='Role 1', slug='role-1'), Role(name='Role 2', slug='role-2'), Role(name='Role 3', slug='role-3'), ) Role.objects.bulk_create(roles) tenant_groups = ( TenantGroup(name='Tenant group 1', slug='tenant-group-1'), TenantGroup(name='Tenant group 2', slug='tenant-group-2'), TenantGroup(name='Tenant group 3', slug='tenant-group-3'), ) for tenantgroup in tenant_groups: tenantgroup.save() tenants = ( Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]), Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1]), Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]), ) Tenant.objects.bulk_create(tenants) prefixes = ( Prefix(prefix='10.0.0.0/24', tenant=None, site=None, vrf=None, vlan=None, role=None, is_pool=True), Prefix(prefix='10.0.1.0/24', tenant=tenants[0], site=sites[0], vrf=vrfs[0], vlan=vlans[0], role=roles[0]), Prefix(prefix='10.0.2.0/24', tenant=tenants[1], site=sites[1], vrf=vrfs[1], vlan=vlans[1], role=roles[1], status=PrefixStatusChoices.STATUS_DEPRECATED), Prefix(prefix='10.0.3.0/24', tenant=tenants[2], site=sites[2], vrf=vrfs[2], vlan=vlans[2], role=roles[2], status=PrefixStatusChoices.STATUS_RESERVED), Prefix(prefix='2001:db8::/64', tenant=None, site=None, vrf=None, vlan=None, role=None, is_pool=True), Prefix(prefix='2001:db8:0:1::/64', tenant=tenants[0], site=sites[0], vrf=vrfs[0], vlan=vlans[0], role=roles[0]), Prefix(prefix='2001:db8:0:2::/64', tenant=tenants[1], site=sites[1], vrf=vrfs[1], vlan=vlans[1], role=roles[1], status=PrefixStatusChoices.STATUS_DEPRECATED), Prefix(prefix='2001:db8:0:3::/64', tenant=tenants[2], site=sites[2], vrf=vrfs[2], vlan=vlans[2], role=roles[2], status=PrefixStatusChoices.STATUS_RESERVED), Prefix(prefix='10.0.0.0/16'), Prefix(prefix='2001:db8::/32'), ) Prefix.objects.bulk_create(prefixes)
def setUpTestData(cls): vrfs = ( VRF(name='VRF 1', rd='65000:100'), VRF(name='VRF 2', rd='65000:200'), VRF(name='VRF 3', rd='65000:300'), ) VRF.objects.bulk_create(vrfs) site = Site.objects.create(name='Site 1', slug='site-1') manufacturer = Manufacturer.objects.create(name='Manufacturer 1', slug='manufacturer-1') device_type = DeviceType.objects.create(manufacturer=manufacturer, model='Device Type 1') device_role = DeviceRole.objects.create(name='Device Role 1', slug='device-role-1') devices = ( Device(device_type=device_type, name='Device 1', site=site, device_role=device_role), Device(device_type=device_type, name='Device 2', site=site, device_role=device_role), Device(device_type=device_type, name='Device 3', site=site, device_role=device_role), ) Device.objects.bulk_create(devices) interfaces = ( Interface(device=devices[0], name='Interface 1'), Interface(device=devices[1], name='Interface 2'), Interface(device=devices[2], name='Interface 3'), ) Interface.objects.bulk_create(interfaces) clustertype = ClusterType.objects.create(name='Cluster Type 1', slug='cluster-type-1') cluster = Cluster.objects.create(type=clustertype, name='Cluster 1') virtual_machines = ( VirtualMachine(name='Virtual Machine 1', cluster=cluster), VirtualMachine(name='Virtual Machine 2', cluster=cluster), VirtualMachine(name='Virtual Machine 3', cluster=cluster), ) VirtualMachine.objects.bulk_create(virtual_machines) vminterfaces = ( VMInterface(virtual_machine=virtual_machines[0], name='Interface 1'), VMInterface(virtual_machine=virtual_machines[1], name='Interface 2'), VMInterface(virtual_machine=virtual_machines[2], name='Interface 3'), ) VMInterface.objects.bulk_create(vminterfaces) tenant_groups = ( TenantGroup(name='Tenant group 1', slug='tenant-group-1'), TenantGroup(name='Tenant group 2', slug='tenant-group-2'), TenantGroup(name='Tenant group 3', slug='tenant-group-3'), ) for tenantgroup in tenant_groups: tenantgroup.save() tenants = ( Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]), Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1]), Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]), ) Tenant.objects.bulk_create(tenants) ipaddresses = ( IPAddress(address='10.0.0.1/24', tenant=None, vrf=None, assigned_object=None, status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-a'), IPAddress(address='10.0.0.2/24', tenant=tenants[0], vrf=vrfs[0], assigned_object=interfaces[0], status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-b'), IPAddress(address='10.0.0.3/24', tenant=tenants[1], vrf=vrfs[1], assigned_object=interfaces[1], status=IPAddressStatusChoices.STATUS_RESERVED, role=IPAddressRoleChoices.ROLE_VIP, dns_name='ipaddress-c'), IPAddress(address='10.0.0.4/24', tenant=tenants[2], vrf=vrfs[2], assigned_object=interfaces[2], status=IPAddressStatusChoices.STATUS_DEPRECATED, role=IPAddressRoleChoices.ROLE_SECONDARY, dns_name='ipaddress-d'), IPAddress(address='10.0.0.1/25', tenant=None, vrf=None, assigned_object=None, status=IPAddressStatusChoices.STATUS_ACTIVE), IPAddress(address='2001:db8::1/64', tenant=None, vrf=None, assigned_object=None, status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-a'), IPAddress(address='2001:db8::2/64', tenant=tenants[0], vrf=vrfs[0], assigned_object=vminterfaces[0], status=IPAddressStatusChoices.STATUS_ACTIVE, dns_name='ipaddress-b'), IPAddress(address='2001:db8::3/64', tenant=tenants[1], vrf=vrfs[1], assigned_object=vminterfaces[1], status=IPAddressStatusChoices.STATUS_RESERVED, role=IPAddressRoleChoices.ROLE_VIP, dns_name='ipaddress-c'), IPAddress(address='2001:db8::4/64', tenant=tenants[2], vrf=vrfs[2], assigned_object=vminterfaces[2], status=IPAddressStatusChoices.STATUS_DEPRECATED, role=IPAddressRoleChoices.ROLE_SECONDARY, dns_name='ipaddress-d'), IPAddress(address='2001:db8::1/65', tenant=None, vrf=None, assigned_object=None, status=IPAddressStatusChoices.STATUS_ACTIVE), ) IPAddress.objects.bulk_create(ipaddresses)