diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py index ecf82c78900a2bd61506d56af37a30f4e5da780d..9540bc5f66c3cd204a398dd147d4f8aab862a5b2 100644 --- a/lib/rapi/connector.py +++ b/lib/rapi/connector.py @@ -125,11 +125,11 @@ CONNECTOR.update({ "/tags": rlib1.R_tags, "/info": rlib1.R_info, - "/nodes": rlib1.R_nodes, + "/nodes": rlib2.R_2_nodes, re.compile(r'^/nodes/([\w\._-]+)$'): rlib1.R_nodes_name, re.compile(r'^/nodes/([\w\._-]+)/tags$'): rlib1.R_nodes_name_tags, - "/instances": rlib1.R_instances, + "/instances": rlib2.R_2_instances, re.compile(r'^/instances/([\w\._-]+)$'): rlib1.R_instances_name, re.compile(r'^/instances/([\w\._-]+)/tags$'): rlib1.R_instances_name_tags, diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py index f55dd33277d97d50f23817107c4a49dbbf6e0eb7..7a9dfd82dc5d179f4de967bc96e621c73997abd7 100644 --- a/lib/rapi/rlib2.py +++ b/lib/rapi/rlib2.py @@ -128,14 +128,13 @@ class R_2_nodes(baserlib.R_Generic): ] """ - op = ganeti.opcodes.OpQueryNodes(output_fields=["name"], names=[]) - nodeslist = baserlib.ExtractField(ganeti.cli.SubmitOpCode(op), 0) + client = luxi.Client() + nodesdata = client.QueryNodes([], ["name"]) + nodeslist = [row[0] for row in nodesdata] if 'bulk' in self.queryargs: - op = ganeti.opcodes.OpQueryNodes(output_fields=N_FIELDS, - names=nodeslist) - result = ganeti.cli.SubmitOpCode(op) - return baserlib.MapBulkFields(result, N_FIELDS) + bulkdata = client.QueryNodes(nodeslist, N_FIELDS) + return baserlib.MapBulkFields(bulkdata, N_FIELDS) return baserlib.BuildUriList(nodeslist, "/2/nodes/%s", uri_fields=("id", "uri")) @@ -190,15 +189,14 @@ class R_2_instances(baserlib.R_Generic): ] """ - op = ganeti.opcodes.OpQueryInstances(output_fields=["name"], names=[]) - instanceslist = baserlib.ExtractField(ganeti.cli.SubmitOpCode(op), 0) + client = luxi.Client() + instancesdata = client.QueryInstances([], ["name"]) + instanceslist = [row[0] for row in instancesdata] - if 'bulk' in self.queryargs: - op = ganeti.opcodes.OpQueryInstances(output_fields=I_FIELDS, - names=instanceslist) - result = ganeti.cli.SubmitOpCode(op) - return baserlib.MapBulkFields(result, I_FIELDS) + if 'bulk' in self.queryargs: + bulkdata = client.QueryInstances(instanceslist, I_FIELDS) + return baserlib.MapBulkFields(bulkdata, I_FIELDS) else: return baserlib.BuildUriList(instanceslist, "/2/instances/%s",