Revision a33848a5
b/lib/bootstrap.py | ||
---|---|---|
37 | 37 |
from ganeti import constants |
38 | 38 |
from ganeti import objects |
39 | 39 |
from ganeti import ssconf |
40 |
from ganeti import serializer |
|
40 | 41 |
from ganeti import hypervisor |
41 | 42 |
|
42 | 43 |
|
... | ... | |
292 | 293 |
@type cfg_file: string |
293 | 294 |
@param cfg_file: configuration file path |
294 | 295 |
|
295 |
@rtype: L{ssconf.SimpleConfigWriter} |
|
296 |
@return: initialized config instance |
|
297 |
|
|
298 | 296 |
""" |
299 | 297 |
nodes = { |
300 | 298 |
master_node_config.name: master_node_config, |
... | ... | |
305 | 303 |
nodes=nodes, |
306 | 304 |
instances={}, |
307 | 305 |
serial_no=1) |
308 |
cfg = ssconf.SimpleConfigWriter.FromDict(config_data.ToDict(), cfg_file) |
|
309 |
cfg.Save() |
|
310 |
|
|
311 |
return cfg |
|
306 |
utils.WriteFile(cfg_file, |
|
307 |
data=serializer.Dump(config_data.ToDict()), |
|
308 |
mode=0600) |
|
312 | 309 |
|
313 | 310 |
|
314 | 311 |
def FinalizeClusterDestroy(master): |
b/lib/ssconf.py | ||
---|---|---|
79 | 79 |
def GetNodeList(self): |
80 | 80 |
return self._config_data["nodes"].keys() |
81 | 81 |
|
82 |
@classmethod |
|
83 |
def FromDict(cls, val, cfg_file=constants.CLUSTER_CONF_FILE): |
|
84 |
"""Alternative construction from a dictionary. |
|
85 |
|
|
86 |
""" |
|
87 |
obj = SimpleConfigReader.__new__(cls) |
|
88 |
obj._config_data = val |
|
89 |
obj._file_name = cfg_file |
|
90 |
return obj |
|
91 |
|
|
92 |
|
|
93 |
class SimpleConfigWriter(SimpleConfigReader): |
|
94 |
"""Simple class to write configuration file. |
|
95 |
|
|
96 |
""" |
|
97 |
def Save(self): |
|
98 |
"""Writes configuration file. |
|
99 |
|
|
100 |
Warning: Doesn't take care of locking or synchronizing with other |
|
101 |
processes. |
|
102 |
|
|
103 |
""" |
|
104 |
utils.WriteFile(self._file_name, |
|
105 |
data=serializer.Dump(self._config_data), |
|
106 |
mode=0600) |
|
107 |
|
|
108 | 82 |
|
109 | 83 |
class SimpleStore(object): |
110 | 84 |
"""Interface to static cluster data. |
Also available in: Unified diff