~rvb/maas/transaction-1.7-bug-1409852

« back to all changes in this revision

Viewing changes to src/maasserver/testing/factory.py

merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
223
223
        finally:
224
224
            NODE_TRANSITIONS[None] = valid_initial_states
225
225
 
226
 
    def make_node(self, mac=False, hostname=None, status=None,
 
226
    def make_Node(self, mac=False, hostname=None, status=None,
227
227
                  architecture="i386/generic", updated=None,
228
228
                  created=None, nodegroup=None, routers=None, zone=None,
229
229
                  power_type=None, networks=None, sortable_name=False,
244
244
        if status is None:
245
245
            status = NODE_STATUS.DEFAULT
246
246
        if nodegroup is None:
247
 
            nodegroup = self.make_node_group()
 
247
            nodegroup = self.make_NodeGroup()
248
248
        if routers is None:
249
249
            routers = [self.make_MAC()]
250
250
        if zone is None:
251
 
            zone = self.make_zone()
 
251
            zone = self.make_Zone()
252
252
        if power_type is None:
253
253
            power_type = 'ether_wake'
254
254
        if power_state is None:
267
267
        if networks is not None:
268
268
            node.networks.add(*networks)
269
269
        if mac:
270
 
            self.make_mac_address(node=node)
 
270
            self.make_MACAddress(node=node)
271
271
 
272
272
        # Update the 'updated'/'created' fields with a call to 'update'
273
273
        # preventing a call to save() from overriding the values.
277
277
            Node.objects.filter(id=node.id).update(created=created)
278
278
        return reload_object(node)
279
279
 
 
280
    make_node = make_Node  # DEPRECATED
 
281
 
280
282
    def get_interface_fields(self, name=None, ip=None, router_ip=None,
281
283
                             network=None, subnet_mask=None, broadcast_ip=None,
282
284
                             ip_range_low=None, ip_range_high=None,
346
348
            management=management,
347
349
            interface=interface)
348
350
 
349
 
    def make_node_group(self, name=None, uuid=None, cluster_name=None,
350
 
                        dhcp_key=None, ip=None, router_ip=None, network=None,
351
 
                        subnet_mask=None, broadcast_ip=None, ip_range_low=None,
352
 
                        ip_range_high=None, interface=None, management=None,
353
 
                        status=None, maas_url='', static_ip_range_low=None,
354
 
                        static_ip_range_high=None, **kwargs):
 
351
    def make_NodeGroup(self, name=None, uuid=None, cluster_name=None,
 
352
                       dhcp_key=None, ip=None, router_ip=None, network=None,
 
353
                       subnet_mask=None, broadcast_ip=None, ip_range_low=None,
 
354
                       ip_range_high=None, interface=None, management=None,
 
355
                       status=None, maas_url='', static_ip_range_low=None,
 
356
                       static_ip_range_high=None, **kwargs):
355
357
        """Create a :class:`NodeGroup`.
356
358
 
357
359
        If `management` is set (to a `NODEGROUPINTERFACE_MANAGEMENT` value),
385
387
                static_ip_range_low=static_ip_range_low,
386
388
                static_ip_range_high=static_ip_range_high)
387
389
            interface_settings.update(kwargs)
388
 
            self.make_node_group_interface(cluster, **interface_settings)
 
390
            self.make_NodeGroupInterface(cluster, **interface_settings)
389
391
        return cluster
390
392
 
391
 
    def make_unrenamable_nodegroup_with_node(self):
 
393
    make_node_group = make_NodeGroup  # DEPRECATED
 
394
 
 
395
    def make_unrenamable_NodeGroup_with_Node(self):
392
396
        """Create a `NodeGroup` that can't be renamed, and `Node`.
393
397
 
394
398
        Node groups can't be renamed while they are in an accepted state, have
400
404
        :return: tuple: (`NodeGroup`, `Node`).
401
405
        """
402
406
        name = self.make_name('original-name')
403
 
        nodegroup = self.make_node_group(
 
407
        nodegroup = self.make_NodeGroup(
404
408
            name=name, status=NODEGROUP_STATUS.ACCEPTED)
405
 
        factory.make_node_group_interface(
 
409
        factory.make_NodeGroupInterface(
406
410
            nodegroup, management=NODEGROUPINTERFACE_MANAGEMENT.DHCP_AND_DNS)
407
 
        node = self.make_node(
 
411
        node = self.make_Node(
408
412
            nodegroup=nodegroup, status=NODE_STATUS.ALLOCATED)
409
413
        return nodegroup, node
410
414
 
411
 
    def make_node_group_interface(self, nodegroup, name=None, ip=None,
412
 
                                  router_ip=None, network=None,
413
 
                                  subnet_mask=None, broadcast_ip=None,
414
 
                                  ip_range_low=None, ip_range_high=None,
415
 
                                  interface=None, management=None,
416
 
                                  static_ip_range_low=None,
417
 
                                  static_ip_range_high=None, **kwargs):
 
415
    make_unrenamable_nodegroup_with_node = (
 
416
        make_unrenamable_NodeGroup_with_Node)  # DEPRECATED
 
417
 
 
418
    def make_NodeGroupInterface(self, nodegroup, name=None, ip=None,
 
419
                                router_ip=None, network=None,
 
420
                                subnet_mask=None, broadcast_ip=None,
 
421
                                ip_range_low=None, ip_range_high=None,
 
422
                                interface=None, management=None,
 
423
                                static_ip_range_low=None,
 
424
                                static_ip_range_high=None, **kwargs):
418
425
        interface_settings = self.get_interface_fields(
419
426
            name=name, ip=ip, router_ip=router_ip, network=network,
420
427
            subnet_mask=subnet_mask, broadcast_ip=broadcast_ip,
428
435
        interface.save()
429
436
        return interface
430
437
 
431
 
    def make_node_commission_result(self, node=None, name=None,
432
 
                                    script_result=None, data=None):
 
438
    make_node_group_interface = make_NodeGroupInterface  # DEPRECATED
 
439
 
 
440
    def make_NodeResult_for_commissioning(
 
441
            self, node=None, name=None, script_result=None, data=None):
 
442
        """Create a `NodeResult` as one would see from commissioning a node."""
433
443
        if node is None:
434
 
            node = self.make_node()
 
444
            node = self.make_Node()
435
445
        if name is None:
436
446
            name = "ncrname-" + self.make_string(92)
437
447
        if data is None:
444
454
        ncr.save()
445
455
        return ncr
446
456
 
447
 
    def make_node_install_result(self, node=None, name=None,
448
 
                                 script_result=None, data=None):
 
457
    make_node_commission_result = (
 
458
        make_NodeResult_for_commissioning)  # DEPRECATED
 
459
 
 
460
    def make_NodeResult_for_installing(
 
461
            self, node=None, name=None, script_result=None, data=None):
 
462
        """Create a `NodeResult` as one would see from installing a node."""
449
463
        if node is None:
450
 
            node = self.make_node()
 
464
            node = self.make_Node()
451
465
        if name is None:
452
466
            name = "ncrname-" + self.make_string(92)
453
467
        if data is None:
460
474
        ncr.save()
461
475
        return ncr
462
476
 
 
477
    make_node_install_result = (
 
478
        make_NodeResult_for_installing)  # DEPRECATED
 
479
 
463
480
    def make_MAC(self):
464
481
        """Generate a random MAC address, in the form of a MAC object."""
465
482
        return MAC(self.getRandomMACAddress())
466
483
 
467
 
    def make_mac_address(self, address=None, node=None, networks=None,
468
 
                         **kwargs):
469
 
        """Create a MACAddress model object."""
 
484
    def make_MACAddress(self, address=None, node=None, networks=None,
 
485
                        **kwargs):
 
486
        """Create a `MACAddress` model object."""
470
487
        if node is None:
471
 
            node = self.make_node()
 
488
            node = self.make_Node()
472
489
        if address is None:
473
490
            address = self.getRandomMACAddress()
474
491
        mac = MACAddress(mac_address=MAC(address), node=node, **kwargs)
477
494
            mac.networks.add(*networks)
478
495
        return mac
479
496
 
 
497
    make_mac_address = make_MACAddress  # DEPRECATED
 
498
 
480
499
    def make_node_with_mac_attached_to_nodegroupinterface(
481
500
            self, management=NODEGROUPINTERFACE_MANAGEMENT.DHCP,
482
501
            network=None, disable_ipv4=False, **kwargs):
487
506
        """
488
507
        nodegroup = kwargs.pop("nodegroup", None)
489
508
        if nodegroup is None:
490
 
            nodegroup = self.make_node_group()
491
 
        node = self.make_node(
 
509
            nodegroup = self.make_NodeGroup()
 
510
        node = self.make_Node(
492
511
            mac=True, nodegroup=nodegroup, disable_ipv4=disable_ipv4, **kwargs)
493
 
        ngi = self.make_node_group_interface(
 
512
        ngi = self.make_NodeGroupInterface(
494
513
            nodegroup, network=network, management=management)
495
514
        mac = node.get_primary_mac()
496
515
        mac.cluster_interface = ngi
497
516
        mac.save()
498
517
        return node
499
518
 
500
 
    def make_staticipaddress(self, ip=None, alloc_type=IPADDRESS_TYPE.AUTO,
 
519
    def make_StaticIPAddress(self, ip=None, alloc_type=IPADDRESS_TYPE.AUTO,
501
520
                             mac=None, user=None):
502
521
        """Create and return a StaticIPAddress model object.
503
522
 
513
532
                mac_address=mac, ip_address=ipaddress).save()
514
533
        return ipaddress
515
534
 
516
 
    def make_dhcp_lease(self, nodegroup=None, ip=None, mac=None):
 
535
    make_staticipaddress = make_StaticIPAddress  # DEPRECATED
 
536
 
 
537
    def make_DHCPLease(self, nodegroup=None, ip=None, mac=None):
517
538
        """Create a :class:`DHCPLease`."""
518
539
        if nodegroup is None:
519
 
            nodegroup = self.make_node_group()
 
540
            nodegroup = self.make_NodeGroup()
520
541
        if ip is None:
521
542
            ip = self.getRandomIPAddress()
522
543
        if mac is None:
525
546
        lease.save()
526
547
        return lease
527
548
 
 
549
    make_dhcp_lease = make_DHCPLease  # DEPRECATED
 
550
 
528
551
    def make_email(self):
529
552
        return '%s@example.com' % self.make_string(10)
530
553
 
531
 
    def make_user(self, username=None, password='test', email=None):
 
554
    def make_User(self, username=None, password='test', email=None):
532
555
        if username is None:
533
556
            username = self.make_username()
534
557
        if email is None:
536
559
        return User.objects.create_user(
537
560
            username=username, password=password, email=email)
538
561
 
539
 
    def make_sshkey(self, user, key_string=None):
 
562
    make_user = make_User  # DEPRECATED
 
563
 
 
564
    def make_SSHKey(self, user, key_string=None):
540
565
        if key_string is None:
541
566
            key_string = get_data('data/test_rsa0.pub')
542
567
        key = SSHKey(key=key_string, user=user)
543
568
        key.save()
544
569
        return key
545
570
 
546
 
    def make_tag(self, name=None, definition=None, comment='',
 
571
    make_sshkey = make_SSHKey  # DEPRECATED
 
572
 
 
573
    def make_Tag(self, name=None, definition=None, comment='',
547
574
                 kernel_opts=None, created=None, updated=None):
548
575
        if name is None:
549
576
            name = self.make_name('tag')
562
589
            Tag.objects.filter(id=tag.id).update(created=created)
563
590
        return reload_object(tag)
564
591
 
 
592
    make_tag = make_Tag  # DEPRECATED
 
593
 
565
594
    def make_user_with_keys(self, n_keys=2, user=None, **kwargs):
566
595
        """Create a user with n `SSHKey`.  If user is not None, use this user
567
596
        instead of creating one.
574
603
                "add more keys in src/maasserver/tests/data/."
575
604
                % MAX_PUBLIC_KEYS)
576
605
        if user is None:
577
 
            user = self.make_user(**kwargs)
 
606
            user = self.make_User(**kwargs)
578
607
        keys = []
579
608
        for i in range(n_keys):
580
609
            key_string = get_data('data/test_rsa%d.pub' % i)
597
626
                "add more keys in src/maasserver/tests/data/."
598
627
                % MAX_PUBLIC_KEYS)
599
628
        if user is None:
600
 
            user = self.make_user(**kwargs)
 
629
            user = self.make_User(**kwargs)
601
630
        keys = []
602
631
        for i in range(n_keys):
603
632
            key_string = get_data('data/test_x509_%d.pem' % i)
614
643
        return User.objects.create_superuser(
615
644
            username, password=password, email=email)
616
645
 
617
 
    def make_file_storage(self, filename=None, content=None, owner=None):
 
646
    def make_FileStorage(self, filename=None, content=None, owner=None):
618
647
        fake_file = self.make_file_upload(filename, content)
619
648
        return FileStorage.objects.save_file(fake_file.name, fake_file, owner)
620
649
 
 
650
    make_file_storage = make_FileStorage  # DEPRECATED
 
651
 
621
652
    def make_oauth_header(self, **kwargs):
622
653
        """Fake an OAuth authorization header.
623
654
 
638
669
        return "OAuth " + ", ".join([
639
670
            '%s="%s"' % (key, value) for key, value in items.items()])
640
671
 
641
 
    def make_boot_image(self, osystem=None, architecture=None,
642
 
                        subarchitecture=None, release=None, purpose=None,
643
 
                        nodegroup=None, label=None, supported_subarches=None,
644
 
                        xinstall_path=None, xinstall_type=None):
 
672
    def make_BootImage(self, osystem=None, architecture=None,
 
673
                       subarchitecture=None, release=None, purpose=None,
 
674
                       nodegroup=None, label=None, supported_subarches=None,
 
675
                       xinstall_path=None, xinstall_type=None):
645
676
        if osystem is None:
646
677
            osystem = self.make_name('os')
647
678
        if architecture is None:
653
684
        if purpose is None:
654
685
            purpose = self.make_name('purpose')
655
686
        if nodegroup is None:
656
 
            nodegroup = self.make_node_group()
 
687
            nodegroup = self.make_NodeGroup()
657
688
        if label is None:
658
689
            label = self.make_name('label')
659
690
        if supported_subarches is None:
675
706
            xinstall_type=xinstall_type,
676
707
            )
677
708
 
 
709
    make_boot_image = make_BootImage  # DEPRECATED
 
710
 
678
711
    def make_boot_images_for_node_with_purposes(self, node, purposes):
679
712
        osystem = node.get_osystem()
680
713
        series = node.get_distro_series()
688
721
                xinstall_path = None
689
722
                xinstall_type = None
690
723
            images.append(
691
 
                self.make_boot_image(
 
724
                self.make_BootImage(
692
725
                    osystem=osystem, architecture=arch,
693
726
                    subarchitecture=subarch, release=series, purpose=purpose,
694
727
                    nodegroup=node.nodegroup, xinstall_path=xinstall_path,
695
728
                    xinstall_type=xinstall_type))
696
729
        return images
697
730
 
698
 
    def make_commissioning_script(self, name=None, content=None):
 
731
    def make_CommissioningScript(self, name=None, content=None):
699
732
        if name is None:
700
733
            name = self.make_name('script')
701
734
        if content is None:
703
736
        return CommissioningScript.objects.create(
704
737
            name=name, content=Bin(content))
705
738
 
706
 
    def make_download_progress(self, nodegroup=None, filename=None,
707
 
                               size=NO_VALUE, bytes_downloaded=NO_VALUE,
708
 
                               error=None):
 
739
    make_commissioning_script = make_CommissioningScript  # DEPRECATED
 
740
 
 
741
    def make_DownloadProgress(self, nodegroup=None, filename=None,
 
742
                              size=NO_VALUE, bytes_downloaded=NO_VALUE,
 
743
                              error=None):
709
744
        """Create a `DownloadProgress` in some poorly-defined state.
710
745
 
711
746
        If you have specific wishes about the object's state, you'll want to
712
 
        use one of the specialized `make_download_progress_*` methods instead.
 
747
        use one of the specialized `make_DownloadProgress_*` methods instead.
713
748
 
714
749
        Pass a `size` of `None` to indicate that total file size is not yet
715
750
        known.  The default picks either a random number, or None.
716
751
        """
717
752
        if nodegroup is None:
718
 
            nodegroup = self.make_node_group()
 
753
            nodegroup = self.make_NodeGroup()
719
754
        if filename is None:
720
755
            filename = self.make_name('download')
721
756
        if size is NO_VALUE:
741
776
            nodegroup=nodegroup, filename=filename, size=size,
742
777
            bytes_downloaded=bytes_downloaded)
743
778
 
744
 
    def make_download_progress_initial(self, nodegroup=None, filename=None,
745
 
                                       size=NO_VALUE):
 
779
    make_download_progress = make_DownloadProgress  # DEPRECATED
 
780
 
 
781
    def make_DownloadProgress_initial(self, nodegroup=None, filename=None,
 
782
                                      size=NO_VALUE):
746
783
        """Create a `DownloadProgress` as reported before a download."""
747
 
        return self.make_download_progress(
 
784
        return self.make_DownloadProgress(
748
785
            nodegroup=nodegroup, filename=filename, size=size,
749
786
            bytes_downloaded=None, error='')
750
787
 
751
 
    def make_download_progress_success(self, nodegroup=None, filename=None,
752
 
                                       size=None):
 
788
    def make_DownloadProgress_success(self, nodegroup=None, filename=None,
 
789
                                      size=None):
753
790
        """Create a `DownloadProgress` indicating success."""
754
791
        if size is None:
755
792
            size = random.randint(0, 1000000000)
756
 
        return self.make_download_progress(
 
793
        return self.make_DownloadProgress(
757
794
            nodegroup=nodegroup, filename=filename, size=size,
758
795
            bytes_downloaded=size, error='')
759
796
 
760
 
    def make_download_progress_incomplete(self, nodegroup=None, filename=None,
761
 
                                          size=NO_VALUE,
762
 
                                          bytes_downloaded=None):
 
797
    def make_DownloadProgress_incomplete(self, nodegroup=None, filename=None,
 
798
                                         size=NO_VALUE,
 
799
                                         bytes_downloaded=None):
763
800
        """Create a `DownloadProgress` that's not done yet."""
764
801
        if size is NO_VALUE:
765
802
            if self.pick_bool():
773
810
            else:
774
811
                max_size = size
775
812
            bytes_downloaded = random.randint(0, max_size - 1)
776
 
        return self.make_download_progress(
 
813
        return self.make_DownloadProgress(
777
814
            nodegroup=nodegroup, filename=filename, size=size,
778
815
            bytes_downloaded=bytes_downloaded, error='')
779
816
 
780
 
    def make_download_progress_failure(self, nodegroup=None, filename=None,
781
 
                                       size=NO_VALUE,
782
 
                                       bytes_downloaded=NO_VALUE, error=None):
 
817
    def make_DownloadProgress_failure(self, nodegroup=None, filename=None,
 
818
                                      size=NO_VALUE,
 
819
                                      bytes_downloaded=NO_VALUE, error=None):
783
820
        """Create a `DownloadProgress` indicating failure."""
784
821
        if error is None:
785
822
            error = self.make_string()
786
 
        return self.make_download_progress_incomplete(
 
823
        return self.make_DownloadProgress_incomplete(
787
824
            nodegroup=nodegroup, filename=filename, size=size,
788
825
            bytes_downloaded=bytes_downloaded, error=error)
789
826
 
790
 
    def make_zone(self, name=None, description=None, nodes=None,
 
827
    def make_Zone(self, name=None, description=None, nodes=None,
791
828
                  sortable_name=False):
792
829
        """Create a physical `Zone`.
793
830
 
809
846
            zone.node_set.add(*nodes)
810
847
        return zone
811
848
 
 
849
    make_zone = make_Zone
 
850
 
812
851
    def make_vlan_tag(self, allow_none=False, but_not=None):
813
852
        """Create a random VLAN tag.
814
853
 
832
871
            raise maastesting.factory.TooManyRandomRetries(
833
872
                "Could not find an available VLAN tag.")
834
873
 
835
 
    def make_network(self, name=None, network=None, vlan_tag=NO_VALUE,
 
874
    def make_Network(self, name=None, network=None, vlan_tag=NO_VALUE,
836
875
                     description=None, sortable_name=False,
837
 
                     disjoint_from=None):
 
876
                     disjoint_from=None, default_gateway=None,
 
877
                     dns_servers=None):
838
878
        """Create a `Network`.
839
879
 
840
880
        :param network: An `IPNetwork`.  If given, the `ip` and `netmask`
867
907
            ]
868
908
        if network is None:
869
909
            network = self.getRandomNetwork(disjoint_from=disjoint_from)
 
910
        if default_gateway is None and self.pick_bool():
 
911
            default_gateway = self.pick_ip_in_network(network)
 
912
        if dns_servers is None and self.pick_bool():
 
913
            dns_servers = " ".join(
 
914
                self.getRandomIPAddress()
 
915
                for _ in range(random.choice((1, 2))))
870
916
        ip = unicode(network.ip)
871
917
        netmask = unicode(network.netmask)
872
918
        if description is None:
875
921
            vlan_tag = self.make_vlan_tag()
876
922
        network = Network(
877
923
            name=name, ip=ip, netmask=netmask, vlan_tag=vlan_tag,
878
 
            description=description)
 
924
            description=description, default_gateway=default_gateway,
 
925
            dns_servers=dns_servers)
879
926
        network.save()
880
927
        return network
881
928
 
882
 
    def make_networks(self, number, with_vlans=True, **kwargs):
 
929
    make_network = make_Network  # DEPRECATED
 
930
 
 
931
    def make_Networks(self, number, with_vlans=True, **kwargs):
883
932
        """Create multiple networks.
884
933
 
885
934
        This avoids accidentally clashing VLAN tags.
903
952
        networks = []
904
953
        for tag in vlan_tags:
905
954
            networks.append(
906
 
                self.make_network(
 
955
                self.make_Network(
907
956
                    vlan_tag=tag, disjoint_from=networks, **kwargs))
908
957
        return networks
909
958
 
910
 
    def make_boot_source(self, url=None, keyring_filename=None,
911
 
                         keyring_data=None):
 
959
    make_networks = make_Networks  # DEPRECATED
 
960
 
 
961
    def make_BootSource(self, url=None, keyring_filename=None,
 
962
                        keyring_data=None):
912
963
        """Create a new `BootSource`."""
913
964
        if url is None:
914
965
            url = "http://%s.com" % self.make_name('source-url')
925
976
        boot_source.save()
926
977
        return boot_source
927
978
 
928
 
    def make_boot_source_selection(self, boot_source=None, os=None,
929
 
                                   release=None, arches=None, subarches=None,
930
 
                                   labels=None):
 
979
    make_boot_source = make_BootSource  # DEPRECATED
 
980
 
 
981
    def make_BootSourceSelection(self, boot_source=None, os=None,
 
982
                                 release=None, arches=None, subarches=None,
 
983
                                 labels=None):
931
984
        """Create a `BootSourceSelection`."""
932
985
        if boot_source is None:
933
 
            boot_source = self.make_boot_source()
 
986
            boot_source = self.make_BootSource()
934
987
        if os is None:
935
988
            os = self.make_name('os')
936
989
        if release is None:
953
1006
        boot_source_selection.save()
954
1007
        return boot_source_selection
955
1008
 
956
 
    def make_license_key(self, osystem=None, distro_series=None,
957
 
                         license_key=None):
 
1009
    make_boot_source_selection = make_BootSourceSelection  # DEPRECATED
 
1010
 
 
1011
    def make_LicenseKey(self, osystem=None, distro_series=None,
 
1012
                        license_key=None):
958
1013
        if osystem is None:
959
1014
            osystem = factory.make_name('osystem')
960
1015
        if distro_series is None:
966
1021
            distro_series=distro_series,
967
1022
            license_key=license_key)
968
1023
 
969
 
    def make_event_type(self, name=None, level=None, description=None):
 
1024
    make_license_key = make_LicenseKey  # DEPRECATED
 
1025
 
 
1026
    def make_EventType(self, name=None, level=None, description=None):
970
1027
        if name is None:
971
1028
            name = self.make_name('name', size=20)
972
1029
        if description is None:
977
1034
        return EventType.objects.create(
978
1035
            name=name, description=description, level=level)
979
1036
 
980
 
    def make_event(self, node=None, type=None):
 
1037
    make_event_type = make_EventType  # DEPRECATED
 
1038
 
 
1039
    def make_Event(self, node=None, type=None):
981
1040
        if node is None:
982
 
            node = self.make_node()
 
1041
            node = self.make_Node()
983
1042
        if type is None:
984
 
            type = self.make_event_type()
 
1043
            type = self.make_EventType()
985
1044
        return Event.objects.create(node=node, type=type)
986
1045
 
987
 
    def make_large_file(self, content=None, size=512):
 
1046
    make_event = make_Event  # DEPRECATED
 
1047
 
 
1048
    def make_LargeFile(self, content=None, size=512):
988
1049
        """Create `LargeFile`.
989
1050
 
990
1051
        :param content: Data to store in large file object.
1004
1065
        return LargeFile.objects.create(
1005
1066
            sha256=sha256, total_size=size, content=largeobject)
1006
1067
 
1007
 
    def make_boot_resource(self, rtype=None, name=None, architecture=None,
1008
 
                           extra=None):
 
1068
    make_large_file = make_LargeFile  # DEPRECATED
 
1069
 
 
1070
    def make_BootResource(self, rtype=None, name=None, architecture=None,
 
1071
                          extra=None):
1009
1072
        if rtype is None:
1010
1073
            rtype = self.pick_enum(BOOT_RESOURCE_TYPE)
1011
1074
        if name is None:
1027
1090
        return BootResource.objects.create(
1028
1091
            rtype=rtype, name=name, architecture=architecture, extra=extra)
1029
1092
 
1030
 
    def make_boot_resource_set(self, resource, version=None, label=None):
 
1093
    make_boot_resource = make_BootResource  # DEPRECATED
 
1094
 
 
1095
    def make_BootResourceSet(self, resource, version=None, label=None):
1031
1096
        if version is None:
1032
1097
            version = self.make_name('version')
1033
1098
        if label is None:
1035
1100
        return BootResourceSet.objects.create(
1036
1101
            resource=resource, version=version, label=label)
1037
1102
 
1038
 
    def make_boot_resource_file(self, resource_set, largefile, filename=None,
1039
 
                                filetype=None, extra=None):
 
1103
    make_boot_resource_set = make_BootResourceSet  # DEPRECATED
 
1104
 
 
1105
    def make_BootResourceFile(self, resource_set, largefile, filename=None,
 
1106
                              filetype=None, extra=None):
1040
1107
        if filename is None:
1041
1108
            filename = self.make_name('name')
1042
1109
        if filetype is None:
1050
1117
            resource_set=resource_set, largefile=largefile, filename=filename,
1051
1118
            filetype=filetype, extra=extra)
1052
1119
 
 
1120
    make_boot_resource_file = make_BootResourceFile  # DEPRECATED
 
1121
 
1053
1122
    def make_boot_resource_file_with_content(
1054
1123
            self, resource_set, filename=None, filetype=None, extra=None,
1055
1124
            content=None, size=512):
1056
 
        largefile = self.make_large_file(content=content, size=size)
1057
 
        return self.make_boot_resource_file(
 
1125
        largefile = self.make_LargeFile(content=content, size=size)
 
1126
        return self.make_BootResourceFile(
1058
1127
            resource_set, largefile, filename=filename, filetype=filetype,
1059
1128
            extra=extra)
1060
1129
 
1061
1130
    def make_usable_boot_resource(
1062
1131
            self, rtype=None, name=None, architecture=None,
1063
1132
            extra=None, version=None, label=None):
1064
 
        resource = self.make_boot_resource(
 
1133
        resource = self.make_BootResource(
1065
1134
            rtype=rtype, name=name, architecture=architecture, extra=extra)
1066
 
        resource_set = self.make_boot_resource_set(
 
1135
        resource_set = self.make_BootResourceSet(
1067
1136
            resource, version=version, label=label)
1068
1137
        filetypes = COMMISSIONABLE_SET.union(INSTALL_SET)
1069
1138
        filetypes.add(random.choice(XINSTALL_TYPES))