Revision f6c5e64f lib/network.py
b/lib/network.py | ||
---|---|---|
26 | 26 |
import ipaddr |
27 | 27 |
|
28 | 28 |
from bitarray import bitarray |
29 |
from base64 import b64encode |
|
30 |
from base64 import b64decode |
|
29 | 31 |
|
30 | 32 |
from ganeti import errors |
31 | 33 |
|
... | ... | |
60 | 62 |
self.gateway6 = ipaddr.IPv6Address(self.net.gateway6) |
61 | 63 |
|
62 | 64 |
if self.net.reservations: |
63 |
self.reservations = bitarray(self.net.reservations) |
|
65 |
self.reservations = bitarray() |
|
66 |
self.reservations.fromstring(b64decode(self.net.reservations)) |
|
64 | 67 |
else: |
65 | 68 |
self.reservations = bitarray(self.network.numhosts) |
66 | 69 |
self.reservations.setall(False) |
67 | 70 |
|
68 | 71 |
if self.net.ext_reservations: |
69 |
self.ext_reservations = bitarray(self.net.ext_reservations) |
|
72 |
self.ext_reservations = bitarray() |
|
73 |
self.ext_reservations.fromstring(b64decode(self.net.ext_reservations)) |
|
70 | 74 |
else: |
71 | 75 |
self.ext_reservations = bitarray(self.network.numhosts) |
72 | 76 |
self.ext_reservations.setall(False) |
... | ... | |
92 | 96 |
|
93 | 97 |
def _Update(self): |
94 | 98 |
"""Write address pools back to the network object""" |
95 |
self.net.ext_reservations = self.ext_reservations.to01()
|
|
96 |
self.net.reservations = self.reservations.to01()
|
|
99 |
self.net.ext_reservations = b64encode(self.ext_reservations.tostring())
|
|
100 |
self.net.reservations = b64encode(self.reservations.tostring())
|
|
97 | 101 |
|
98 | 102 |
def _Mark(self, address, value=True, external=False): |
99 | 103 |
idx = self._GetAddrIndex(address) |
Also available in: Unified diff