Revision ea54a0b9

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

  
......
64 66
      self.gateway6 = ipaddr.IPv6Address(self.net.gateway6)
65 67

  
66 68
    if self.net.reservations:
67
      self.reservations = bitarray(self.net.reservations)
69
      self.reservations = bitarray()
70
      self.reservations.frombytes(b64decode(self.net.reservations))
68 71
    else:
69 72
      self.reservations = bitarray(self.network.numhosts)
70 73
      # pylint: disable=E1103
71 74
      self.reservations.setall(False)
72 75

  
73 76
    if self.net.ext_reservations:
74
      self.ext_reservations = bitarray(self.net.ext_reservations)
77
      self.ext_reservations = bitarray()
78
      self.ext_reservations.frombytes(b64decode(self.net.ext_reservations))
75 79
    else:
76 80
      self.ext_reservations = bitarray(self.network.numhosts)
77 81
      # pylint: disable=E1103
......
101 105

  
102 106
    """
103 107
    # pylint: disable=E1103
104
    self.net.ext_reservations = self.ext_reservations.to01()
105
    self.net.reservations = self.reservations.to01()
108
    self.net.ext_reservations = b64encode(self.ext_reservations.tobytes())
109
    self.net.reservations = b64encode(self.reservations.tobytes())
106 110

  
107 111
  def _Mark(self, address, value=True, external=False):
108 112
    idx = self._GetAddrIndex(address)

Also available in: Unified diff