Revision 9031ee8e

b/lib/rapi/rlib2.py
30 30
from ganeti.rapi import baserlib
31 31

  
32 32

  
33
I_FIELDS = ["name", "os", "pnode", "snodes", "admin_state", "disk_template",
34
            "ip", "mac", "bridge", "sda_size", "sdb_size", "beparams",
35
            "oper_state", "status", "tags"]
36

  
37
N_FIELDS = ["name", "dtotal", "dfree",
33
I_FIELDS = ["name", "admin_state", "os",
34
            "pnode", "snodes",
35
            "disk_template",
36
            "nic.ips", "nic.macs", "nic.bridges",
37
            "disk.sizes",
38
            "beparams",
39
            "oper_state", "oper_ram", "status",
40
            "tags"]
41

  
42
N_FIELDS = ["name", "offline", "master_candidate",
43
            "dtotal", "dfree",
38 44
            "mtotal", "mnode", "mfree",
39 45
            "pinst_cnt", "sinst_cnt", "tags"]
40 46

  
......
82 88
      }
83 89

  
84 90
    """
85
    op = ganeti.opcodes.OpQueryClusterInfo()
86
    return ganeti.cli.SubmitOpCode(op)
91
    client = luxi.Client()
92
    return client.QueryClusterInfo()
87 93

  
88 94

  
89 95
class R_2_os(baserlib.R_Generic):
......
125 131
    fields = ["id"]
126 132
    # Convert the list of lists to the list of ids
127 133
    result = [job_id for [job_id] in luxi.Client().QueryJobs(None, fields)]
128
    return baserlib.BuildUriList(result, "/2/jobs/%s", uri_fields=("id", "uri"))
134
    return baserlib.BuildUriList(result, "/2/jobs/%s",
135
                                 uri_fields=("id", "uri"))
129 136

  
130 137

  
131 138
class R_2_jobs_id(baserlib.R_Generic):
......
199 206
          "mnode": 512,
200 207
          "dtotal": 5246208,
201 208
          "sinst_cnt": 2,
202
          "dfree": 5171712
209
          "dfree": 5171712,
210
          "offline": false
203 211
        },
204 212
        ...
205 213
      ]
......
208 216

  
209 217
    """
210 218
    client = luxi.Client()
211
    nodesdata = client.QueryNodes([], ["name"], True)
212
    nodeslist = [row[0] for row in nodesdata]
213 219

  
214 220
    if 'bulk' in self.queryargs:
215
      bulkdata = client.QueryNodes(nodeslist, N_FIELDS, True)
221
      bulkdata = client.QueryNodes([], N_FIELDS, False)
216 222
      return baserlib.MapBulkFields(bulkdata, N_FIELDS)
217

  
218
    return baserlib.BuildUriList(nodeslist, "/2/nodes/%s",
219
                                 uri_fields=("id", "uri"))
223
    else:
224
      nodesdata = client.QueryNodes([], ["name"], False)
225
      nodeslist = [row[0] for row in nodesdata]
226
      return baserlib.BuildUriList(nodeslist, "/2/nodes/%s",
227
                                   uri_fields=("id", "uri"))
220 228

  
221 229

  
222 230
class R_2_nodes_name(baserlib.R_Generic):
......
230 238

  
231 239
    """
232 240
    node_name = self.items[0]
233
    op = ganeti.opcodes.OpQueryNodes(output_fields=N_FIELDS,
234
                                     names=[node_name])
235
    result = ganeti.cli.SubmitOpCode(op)
241
    client = luxi.Client()
242
    result = client.QueryNodes(names=[node_name], fields=N_FIELDS,
243
                               use_locking=False)
236 244

  
237 245
    return baserlib.MapFields(N_FIELDS, result[0])
238 246

  
......
292 300

  
293 301
    """
294 302
    client = luxi.Client()
295
    instancesdata = client.QueryInstances([], ["name"], True)
296
    instanceslist = [row[0] for row in instancesdata]
297 303

  
298 304

  
299 305
    if 'bulk' in self.queryargs:
300
      bulkdata = client.QueryInstances(instanceslist, I_FIELDS, True)
306
      bulkdata = client.QueryInstances([], I_FIELDS, False)
301 307
      return baserlib.MapBulkFields(bulkdata, I_FIELDS)
302

  
303 308
    else:
309
      instancesdata = client.QueryInstances([], ["name"], False)
310
      instanceslist = [row[0] for row in instancesdata]
304 311
      return baserlib.BuildUriList(instanceslist, "/2/instances/%s",
305 312
                                   uri_fields=("id", "uri"))
306 313

  
......
352 359
    """Send information about an instance.
353 360

  
354 361
    """
362
    client = luxi.Client()
355 363
    instance_name = self.items[0]
356
    op = ganeti.opcodes.OpQueryInstances(output_fields=I_FIELDS,
357
                                         names=[instance_name])
358
    result = ganeti.cli.SubmitOpCode(op)
364
    result = client.QueryInstances(names=[instance_name], fields=I_FIELDS,
365
                                   use_locking=False)
359 366

  
360 367
    return baserlib.MapFields(I_FIELDS, result[0])
361 368

  

Also available in: Unified diff