Revision 11e90588 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

  
......
92 94
      self.gateway6 = ipaddr.IPv6Address(self.net.gateway6)
93 95

  
94 96
    if self.net.reservations:
95
      self.reservations = bitarray(self.net.reservations)
97
      self.reservations = bitarray()
98
      # pylint: disable=E1103
99
      self.reservations.frombytes(b64decode(self.net.reservations))
96 100
    else:
97 101
      self.reservations = bitarray(self.network.numhosts)
98 102
      # pylint: disable=E1103
99 103
      self.reservations.setall(False)
100 104

  
101 105
    if self.net.ext_reservations:
102
      self.ext_reservations = bitarray(self.net.ext_reservations)
106
      self.ext_reservations = bitarray()
107
      # pylint: disable=E1103
108
      self.ext_reservations.frombytes(b64decode(self.net.ext_reservations))
103 109
    else:
104 110
      self.ext_reservations = bitarray(self.network.numhosts)
105 111
      # pylint: disable=E1103
......
129 135

  
130 136
    """
131 137
    # pylint: disable=E1103
132
    self.net.ext_reservations = self.ext_reservations.to01()
133
    self.net.reservations = self.reservations.to01()
138
    self.net.ext_reservations = b64encode(self.ext_reservations.tobytes())
139
    self.net.reservations = b64encode(self.reservations.tobytes())
134 140

  
135 141
  def _Mark(self, address, value=True, external=False):
136 142
    idx = self._GetAddrIndex(address)

Also available in: Unified diff