summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cobbler/item_network.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/cobbler/item_network.py b/cobbler/item_network.py
index 1c180891..cac23ce1 100644
--- a/cobbler/item_network.py
+++ b/cobbler/item_network.py
@@ -179,6 +179,7 @@ class Network(item.Item):
for k,v in self.used_addresses.iteritems():
if v == addr:
del(self.used_addresses[k])
+ return
def _allocate_address(self, system, intf, addr):
"""
@@ -205,7 +206,7 @@ class Network(item.Item):
break
return cidr_list
- def _compact(self, cidr_list):
+ def _compact(self, cidr_list, sort_first=True):
"""
Compacts a list of CIDR objects down to a minimal-length list L
such that the set of IP addresses contained in L is the same as
@@ -219,6 +220,9 @@ class Network(item.Item):
if len(cidr_list) <= 1:
return cidr_list
+ if sort_first:
+ cidr_list.sort()
+
did_compact = False
skip_next = False
compacted = []
@@ -239,7 +243,7 @@ class Network(item.Item):
skip_next = True
if did_compact:
- return compact(compacted)
+ return compact(compacted, sort_first=False)
else:
return cidr_list