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