Exemplo n.º 1
0
    def test_read_lists_pods(self):
        factory.make_BMC()
        pods = [factory.make_Pod() for _ in range(3)]
        response = self.client.get(reverse("pods_handler"))
        parsed_result = json_load_bytes(response.content)

        self.assertEqual(http.client.OK, response.status_code)
        self.assertItemsEqual([pod.id for pod in pods],
                              [pod.get("id") for pod in parsed_result])
 def test_machine_virtualmachine(self):
     machine = factory.make_Machine()
     vm = VirtualMachine.objects.create(
         identifier="vm1",
         bmc=factory.make_BMC(power_type="lxd"),
         machine=machine,
     )
     self.assertIs(machine.virtualmachine, vm)
 def test_instantiate_defaults(self):
     bmc = factory.make_BMC(power_type="lxd")
     vm = VirtualMachine(identifier="vm1", bmc=bmc)
     vm.save()
     self.assertEqual(vm.identifier, "vm1")
     self.assertIs(vm.bmc, bmc)
     self.assertEqual(vm.unpinned_cores, 0)
     self.assertEqual(vm.pinned_cores, [])
     self.assertEqual(vm.memory, 0)
     self.assertFalse(vm.hugepages_backed)
     self.assertIsNone(vm.machine)
Exemplo n.º 4
0
 def test_takes_over_bmc_with_pod(self):
     discovered_pod, _, _ = self.fake_pod_discovery()
     pod_info = self.make_pod_info()
     bmc = factory.make_BMC(
         power_type=pod_info['type'],
         power_parameters={
             'power_address': pod_info['power_address'],
             'power_pass': '',
         })
     form = PodForm(data=pod_info, request=self.request)
     self.assertTrue(form.is_valid(), form._errors)
     pod = form.save()
     self.assertEquals(bmc.id, pod.id)
     self.assertEquals(BMC_TYPE.POD, reload_object(bmc).bmc_type)
 def test_instantiate_extra_fields(self):
     memory = 1024 * random.randint(1, 256)
     machine = factory.make_Machine()
     hugepages_backed = factory.pick_bool()
     vm = VirtualMachine(
         identifier="vm1",
         bmc=factory.make_BMC(power_type="lxd"),
         memory=memory,
         machine=machine,
         hugepages_backed=hugepages_backed,
     )
     vm.save()
     self.assertEqual(vm.unpinned_cores, 0)
     self.assertEqual(vm.pinned_cores, [])
     self.assertEqual(vm.memory, memory)
     self.assertEqual(vm.hugepages_backed, hugepages_backed)
     self.assertIs(vm.machine, machine)
Exemplo n.º 6
0
 def test_takes_over_bmc_with_pod(self):
     discovered_pod, _, _ = self.fake_pod_discovery()
     zone = factory.make_Zone()
     pod_info = self.make_pod_info()
     pod_info['zone'] = zone.id
     bmc = factory.make_BMC(zone=zone,
                            tags=pod_info['tags'].split(','),
                            power_type=pod_info['type'],
                            power_parameters={
                                'power_address': pod_info['power_address'],
                                'power_pass': pod_info['power_pass'],
                            })
     request = MagicMock()
     request.user = factory.make_User()
     form = PodForm(data=pod_info, request=request)
     self.assertTrue(form.is_valid(), form._errors)
     pod = form.save()
     self.assertEquals(bmc.id, pod.id)
     self.assertEquals(BMC_TYPE.POD, reload_object(bmc).bmc_type)
Exemplo n.º 7
0
 def create_bmc(self, params=None):
     if params is None:
         params = {}
     return factory.make_BMC(**params)
Exemplo n.º 8
0
 def test_creates_hints_bmc_converted_to_pod(self):
     bmc = factory.make_BMC()
     bmc.bmc_type = BMC_TYPE.POD
     bmc.save()
     self.assertIsNotNone(bmc.hints)