Revision a1d3bc8a snf-cyclades-app/synnefo/db/pools/__init__.py
b/snf-cyclades-app/synnefo/db/pools/__init__.py | ||
---|---|---|
268 | 268 |
|
269 | 269 |
class IPPool(PoolManager): |
270 | 270 |
def __init__(self, pool_table): |
271 |
do_init = False if pool_table.available_map else True |
|
272 | 271 |
subnet = pool_table.subnet |
273 | 272 |
self.net = ipaddr.IPNetwork(subnet.cidr) |
273 |
if pool_table.base is None: |
|
274 |
self.base = pool_table.subnet.cidr |
|
275 |
else: |
|
276 |
self.base = pool_table.base |
|
277 |
if pool_table.offset is None: |
|
278 |
self.offset = 0 |
|
279 |
else: |
|
280 |
self.offset = pool_table.offset |
|
274 | 281 |
super(IPPool, self).__init__(pool_table) |
275 |
if do_init: |
|
276 |
self._reserve(0, external=True) |
|
277 |
if gateway: |
|
278 |
self.reserve(gateway, external=True) |
|
279 |
self._reserve(self.pool_size - 1, external=True) |
|
280 | 282 |
|
281 | 283 |
def value_to_index(self, value): |
282 | 284 |
addr = ipaddr.IPAddress(value) |
Also available in: Unified diff