Revision 9b4329e9
b/lib/ssconf.py | ||
---|---|---|
138 | 138 |
raise errors.ConfigurationError("Can't read ssconf file %s: %s" % |
139 | 139 |
(filename, str(err))) |
140 | 140 |
|
141 |
def ReadAll(self): |
|
142 |
"""Reads all keys and returns their values. |
|
143 |
|
|
144 |
@rtype: dict |
|
145 |
@return: Dictionary, ssconf key as key, value as value |
|
146 |
|
|
147 |
""" |
|
148 |
result = [] |
|
149 |
|
|
150 |
for key in _VALID_KEYS: |
|
151 |
try: |
|
152 |
value = self._ReadFile(key) |
|
153 |
except errors.ConfigurationError: |
|
154 |
# Ignore non-existing files |
|
155 |
pass |
|
156 |
else: |
|
157 |
result.append((key, value)) |
|
158 |
|
|
159 |
return dict(result) |
|
160 |
|
|
141 | 161 |
def WriteFiles(self, values, dry_run=False): |
142 | 162 |
"""Writes ssconf files used by external scripts. |
143 | 163 |
|
b/test/ganeti.ssconf_unittest.py | ||
---|---|---|
149 | 149 |
default="something.example.com"), |
150 | 150 |
"cluster.example.com") |
151 | 151 |
|
152 |
def testReadAllNoFiles(self): |
|
153 |
self.assertEqual(self.sstore.ReadAll(), {}) |
|
154 |
|
|
155 |
def testReadAllSingleFile(self): |
|
156 |
utils.WriteFile(self.sstore.KeyToFilename(constants.SS_CLUSTER_NAME), |
|
157 |
data="cluster.example.com") |
|
158 |
self.assertEqual(self.sstore.ReadAll(), { |
|
159 |
constants.SS_CLUSTER_NAME: "cluster.example.com", |
|
160 |
}) |
|
161 |
|
|
152 | 162 |
def testWriteFiles(self): |
153 | 163 |
values = { |
154 | 164 |
constants.SS_CLUSTER_NAME: "cluster.example.com", |
Also available in: Unified diff