Exemplo n.º 1
0
 def test_returns_kpackage(self):
     resource = factory.make_BootResource(
         name="ubuntu/trusty",
         architecture="amd64/hwe-t",
         rtype=BOOT_RESOURCE_TYPE.SYNCED,
     )
     resource_set = factory.make_BootResourceSet(resource)
     factory.make_boot_resource_file_with_content(
         resource_set,
         filename="boot-kernel",
         filetype="boot-kernel",
         extra={
             "kpackage": "linux-image-generic-lts-trusty",
             "kparams": "a=b",
         },
     )
     node = factory.make_Node(
         interface=True,
         power_type="manual",
         osystem="ubuntu",
         distro_series="trusty",
         architecture="amd64/generic",
         hwe_kernel="hwe-t",
     )
     self.assertEqual(
         "a=b", BootResource.objects.get_kparams_for_node(node)
     )
Exemplo n.º 2
0
 def test_xinstallable_returns_true_when_filetype_present(self):
     resource = factory.make_BootResource()
     resource_set = factory.make_BootResourceSet(resource)
     filetype = random.choice(XINSTALL_TYPES)
     factory.make_boot_resource_file_with_content(
         resource_set, filename=filetype, filetype=filetype)
     self.assertTrue(resource_set.xinstallable)
Exemplo n.º 3
0
 def make_all_boot_resource_files(self, resource_set, filetypes):
     for filetype in filetypes:
         # We set the filename to the same value as filetype, as in most
         # cases this will always be true. The simplestreams content from
         # maas.io, is formatted this way.
         factory.make_boot_resource_file_with_content(
             resource_set, filename=filetype, filetype=filetype)
Exemplo n.º 4
0
 def test_xinstallable_returns_false_when_missing_filetypes(self):
     resource = factory.make_BootResource()
     resource_set = factory.make_BootResourceSet(resource)
     filetype = random.choice([
         BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL,
         BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD,
         BOOT_RESOURCE_FILE_TYPE.SQUASHFS_IMAGE,
         BOOT_RESOURCE_FILE_TYPE.ROOT_IMAGE,
     ])
     factory.make_boot_resource_file_with_content(
         resource_set, filename=filetype, filetype=filetype)
     self.assertFalse(resource_set.xinstallable)
Exemplo n.º 5
0
 def test_complete_returns_true_for_complete_files(self):
     resource = factory.make_BootResource()
     resource_set = factory.make_BootResourceSet(resource)
     types = [
         BOOT_RESOURCE_FILE_TYPE.ROOT_IMAGE,
         BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL,
         BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD,
         ]
     for _ in range(3):
         filetype = types.pop()
         factory.make_boot_resource_file_with_content(
             resource_set, filename=filetype, filetype=filetype)
     self.assertTrue(resource_set.complete)
Exemplo n.º 6
0
    def test_get_filenames_finds_subarch_when_generic(self):
        release = factory.make_default_ubuntu_release_bootable()
        arch = release.architecture.split('/')[0]
        osystem, series = release.name.split('/')
        boot_resource_set = release.get_latest_complete_set()
        factory.make_boot_resource_file_with_content(
            boot_resource_set, filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_DTB)

        kernel, initrd, boot_dbt = get_boot_filenames(arch, 'generic', osystem,
                                                      series)

        self.assertEquals(
            boot_resource_set.files.get(
                filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL).filename, kernel)
        self.assertEquals(
            boot_resource_set.files.get(
                filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD).filename, initrd)
        self.assertEquals(
            boot_resource_set.files.get(
                filetype=BOOT_RESOURCE_FILE_TYPE.BOOT_DTB).filename, boot_dbt)
Exemplo n.º 7
0
 def test_complete_returns_false_for_one_incomplete_file(self):
     resource = factory.make_BootResource()
     resource_set = factory.make_BootResourceSet(resource)
     types = [
         BOOT_RESOURCE_FILE_TYPE.ROOT_IMAGE,
         BOOT_RESOURCE_FILE_TYPE.BOOT_KERNEL,
         BOOT_RESOURCE_FILE_TYPE.BOOT_INITRD,
         ]
     for _ in range(2):
         filetype = types.pop()
         factory.make_boot_resource_file_with_content(
             resource_set, filename=filetype, filetype=filetype)
     size = random.randint(512, 1024)
     total_size = random.randint(1025, 2048)
     filetype = types.pop()
     content = factory.make_bytes(size=size)
     largefile = factory.make_LargeFile(content=content, size=total_size)
     factory.make_BootResourceFile(
         resource_set, largefile, filename=filetype, filetype=filetype)
     self.assertFalse(resource_set.complete)