Revision e60c73a1 lib/config.py

b/lib/config.py
48 48
from ganeti import serializer
49 49
from ganeti import uidpool
50 50
from ganeti import netutils
51
from ganeti import runtime
51 52

  
52 53

  
53 54
_config_lock = locking.SharedLock("ConfigWriter")
......
134 135
  @ivar _all_rms: a list of all temporary reservation managers
135 136

  
136 137
  """
137
  def __init__(self, cfg_file=None, offline=False):
138
  def __init__(self, cfg_file=None, offline=False, _getents=runtime.GetEnts):
138 139
    self.write_count = 0
139 140
    self._lock = _config_lock
140 141
    self._config_data = None
......
143 144
      self._cfg_file = constants.CLUSTER_CONF_FILE
144 145
    else:
145 146
      self._cfg_file = cfg_file
147
    self._getents = _getents
146 148
    self._temporary_ids = TemporaryReservationManager()
147 149
    self._temporary_drbds = {}
148 150
    self._temporary_macs = TemporaryReservationManager()
......
1342 1344
    self._BumpSerialNo()
1343 1345
    txt = serializer.Dump(self._config_data.ToDict())
1344 1346

  
1345
    utils.WriteFile(destination, data=txt)
1347
    getents = self._getents()
1348
    utils.WriteFile(destination, data=txt, gid=getents.confd_gid, mode=0640)
1346 1349

  
1347 1350
    self.write_count += 1
1348 1351

  

Also available in: Unified diff