From a0dcf7c2469a47d9fa946a240f482421cceff633 Mon Sep 17 00:00:00 2001 From: Oleksiy Mishchenko <oleksiy@google.com> Date: Fri, 28 Nov 2008 12:02:16 +0000 Subject: [PATCH] RAPI: Switch from opcodes to no native 2.0 queries. Reviewed-by: imsnah --- lib/rapi/connector.py | 4 ++-- lib/rapi/rlib2.py | 24 +++++++++++------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py index ecf82c789..9540bc5f6 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 f55dd3327..7a9dfd82d 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", -- GitLab