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