示例#1
0
    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'),
            Site(name='Test Site 2', slug='test-site-2'),
            Site(name='Test Site 3', slug='test-site-3'),
        )
        Site.objects.bulk_create(sites)

        device_roles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
            DeviceRole(name='Device Role 3', slug='device-role-3'),
        )
        DeviceRole.objects.bulk_create(device_roles)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        )
        Platform.objects.bulk_create(platforms)

        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'),
        )
        TenantGroup.objects.bulk_create(tenant_groups)

        tenants = (
            Tenant(name='Tenant 1', slug='tenant-1'),
            Tenant(name='Tenant 2', slug='tenant-2'),
            Tenant(name='Tenant 3', slug='tenant-3'),
        )
        Tenant.objects.bulk_create(tenants)

        for i in range(0, 3):
            is_active = bool(i % 2)
            c = ConfigContext.objects.create(
                name='Config Context {}'.format(i + 1),
                is_active=is_active,
                data='{"foo": 123}')
            c.regions.set([regions[i]])
            c.sites.set([sites[i]])
            c.roles.set([device_roles[i]])
            c.platforms.set([platforms[i]])
            c.tenant_groups.set([tenant_groups[i]])
            c.tenants.set([tenants[i]])
示例#2
0
文件: test_views.py 项目: wuwx/netbox
    def setUp(self):

        self.client = Client()

        Platform.objects.bulk_create([
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        ])
示例#3
0
    def setUp(self):
        user = create_test_user(permissions=['dcim.view_platform'])
        self.client = Client()
        self.client.force_login(user)

        Platform.objects.bulk_create([
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        ])
示例#4
0
    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'),
        )
        for r in regions:
            r.save()

        site_groups = (
            SiteGroup(name='Site Group 1', slug='site-group-1'),
            SiteGroup(name='Site Group 2', slug='site-group-2'),
            SiteGroup(name='Site Group 3', slug='site-group-3'),
        )
        for site_group in site_groups:
            site_group.save()

        sites = (
            Site(name='Test Site 1', slug='test-site-1'),
            Site(name='Test Site 2', slug='test-site-2'),
            Site(name='Test Site 3', slug='test-site-3'),
        )
        Site.objects.bulk_create(sites)

        manufacturer = Manufacturer.objects.create(name='Manufacturer 1',
                                                   slug='manufacturer-1')
        device_types = (
            DeviceType(manufacturer=manufacturer,
                       model='Device Type 1',
                       slug='device-type-1'),
            DeviceType(manufacturer=manufacturer,
                       model='Device Type 2',
                       slug='device-type-3'),
            DeviceType(manufacturer=manufacturer,
                       model='Device Type 3',
                       slug='device-type-4'),
        )
        DeviceType.objects.bulk_create(device_types)

        device_roles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
            DeviceRole(name='Device Role 3', slug='device-role-3'),
        )
        DeviceRole.objects.bulk_create(device_roles)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        )
        Platform.objects.bulk_create(platforms)

        cluster_groups = (
            ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'),
            ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'),
            ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'),
        )
        ClusterGroup.objects.bulk_create(cluster_groups)

        cluster_type = ClusterType.objects.create(name='Cluster Type 1',
                                                  slug='cluster-type-1')
        clusters = (
            Cluster(name='Cluster 1', type=cluster_type),
            Cluster(name='Cluster 2', type=cluster_type),
            Cluster(name='Cluster 3', type=cluster_type),
        )
        Cluster.objects.bulk_create(clusters)

        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'),
            Tenant(name='Tenant 2', slug='tenant-2'),
            Tenant(name='Tenant 3', slug='tenant-3'),
        )
        Tenant.objects.bulk_create(tenants)

        for i in range(0, 3):
            is_active = bool(i % 2)
            c = ConfigContext.objects.create(
                name='Config Context {}'.format(i + 1),
                is_active=is_active,
                data='{"foo": 123}')
            c.regions.set([regions[i]])
            c.site_groups.set([site_groups[i]])
            c.sites.set([sites[i]])
            c.device_types.set([device_types[i]])
            c.roles.set([device_roles[i]])
            c.platforms.set([platforms[i]])
            c.cluster_groups.set([cluster_groups[i]])
            c.clusters.set([clusters[i]])
            c.tenant_groups.set([tenant_groups[i]])
            c.tenants.set([tenants[i]])
示例#5
0
    def setUpTestData(cls):

        manufacturers = (
            Manufacturer(name='Manufacturer 1', slug='manufacturer-1'),
            Manufacturer(name='Manufacturer 2', slug='manufacturer-2'),
            Manufacturer(name='Manufacturer 3', slug='manufacturer-3'),
        )
        Manufacturer.objects.bulk_create(manufacturers)

        device_types = (
            DeviceType(manufacturer=manufacturers[0],
                       model='Model 1',
                       slug='model-1',
                       is_full_depth=True),
            DeviceType(manufacturer=manufacturers[1],
                       model='Model 2',
                       slug='model-2',
                       is_full_depth=True),
            DeviceType(manufacturer=manufacturers[2],
                       model='Model 3',
                       slug='model-3',
                       is_full_depth=False),
        )
        DeviceType.objects.bulk_create(device_types)

        device_roles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
            DeviceRole(name='Device Role 3', slug='device-role-3'),
        )
        DeviceRole.objects.bulk_create(device_roles)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        )
        Platform.objects.bulk_create(platforms)

        regions = (
            Region(name='Region 1', slug='region-1'),
            Region(name='Region 2', slug='region-2'),
            Region(name='Region 3', slug='region-3'),
        )
        for region in regions:
            region.save()

        sites = (
            Site(name='Site 1',
                 slug='abc-site-1',
                 region=regions[0],
                 asn=65001),
            Site(name='Site 2',
                 slug='def-site-2',
                 region=regions[1],
                 asn=65101),
            Site(name='Site 3',
                 slug='ghi-site-3',
                 region=regions[2],
                 asn=65201),
        )
        Site.objects.bulk_create(sites)

        rir = RIR.objects.create(name='RFC 6996', is_private=True)

        asns = [
            ASN(asn=65001, rir=rir),
            ASN(asn=65101, rir=rir),
            ASN(asn=65201, rir=rir)
        ]
        ASN.objects.bulk_create(asns)

        asns[0].sites.add(sites[0])
        asns[1].sites.add(sites[1])
        asns[2].sites.add(sites[2])

        racks = (
            Rack(name='Rack 1', site=sites[0]),
            Rack(name='Rack 2', site=sites[1]),
            Rack(name='Rack 3', site=sites[2]),
        )
        Rack.objects.bulk_create(racks)

        devices = (
            Device(name='Device 1',
                   device_type=device_types[0],
                   device_role=device_roles[0],
                   platform=platforms[0],
                   serial='ABC',
                   asset_tag='1001',
                   site=sites[0],
                   rack=racks[0],
                   position=1,
                   face=DeviceFaceChoices.FACE_FRONT,
                   status=DeviceStatusChoices.STATUS_ACTIVE,
                   local_context_data={"foo": 123}),
            Device(name='Device 2',
                   device_type=device_types[1],
                   device_role=device_roles[1],
                   platform=platforms[1],
                   serial='DEF',
                   asset_tag='1002',
                   site=sites[1],
                   rack=racks[1],
                   position=2,
                   face=DeviceFaceChoices.FACE_FRONT,
                   status=DeviceStatusChoices.STATUS_STAGED),
            Device(name='Device 3',
                   device_type=device_types[2],
                   device_role=device_roles[2],
                   platform=platforms[2],
                   serial='GHI',
                   asset_tag='1003',
                   site=sites[2],
                   rack=racks[2],
                   position=3,
                   face=DeviceFaceChoices.FACE_REAR,
                   status=DeviceStatusChoices.STATUS_FAILED),
        )
        Device.objects.bulk_create(devices)

        interfaces = (
            Interface(device=devices[0],
                      name='Interface 1',
                      mac_address='00-00-00-00-00-01'),
            Interface(device=devices[0],
                      name='Interface 2',
                      mac_address='aa-00-00-00-00-01'),
            Interface(device=devices[1],
                      name='Interface 3',
                      mac_address='00-00-00-00-00-02'),
            Interface(device=devices[1],
                      name='Interface 4',
                      mac_address='bb-00-00-00-00-02'),
            Interface(device=devices[2],
                      name='Interface 5',
                      mac_address='00-00-00-00-00-03'),
            Interface(device=devices[2],
                      name='Interface 6',
                      mac_address='cc-00-00-00-00-03'),
        )
        Interface.objects.bulk_create(interfaces)
示例#6
0
    def setUpTestData(cls):

        cluster_types = (
            ClusterType(name='Cluster Type 1', slug='cluster-type-1'),
            ClusterType(name='Cluster Type 2', slug='cluster-type-2'),
            ClusterType(name='Cluster Type 3', slug='cluster-type-3'),
        )
        ClusterType.objects.bulk_create(cluster_types)

        cluster_groups = (
            ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'),
            ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'),
            ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'),
        )
        ClusterGroup.objects.bulk_create(cluster_groups)

        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'),
        )
        for r in regions:
            r.save()

        site_groups = (
            SiteGroup(name='Site Group 1', slug='site-group-1'),
            SiteGroup(name='Site Group 2', slug='site-group-2'),
            SiteGroup(name='Site Group 3', slug='site-group-3'),
        )
        for site_group in site_groups:
            site_group.save()

        sites = (
            Site(name='Test Site 1',
                 slug='test-site-1',
                 region=regions[0],
                 group=site_groups[0]),
            Site(name='Test Site 2',
                 slug='test-site-2',
                 region=regions[1],
                 group=site_groups[1]),
            Site(name='Test Site 3',
                 slug='test-site-3',
                 region=regions[2],
                 group=site_groups[2]),
        )
        Site.objects.bulk_create(sites)

        clusters = (
            Cluster(name='Cluster 1',
                    type=cluster_types[0],
                    group=cluster_groups[0],
                    site=sites[0]),
            Cluster(name='Cluster 2',
                    type=cluster_types[1],
                    group=cluster_groups[1],
                    site=sites[1]),
            Cluster(name='Cluster 3',
                    type=cluster_types[2],
                    group=cluster_groups[2],
                    site=sites[2]),
        )
        Cluster.objects.bulk_create(clusters)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        )
        Platform.objects.bulk_create(platforms)

        roles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
            DeviceRole(name='Device Role 3', slug='device-role-3'),
        )
        DeviceRole.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)

        vms = (
            VirtualMachine(name='Virtual Machine 1',
                           cluster=clusters[0],
                           platform=platforms[0],
                           role=roles[0],
                           tenant=tenants[0],
                           status=VirtualMachineStatusChoices.STATUS_ACTIVE,
                           vcpus=1,
                           memory=1,
                           disk=1,
                           local_context_data={"foo": 123}),
            VirtualMachine(name='Virtual Machine 2',
                           cluster=clusters[1],
                           platform=platforms[1],
                           role=roles[1],
                           tenant=tenants[1],
                           status=VirtualMachineStatusChoices.STATUS_STAGED,
                           vcpus=2,
                           memory=2,
                           disk=2),
            VirtualMachine(name='Virtual Machine 3',
                           cluster=clusters[2],
                           platform=platforms[2],
                           role=roles[2],
                           tenant=tenants[2],
                           status=VirtualMachineStatusChoices.STATUS_OFFLINE,
                           vcpus=3,
                           memory=3,
                           disk=3),
        )
        VirtualMachine.objects.bulk_create(vms)

        interfaces = (
            VMInterface(virtual_machine=vms[0],
                        name='Interface 1',
                        mac_address='00-00-00-00-00-01'),
            VMInterface(virtual_machine=vms[1],
                        name='Interface 2',
                        mac_address='00-00-00-00-00-02'),
            VMInterface(virtual_machine=vms[2],
                        name='Interface 3',
                        mac_address='00-00-00-00-00-03'),
        )
        VMInterface.objects.bulk_create(interfaces)

        # Assign primary IPs for filtering
        ipaddresses = (
            IPAddress(address='192.0.2.1/24', assigned_object=interfaces[0]),
            IPAddress(address='192.0.2.2/24', assigned_object=interfaces[1]),
        )
        IPAddress.objects.bulk_create(ipaddresses)
        VirtualMachine.objects.filter(pk=vms[0].pk).update(
            primary_ip4=ipaddresses[0])
        VirtualMachine.objects.filter(pk=vms[1].pk).update(
            primary_ip4=ipaddresses[1])
示例#7
0
    def setUpTestData(cls):

        deviceroles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
        )
        DeviceRole.objects.bulk_create(deviceroles)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
        )
        Platform.objects.bulk_create(platforms)

        clustertype = ClusterType.objects.create(name='Cluster Type 1',
                                                 slug='cluster-type-1')

        clusters = (
            Cluster(name='Cluster 1', type=clustertype),
            Cluster(name='Cluster 2', type=clustertype),
        )
        Cluster.objects.bulk_create(clusters)

        VirtualMachine.objects.bulk_create([
            VirtualMachine(name='Virtual Machine 1',
                           cluster=clusters[0],
                           role=deviceroles[0],
                           platform=platforms[0]),
            VirtualMachine(name='Virtual Machine 2',
                           cluster=clusters[0],
                           role=deviceroles[0],
                           platform=platforms[0]),
            VirtualMachine(name='Virtual Machine 3',
                           cluster=clusters[0],
                           role=deviceroles[0],
                           platform=platforms[0]),
        ])

        tags = create_tags('Alpha', 'Bravo', 'Charlie')

        cls.form_data = {
            'cluster': clusters[1].pk,
            'tenant': None,
            'platform': platforms[1].pk,
            'name': 'Virtual Machine X',
            'status': VirtualMachineStatusChoices.STATUS_STAGED,
            'role': deviceroles[1].pk,
            'primary_ip4': None,
            'primary_ip6': None,
            'vcpus': 4,
            'memory': 32768,
            'disk': 4000,
            'comments': 'Some comments',
            'tags': [t.pk for t in tags],
            'local_context_data': None,
        }

        cls.csv_data = (
            "name,cluster",
            "Virtual Machine 4,Cluster 1",
            "Virtual Machine 5,Cluster 1",
            "Virtual Machine 6,Cluster 1",
        )

        cls.bulk_edit_data = {
            'cluster': clusters[1].pk,
            'tenant': None,
            'platform': platforms[1].pk,
            'status': VirtualMachineStatusChoices.STATUS_STAGED,
            'role': deviceroles[1].pk,
            'vcpus': 8,
            'memory': 65535,
            'disk': 8000,
            'comments': 'New comments',
        }
示例#8
0
    def setUpTestData(cls):

        cluster_types = (
            ClusterType(name='Cluster Type 1', slug='cluster-type-1'),
            ClusterType(name='Cluster Type 2', slug='cluster-type-2'),
            ClusterType(name='Cluster Type 3', slug='cluster-type-3'),
        )
        ClusterType.objects.bulk_create(cluster_types)

        cluster_groups = (
            ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'),
            ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'),
            ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'),
        )
        ClusterGroup.objects.bulk_create(cluster_groups)

        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)

        clusters = (
            Cluster(name='Cluster 1',
                    type=cluster_types[0],
                    group=cluster_groups[0],
                    site=sites[0]),
            Cluster(name='Cluster 2',
                    type=cluster_types[1],
                    group=cluster_groups[1],
                    site=sites[1]),
            Cluster(name='Cluster 3',
                    type=cluster_types[2],
                    group=cluster_groups[2],
                    site=sites[2]),
        )
        Cluster.objects.bulk_create(clusters)

        platforms = (
            Platform(name='Platform 1', slug='platform-1'),
            Platform(name='Platform 2', slug='platform-2'),
            Platform(name='Platform 3', slug='platform-3'),
        )
        Platform.objects.bulk_create(platforms)

        roles = (
            DeviceRole(name='Device Role 1', slug='device-role-1'),
            DeviceRole(name='Device Role 2', slug='device-role-2'),
            DeviceRole(name='Device Role 3', slug='device-role-3'),
        )
        DeviceRole.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)

        vms = (
            VirtualMachine(name='Virtual Machine 1',
                           cluster=clusters[0],
                           platform=platforms[0],
                           role=roles[0],
                           tenant=tenants[0],
                           status=VirtualMachineStatusChoices.STATUS_ACTIVE,
                           vcpus=1,
                           memory=1,
                           disk=1,
                           local_context_data={"foo": 123}),
            VirtualMachine(name='Virtual Machine 2',
                           cluster=clusters[1],
                           platform=platforms[1],
                           role=roles[1],
                           tenant=tenants[1],
                           status=VirtualMachineStatusChoices.STATUS_STAGED,
                           vcpus=2,
                           memory=2,
                           disk=2),
            VirtualMachine(name='Virtual Machine 3',
                           cluster=clusters[2],
                           platform=platforms[2],
                           role=roles[2],
                           tenant=tenants[2],
                           status=VirtualMachineStatusChoices.STATUS_OFFLINE,
                           vcpus=3,
                           memory=3,
                           disk=3),
        )
        VirtualMachine.objects.bulk_create(vms)

        interfaces = (
            Interface(virtual_machine=vms[0],
                      name='Interface 1',
                      mac_address='00-00-00-00-00-01'),
            Interface(virtual_machine=vms[1],
                      name='Interface 2',
                      mac_address='00-00-00-00-00-02'),
            Interface(virtual_machine=vms[2],
                      name='Interface 3',
                      mac_address='00-00-00-00-00-03'),
        )
        Interface.objects.bulk_create(interfaces)