From 6b86a3b8407562ee7ca0cd97fdc06fd83d9d6232 Mon Sep 17 00:00:00 2001 From: rajarammallya Date: Fri, 20 Jan 2012 18:06:13 +0530 Subject: [PATCH] fixes bug 919055 allowing interfaces to be retrieved without device id Change-Id: Ief7c881d55094f65f874c902c0b3ab394abf5f31 --- melange/ipam/models.py | 1 - melange/tests/unit/test_ipam_models.py | 16 +++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/melange/ipam/models.py b/melange/ipam/models.py index 298bd877..ffc9a6ca 100644 --- a/melange/ipam/models.py +++ b/melange/ipam/models.py @@ -779,7 +779,6 @@ class Interface(ModelBase): def find_or_configure(cls, virtual_interface_id=None, device_id=None, tenant_id=None, mac_address=None): interface = Interface.get_by(virtual_interface_id=virtual_interface_id, - device_id=device_id, tenant_id=tenant_id) if interface: return interface diff --git a/melange/tests/unit/test_ipam_models.py b/melange/tests/unit/test_ipam_models.py index 92fc83f2..991a5c2b 100644 --- a/melange/tests/unit/test_ipam_models.py +++ b/melange/tests/unit/test_ipam_models.py @@ -2176,15 +2176,17 @@ class TestInterface(tests.BaseTest): self.assertEqual(existing_interface, interface_found) - def test_find_or_configure_fails_if_vif_exists_for_another_device(self): + def test_find_or_configure_finds_without_device_id(self): existing_interface = factory_models.InterfaceFactory( - virtual_interface_id="vif", device_id="device1", tenant_id="tnt") + virtual_interface_id="11234", + device_id="huge_instance", + tenant_id="tnt") - self.assertRaises(models.InvalidModelError, - models.Interface.find_or_configure, - virtual_interface_id="vif", - device_id="device2", - tenant_id="tnt") + interface_found = models.Interface.find_or_configure( + virtual_interface_id="11234", + tenant_id="tnt") + + self.assertEqual(existing_interface, interface_found) def test_find_or_configure_fails_if_vif_exists_for_another_tenant(self): existing_interface = factory_models.InterfaceFactory(