summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-03 22:33:21 +0000
committerGerrit Code Review <review@openstack.org>2016-08-03 22:33:21 +0000
commit6acd4310338b0d307d4b5f81b767992fdf8ba27e (patch)
tree5239f7bf8b2639024c1fa56718b4ddb07eb94a8e
parentb5d9af919d595bc80cdd2d2cf1ed3dbadd6fcc10 (diff)
parentcf94540c702ff76ceb83e80580c86fa2c85b37c8 (diff)
downloadnova-6acd4310338b0d307d4b5f81b767992fdf8ba27e.tar.gz
Merge "pci: add safe-guard to __eq__ of PciDevice" into stable/mitaka
-rw-r--r--nova/objects/pci_device.py2
-rw-r--r--nova/tests/unit/objects/test_pci_device.py7
2 files changed, 9 insertions, 0 deletions
diff --git a/nova/objects/pci_device.py b/nova/objects/pci_device.py
index 5dbc949be0..1a12d13780 100644
--- a/nova/objects/pci_device.py
+++ b/nova/objects/pci_device.py
@@ -30,6 +30,8 @@ LOG = logging.getLogger(__name__)
def compare_pci_device_attributes(obj_a, obj_b):
+ if not isinstance(obj_b, PciDevice):
+ return False
pci_ignore_fields = base.NovaPersistentObject.fields.keys()
for name in obj_a.obj_fields:
if name in pci_ignore_fields:
diff --git a/nova/tests/unit/objects/test_pci_device.py b/nova/tests/unit/objects/test_pci_device.py
index ea07e86613..f4aa442e6a 100644
--- a/nova/tests/unit/objects/test_pci_device.py
+++ b/nova/tests/unit/objects/test_pci_device.py
@@ -346,6 +346,13 @@ class _TestPciDeviceObject(object):
pci_device2.instance_uuid = None
self.assertNotEqual(pci_device1, pci_device2)
+ def test_pci_device_not_equivalent_with_not_pci_device(self):
+ pci_device1 = pci_device.PciDevice.create(None, dev_dict)
+ self.assertNotEqual(pci_device1, None)
+ self.assertNotEqual(pci_device1, 'foo')
+ self.assertNotEqual(pci_device1, 1)
+ self.assertNotEqual(pci_device1, objects.PciDeviceList())
+
def test_claim_device(self):
self._create_fake_instance()
devobj = pci_device.PciDevice.create(None, dev_dict)