Skip to content
Snippets Groups Projects
Commit f6c5e64f authored by Dimitris Aragiorgis's avatar Dimitris Aragiorgis
Browse files

Use base64 format in network reservations slots


Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
parent c54ec0dc
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,8 @@
import ipaddr
from bitarray import bitarray
from base64 import b64encode
from base64 import b64decode
from ganeti import errors
......@@ -60,13 +62,15 @@ class AddressPool(object):
self.gateway6 = ipaddr.IPv6Address(self.net.gateway6)
if self.net.reservations:
self.reservations = bitarray(self.net.reservations)
self.reservations = bitarray()
self.reservations.fromstring(b64decode(self.net.reservations))
else:
self.reservations = bitarray(self.network.numhosts)
self.reservations.setall(False)
if self.net.ext_reservations:
self.ext_reservations = bitarray(self.net.ext_reservations)
self.ext_reservations = bitarray()
self.ext_reservations.fromstring(b64decode(self.net.ext_reservations))
else:
self.ext_reservations = bitarray(self.network.numhosts)
self.ext_reservations.setall(False)
......@@ -92,8 +96,8 @@ class AddressPool(object):
def _Update(self):
"""Write address pools back to the network object"""
self.net.ext_reservations = self.ext_reservations.to01()
self.net.reservations = self.reservations.to01()
self.net.ext_reservations = b64encode(self.ext_reservations.tostring())
self.net.reservations = b64encode(self.reservations.tostring())
def _Mark(self, address, value=True, external=False):
idx = self._GetAddrIndex(address)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment