Beispiel #1
0
 def test_machine_fromdict(self):
     hostname = factory.make_name("hostname")
     cores = random.randint(1, 8)
     cpu_speed = random.randint(1000, 2000)
     memory = random.randint(4096, 8192)
     interfaces = [dict() for _ in range(3)]
     block_devices = [
         dict(
             size=random.randint(512, 1024),
             tags=[factory.make_name("tag") for _ in range(3)],
         ) for _ in range(3)
     ]
     pinned_cores = random.sample(range(10), 3)
     hugepages_backed = factory.pick_bool()
     machine_data = dict(
         hostname=hostname,
         architecture="amd64/generic",
         cores=cores,
         cpu_speed=cpu_speed,
         pinned_cores=pinned_cores,
         hugepages_backed=hugepages_backed,
         memory=memory,
         interfaces=interfaces,
         block_devices=block_devices,
     )
     machine = RequestedMachine.fromdict(machine_data)
     self.assertThat(machine, IsInstance(RequestedMachine))
     self.assertThat(
         machine,
         MatchesStructure(
             hostname=Equals(hostname),
             architecture=Equals("amd64/generic"),
             cores=Equals(cores),
             cpu_speed=Equals(cpu_speed),
             memory=Equals(memory),
             pinned_cores=Equals(pinned_cores),
             hugepages_backed=Equals(hugepages_backed),
             interfaces=MatchesListwise([
                 IsInstance(RequestedMachineInterface)
                 for interface in interfaces
             ]),
             block_devices=MatchesListwise([
                 MatchesAll(
                     IsInstance(RequestedMachineBlockDevice),
                     MatchesStructure(
                         size=Equals(block_device["size"]),
                         tags=Equals(block_device["tags"]),
                     ),
                 ) for block_device in block_devices
             ]),
         ),
     )
Beispiel #2
0
 def test_machine_fromdict(self):
     hostname = factory.make_name('hostname')
     cores = random.randint(1, 8)
     cpu_speed = random.randint(1000, 2000)
     memory = random.randint(4096, 8192)
     interfaces = [
         dict()
         for _ in range(3)
     ]
     block_devices = [
         dict(size=random.randint(512, 1024), tags=[
             factory.make_name('tag')
             for _ in range(3)
         ])
         for _ in range(3)
     ]
     machine_data = dict(
         hostname=hostname, architecture='amd64/generic',
         cores=cores, cpu_speed=cpu_speed, memory=memory,
         interfaces=interfaces, block_devices=block_devices)
     machine = RequestedMachine.fromdict(machine_data)
     self.assertThat(machine, IsInstance(RequestedMachine))
     self.assertThat(machine, MatchesStructure(
         hostname=Equals(hostname),
         architecture=Equals('amd64/generic'),
         cores=Equals(cores),
         cpu_speed=Equals(cpu_speed),
         memory=Equals(memory),
         interfaces=MatchesListwise([
             IsInstance(RequestedMachineInterface)
             for interface in interfaces
         ]),
         block_devices=MatchesListwise([
             MatchesAll(
                 IsInstance(RequestedMachineBlockDevice),
                 MatchesStructure(
                     size=Equals(block_device['size']),
                     tags=Equals(block_device['tags']),
                 ),
             )
             for block_device in block_devices
         ]),
     ))
Beispiel #3
0
    def fromString(self, inString):
        # Circular imports.
        from provisioningserver.drivers.pod import RequestedMachine

        data = super(AmpRequestedMachine, self).fromString(inString)
        return RequestedMachine.fromdict(data)