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