Revision a9532fb0

b/lib/cmdlib/query.py
31 31
from ganeti.cmdlib.instance_query import InstanceQuery
32 32
from ganeti.cmdlib.misc import ExtStorageQuery
33 33
from ganeti.cmdlib.network import NetworkQuery
34
from ganeti.cmdlib.node import NodeQuery
35 34
from ganeti.cmdlib.operating_system import OsQuery
36 35

  
37 36

  
......
39 38
_QUERY_IMPL = {
40 39
  constants.QR_CLUSTER: ClusterQuery,
41 40
  constants.QR_INSTANCE: InstanceQuery,
42
  constants.QR_NODE: NodeQuery,
43 41
  constants.QR_GROUP: GroupQuery,
44 42
  constants.QR_NETWORK: NetworkQuery,
45 43
  constants.QR_OS: OsQuery,
b/lib/ht.py
581 581
TRebootType = TElemOf(constants.REBOOT_TYPES)
582 582
TFileDriver = TElemOf(constants.FILE_DRIVER)
583 583
TOobCommand = TElemOf(constants.OOB_COMMANDS)
584
TQueryTypeOp = TElemOf(constants.QR_VIA_OP)
584
# FIXME: adjust this after all queries are in haskell
585
TQueryTypeOp = TElemOf(set(constants.QR_VIA_OP)
586
                       .union(set(constants.QR_VIA_LUXI)))
585 587

  
586 588
TDiskParams = \
587 589
    Comment("Disk parameters")(TDictOf(TNonEmptyString,
b/lib/server/masterd.py
361 361
      elif what == constants.QR_JOB:
362 362
        return queue.QueryJobs(fields, qfilter)
363 363
      elif what in constants.QR_VIA_LUXI:
364
        raise NotImplementedError
364
        luxi_client = runtime.GetClient(query=True)
365
        result = luxi_client.Query(what, fields, qfilter).ToDict()
365 366
      else:
366 367
        raise errors.OpPrereqError("Resource type '%s' unknown" % what,
367 368
                                   errors.ECODE_INVAL)
b/src/Ganeti/Constants.hs
3338 3338
qrViaOp =
3339 3339
  ConstantUtils.mkSet [qrCluster,
3340 3340
                       qrInstance,
3341
                       qrNode,
3342 3341
                       qrGroup,
3343 3342
                       qrOs,
3344 3343
                       qrExport,
......
3347 3346

  
3348 3347
-- | List of resources which can be queried using Local UniX Interface
3349 3348
qrViaLuxi :: FrozenSet String
3350
qrViaLuxi = ConstantUtils.mkSet [qrLock, qrJob]
3349
qrViaLuxi = ConstantUtils.mkSet [qrLock, qrJob, qrNode]
3351 3350

  
3352 3351
-- | List of resources which can be queried using RAPI
3353 3352
qrViaRapi :: FrozenSet String
3354
qrViaRapi = qrViaLuxi
3353
qrViaRapi = ConstantUtils.mkSet [qrLock, qrJob]
3355 3354

  
3356 3355
-- * Query field types
3357 3356

  
b/test/py/cmdlib/cmdlib_unittest.py
23 23

  
24 24

  
25 25
import unittest
26
import operator
27 26
import itertools
28 27
import copy
29 28

  
......
31 30
from ganeti import mcpu
32 31
from ganeti import cmdlib
33 32
from ganeti.cmdlib import cluster
34
from ganeti.cmdlib import instance
35 33
from ganeti.cmdlib import instance_storage
36 34
from ganeti.cmdlib import instance_utils
37 35
from ganeti.cmdlib import common
38 36
from ganeti.cmdlib import query
39 37
from ganeti import opcodes
40 38
from ganeti import errors
41
from ganeti import utils
42 39
from ganeti import luxi
43 40
from ganeti import ht
44 41
from ganeti import objects
45
from ganeti import compat
46
from ganeti import rpc
47 42
from ganeti import locking
48 43
from ganeti.masterd import iallocator
49 44

  
......
141 136
    self.assertEqual(sorted(query._QUERY_IMPL.keys()),
142 137
                     sorted(constants.QR_VIA_OP))
143 138

  
144
    assert constants.QR_NODE in constants.QR_VIA_OP
139
    assert constants.QR_NODE in constants.QR_VIA_LUXI
145 140
    assert constants.QR_INSTANCE in constants.QR_VIA_OP
146 141

  
147 142
    for i in constants.QR_VIA_OP:

Also available in: Unified diff