On Mon, Jan 10, 2011 at 11:23 +0000, Michael Hanselmann <[email protected]>
wrote:
> Am 9. Januar 2011 16:04 schrieb Adeodato Simo <[email protected]>:
> > +class R_2_groups_name_assign_nodes(baserlib.R_Generic):
> > + """/2/groups/[groupe_name]/assign_nodes resource.
> Please use “assign-nodes”, not “assign_nodes”.
Oops. I thought I was being consistent, but my cursory look at
connector.py had me tooking at the wrong place (class names rather than
URL patterns).
> > + def PUT(self):
> > + baserlib.CheckType(self.request_body, dict, "Body contents")
> > + nodes = baserlib.CheckParameter(self.request_body, "nodes",
> > exptype=list)
> > + group_name = self.items[0]
> > +
> > + op = opcodes.OpAssignGroupNodes(group_name=group_name, nodes=nodes,
> > + force=self.useForce(),
> > + dry_run=self.dryRun())
> Please use baserlib.FillOpcode. It gives you the type checks for free.
> op = baserlib.FillOpcode(opcodes.OpAssignGroupNodes, self.request_body, {
> "group_name": self.items[0],
> "dry_run": self.dryRun(),
> })
Done.
diff --git a/lib/rapi/client.py b/lib/rapi/client.py
index be0850b..467dec9 100644
--- a/lib/rapi/client.py
+++ b/lib/rapi/client.py
@@ -1558,5 +1558,5 @@ class GanetiRapiClient(object):
}
return self._SendRequest(HTTP_PUT,
- ("/%s/groups/%s/assign_nodes" %
+ ("/%s/groups/%s/assign-nodes" %
(GANETI_RAPI_VERSION, group)), query, body)
diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py
index 155c305..ef03525 100644
--- a/lib/rapi/connector.py
+++ b/lib/rapi/connector.py
@@ -223,7 +223,7 @@ def GetHandlers(node_name_pattern, instance_name_pattern,
rlib2.R_2_groups_name_modify,
re.compile(r'^/2/groups/(%s)/rename$' % group_name_pattern):
rlib2.R_2_groups_name_rename,
- re.compile(r'^/2/groups/(%s)/assign_nodes$' % group_name_pattern):
+ re.compile(r'^/2/groups/(%s)/assign-nodes$' % group_name_pattern):
rlib2.R_2_groups_name_assign_nodes,
"/2/jobs": rlib2.R_2_jobs,
diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py
index c0b90d7..3ff2988 100644
--- a/lib/rapi/rlib2.py
+++ b/lib/rapi/rlib2.py
@@ -686,7 +686,7 @@ class R_2_groups_name_rename(baserlib.R_Generic):
class R_2_groups_name_assign_nodes(baserlib.R_Generic):
- """/2/groups/[groupe_name]/assign_nodes resource.
+ """/2/groups/[groupe_name]/assign-nodes resource.
"""
def PUT(self):
@@ -695,19 +695,15 @@ class R_2_groups_name_assign_nodes(baserlib.R_Generic):
@return: a job id
"""
- baserlib.CheckType(self.request_body, dict, "Body contents")
- nodes = baserlib.CheckParameter(self.request_body, "nodes", exptype=list)
- group_name = self.items[0]
-
- op = opcodes.OpAssignGroupNodes(group_name=group_name, nodes=nodes,
- force=self.useForce(),
- dry_run=self.dryRun())
+ op = baserlib.FillOpcode(opcodes.OpAssignGroupNodes, self.request_body, {
+ "group_name": self.items[0],
+ "dry_run": self.dryRun(),
+ "force": self.useForce(),
+ })
return baserlib.SubmitJob([op])
-
-
def _ParseInstanceCreateRequestVersion1(data, dry_run):
"""Parses an instance creation request version 1.
--
Adeodato Simo | [email protected]
Corp Computing Services SRE (Dublin)