pci passthrough fails while trying to decode extra_info
pci device with empty extra_info should use null dict instead of None. keep the init of extra_info to make db could access it. Closes-Bug: #1223559 Change-Id: I2e57eb53dfd4f5168d52dc94c2057fc575458aee Signed-off-by: Yongli He <yongli.he@intel.com>
This commit is contained in:
@@ -88,7 +88,7 @@ class _TestPciDeviceObject(object):
|
||||
self.assertEqual(self.pci_device.product_id, 'p')
|
||||
self.assertEqual(self.pci_device.obj_what_changed(),
|
||||
set(['compute_node_id', 'product_id', 'vendor_id',
|
||||
'status', 'address']))
|
||||
'status', 'address', 'extra_info']))
|
||||
|
||||
def test_pci_device_extra_info(self):
|
||||
self.dev_dict = copy.copy(dev_dict)
|
||||
@@ -242,6 +242,20 @@ class _TestPciDeviceObject(object):
|
||||
'fake-uuid-3')
|
||||
self.assertRemotes()
|
||||
|
||||
def test_save_no_extra_info(self):
|
||||
return_dev = dict(fake_db_dev, status='available',
|
||||
instance_uuid='fake-uuid-3')
|
||||
|
||||
def _fake_update(ctxt, node_id, addr, updates):
|
||||
self.extra_info = updates.get('extra_info')
|
||||
return return_dev
|
||||
|
||||
ctxt = context.get_admin_context()
|
||||
self.stubs.Set(db, 'pci_device_update', _fake_update)
|
||||
self.pci_device = pci_device.PciDevice.create(dev_dict)
|
||||
self.pci_device.save(ctxt)
|
||||
self.assertEqual(self.extra_info, '{}')
|
||||
|
||||
def test_save_removed(self):
|
||||
ctxt = context.get_admin_context()
|
||||
self._create_fake_pci_device()
|
||||
|
||||
Reference in New Issue
Block a user