Revision c1391810

b/lib/cmdlib.py
496 496
    # Return expanded names
497 497
    return self.wanted
498 498

  
499
  @classmethod
500
  def FieldsQuery(cls, fields):
501
    """Returns list of available fields.
502

  
503
    @return: List of L{objects.QueryFieldDefinition}
504

  
505
    """
506
    return query.QueryFields(cls.FIELDS, fields)
507

  
508 499
  def ExpandNames(self, lu):
509 500
    """Expand names for this query.
510 501

  
......
4044 4035
    self.needed_locks = {}
4045 4036

  
4046 4037
  def Exec(self, feedback_fn):
4047
    return self.qcls.FieldsQuery(self.op.fields)
4038
    return query.QueryFields(self.qcls.FIELDS, self.op.fields)
4048 4039

  
4049 4040

  
4050 4041
class LUNodeModifyStorage(NoHooksLU):
b/lib/server/masterd.py
250 250
    elif method == luxi.REQ_QUERY_FIELDS:
251 251
      req = objects.QueryFieldsRequest.FromDict(args)
252 252

  
253
      if req.what in constants.QR_VIA_OP:
254
        result = self._Query(opcodes.OpQueryFields(what=req.what,
255
                                                   fields=req.fields))
256
      elif req.what == constants.QR_LOCK:
257
        return query.QueryFields(query.LOCK_FIELDS, req.fields)
258
      elif req.what in constants.QR_VIA_LUXI:
259
        raise NotImplementedError
260
      else:
253
      try:
254
        fielddefs = query.ALL_FIELDS[req.what]
255
      except KeyError:
261 256
        raise errors.OpPrereqError("Resource type '%s' unknown" % req.what,
262 257
                                   errors.ECODE_INVAL)
263 258

  
264
      return result
259
      return query.QueryFields(fielddefs, req.fields)
265 260

  
266 261
    elif method == luxi.REQ_QUERY_JOBS:
267 262
      (job_ids, fields) = args

Also available in: Unified diff