def _create_fake_pci_devs(self): v1, v2 = self._get_fake_pci_devs() for i in v1, v2: i['compute_node_uuid'] = self.compute_node['uuid'] dbapi.update_pci_device(v1['compute_node_uuid'], v1['address'], v1) dbapi.update_pci_device(v2['compute_node_uuid'], v2['address'], v2) return (v1, v2)
def test_get_pci_device_by_container_uuid_check_status(self): v1, v2 = self._create_fake_pci_devs() v1['status'] = z_fields.PciDeviceStatus.ALLOCATED v2['status'] = z_fields.PciDeviceStatus.CLAIMED dbapi.update_pci_device(v1['compute_node_uuid'], v1['address'], v1) dbapi.update_pci_device(v2['compute_node_uuid'], v2['address'], v2) results = dbapi.get_all_pci_device_by_container_uuid( '00000000-0000-0000-0000-000000000010') self._assertEqualListsOfObjects(results, [v1], self.ignored_keys)
def save(self): if self.status == z_fields.PciDeviceStatus.REMOVED: self.status = z_fields.PciDeviceStatus.DELETED dbapi.destroy_pci_device(self.compute_node_uuid, self.address) elif self.status != z_fields.PciDeviceStatus.DELETED: updates = self.obj_get_changes() updates['extra_info'] = self.extra_info updates['extra_info'] = jsonutils.dumps(updates['extra_info']) if updates: dbapi.update_pci_device(self.compute_node_uuid, self.address, updates)
def test_update_pci_device(self): v1, v2 = self._create_fake_pci_devs() v1['status'] = z_fields.PciDeviceStatus.ALLOCATED dbapi.update_pci_device(v1['compute_node_uuid'], v1['address'], v1) result = dbapi.get_pci_device_by_addr(uuidsentinel.compute_node, '0000:0f:08.7') self._assertEqualObjects(v1, result, self.ignored_keys) v1['status'] = z_fields.PciDeviceStatus.CLAIMED dbapi.update_pci_device(v1['compute_node_uuid'], v1['address'], v1) result = dbapi.get_pci_device_by_addr(uuidsentinel.compute_node, '0000:0f:08.7') self._assertEqualObjects(v1, result, self.ignored_keys)