diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-10-20 17:13:06 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-10-20 17:13:06 +0000 |
commit | 2c8c01d4b22d05c8026ac57fd36c03c6c2035916 (patch) | |
tree | f0a39736ff8e7d14937eae1a2a94ae02e14b3b10 | |
parent | d7145141f5dd64d27a2f0fa5044b65c0e3e23a51 (diff) | |
parent | 648063881ebfbb54a362ef32d58263fc0f20981c (diff) | |
download | neutron-2c8c01d4b22d05c8026ac57fd36c03c6c2035916.tar.gz |
Merge "Compare subnet length as well when deleting DHCP entry"
-rw-r--r-- | neutron/plugins/midonet/midonet_lib.py | 3 | ||||
-rw-r--r-- | neutron/tests/unit/midonet/test_midonet_lib.py | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/neutron/plugins/midonet/midonet_lib.py b/neutron/plugins/midonet/midonet_lib.py index a733eb0574..60dac24250 100644 --- a/neutron/plugins/midonet/midonet_lib.py +++ b/neutron/plugins/midonet/midonet_lib.py @@ -212,7 +212,8 @@ class MidoClient: raise MidonetApiException( msg=_("Tried to delete non-existent DHCP")) for dhcp in dhcp_subnets: - if dhcp.get_subnet_prefix() == net_addr: + if (dhcp.get_subnet_prefix() == net_addr and + dhcp.get_subnet_length() == str(net_len)): dhcp.delete() break diff --git a/neutron/tests/unit/midonet/test_midonet_lib.py b/neutron/tests/unit/midonet/test_midonet_lib.py index 9f456a8709..b581493ea5 100644 --- a/neutron/tests/unit/midonet/test_midonet_lib.py +++ b/neutron/tests/unit/midonet/test_midonet_lib.py @@ -92,14 +92,18 @@ class MidoClientTestCase(testtools.TestCase): def test_delete_dhcp(self): bridge = mock.Mock() - subnet = mock.Mock() - subnet.get_subnet_prefix.return_value = "10.0.0.0" - subnets = mock.MagicMock(return_value=[subnet]) + subnet1 = mock.Mock() + subnet1.get_subnet_prefix.return_value = "10.0.0.0" + subnet1.get_subnet_length.return_value = "16" + subnet2 = mock.Mock() + subnet2.get_subnet_prefix.return_value = "10.0.0.0" + subnet2.get_subnet_length.return_value = "24" + subnets = mock.MagicMock(return_value=[subnet1, subnet2]) bridge.get_dhcp_subnets.side_effect = subnets self.client.delete_dhcp(bridge, "10.0.0.0/24") bridge.assert_has_calls(mock.call.get_dhcp_subnets) - subnet.assert_has_calls([mock.call.get_subnet_prefix(), - mock.call.delete()]) + self.assertFalse(subnet1.delete.called) + subnet2.delete.assert_called_once_with() def test_add_dhcp_host(self): |