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)
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)
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)
def create_bmc(self, params=None): if params is None: params = {} return factory.make_BMC(**params)
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)