Revision 24d16f76 lib/server/masterd.py

b/lib/server/masterd.py
56 56
from ganeti import bootstrap
57 57
from ganeti import netutils
58 58
from ganeti import objects
59
from ganeti import query
59 60

  
60 61

  
61 62
CLIENT_REQUEST_WORKERS = 16
......
234 235
      if req.what in constants.QR_OP_QUERY:
235 236
        result = self._Query(opcodes.OpQuery(what=req.what, fields=req.fields,
236 237
                                             filter=req.filter))
238
      elif req.what == constants.QR_LOCK:
239
        if req.filter is not None:
240
          raise errors.OpPrereqError("Lock queries can't be filtered")
241
        return self.server.context.glm.QueryLocks(req.fields)
237 242
      elif req.what in constants.QR_OP_LUXI:
238 243
        raise NotImplementedError
239 244
      else:
......
248 253
      if req.what in constants.QR_OP_QUERY:
249 254
        result = self._Query(opcodes.OpQueryFields(what=req.what,
250 255
                                                   fields=req.fields))
256
      elif req.what == constants.QR_LOCK:
257
        return query.QueryFields(query.LOCK_FIELDS, req.fields)
251 258
      elif req.what in constants.QR_OP_LUXI:
252 259
        raise NotImplementedError
253 260
      else:
......
323 330
    elif method == luxi.REQ_QUERY_LOCKS:
324 331
      (fields, sync) = args
325 332
      logging.info("Received locks query request")
326
      return self.server.context.glm.QueryLocks(fields, sync)
333
      if sync:
334
        raise NotImplementedError("Synchronous queries are not implemented")
335
      return self.server.context.glm.OldStyleQueryLocks(fields)
327 336

  
328 337
    elif method == luxi.REQ_QUEUE_SET_DRAIN_FLAG:
329 338
      drain_flag = args

Also available in: Unified diff