Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)