diff --git a/neutron/services/segments/plugin.py b/neutron/services/segments/plugin.py index 68aef08b188..cd0d8dbaef1 100644 --- a/neutron/services/segments/plugin.py +++ b/neutron/services/segments/plugin.py @@ -236,10 +236,10 @@ class NovaSegmentNotifier(object): total += int(netaddr.IPAddress(pool['end']) - netaddr.IPAddress(pool['start'])) + 1 if total: - if subnet['gateway_ip']: + if subnet.get('gateway_ip'): total += 1 reserved += 1 - if subnet['enable_dhcp']: + if subnet.get('enable_dhcp'): reserved += 1 return total, reserved diff --git a/neutron/tests/unit/extensions/test_segment.py b/neutron/tests/unit/extensions/test_segment.py index bcf8b3cd21a..27157df4e6c 100644 --- a/neutron/tests/unit/extensions/test_segment.py +++ b/neutron/tests/unit/extensions/test_segment.py @@ -1545,10 +1545,10 @@ class TestNovaSegmentNotifier(SegmentAwareIpamTestCase): total += int(netaddr.IPAddress(pool['end']) - netaddr.IPAddress(pool['start'])) + 1 if total: - if subnet['gateway_ip']: + if subnet.get('gateway_ip'): total += 1 reserved += 1 - if subnet['enable_dhcp']: + if subnet.get('enable_dhcp'): reserved += 1 return total, reserved