diff options
Diffstat (limited to 'cobbler/item_network.py')
-rw-r--r-- | cobbler/item_network.py | 8 |
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 |