Revision 87fd3ec7
b/lib/rapi/rlib2.py | ||
---|---|---|
665 | 665 |
}) |
666 | 666 |
|
667 | 667 |
|
668 |
class R_2_groups_name_assign_nodes(baserlib.ResourceBase):
|
|
668 |
class R_2_groups_name_assign_nodes(baserlib.OpcodeResource):
|
|
669 | 669 |
"""/2/groups/[group_name]/assign-nodes resource. |
670 | 670 |
|
671 | 671 |
""" |
672 |
def PUT(self): |
|
673 |
"""Assigns nodes to a group. |
|
672 |
PUT_OPCODE = opcodes.OpGroupAssignNodes |
|
674 | 673 |
|
675 |
@return: a job id |
|
674 |
def GetPutOpInput(self): |
|
675 |
"""Assigns nodes to a group. |
|
676 | 676 |
|
677 | 677 |
""" |
678 |
op = baserlib.FillOpcode(opcodes.OpGroupAssignNodes, self.request_body, { |
|
678 |
assert len(self.items) == 1 |
|
679 |
return (self.request_body, { |
|
679 | 680 |
"group_name": self.items[0], |
680 | 681 |
"dry_run": self.dryRun(), |
681 | 682 |
"force": self.useForce(), |
682 | 683 |
}) |
683 | 684 |
|
684 |
return self.SubmitJob([op]) |
|
685 |
|
|
686 | 685 |
|
687 | 686 |
def _ParseInstanceCreateRequestVersion1(data, dry_run): |
688 | 687 |
"""Parses an instance creation request version 1. |
b/test/ganeti.rapi.rlib2_unittest.py | ||
---|---|---|
272 | 272 |
self.assertRaises(IndexError, cl.GetNextSubmittedJob) |
273 | 273 |
|
274 | 274 |
|
275 |
class TestGroupAssignNodes(unittest.TestCase): |
|
276 |
def test(self): |
|
277 |
clfactory = _FakeClientFactory(_FakeClient) |
|
278 |
handler = _CreateHandler(rlib2.R_2_groups_name_assign_nodes, ["grp-a"], { |
|
279 |
"dry-run": ["1"], |
|
280 |
"force": ["1"], |
|
281 |
}, { |
|
282 |
"nodes": ["n2", "n3"], |
|
283 |
}, clfactory) |
|
284 |
job_id = handler.PUT() |
|
285 |
|
|
286 |
cl = clfactory.GetNextClient() |
|
287 |
self.assertRaises(IndexError, clfactory.GetNextClient) |
|
288 |
|
|
289 |
(exp_job_id, (op, )) = cl.GetNextSubmittedJob() |
|
290 |
self.assertEqual(job_id, exp_job_id) |
|
291 |
self.assertTrue(isinstance(op, opcodes.OpGroupAssignNodes)) |
|
292 |
self.assertEqual(op.group_name, "grp-a") |
|
293 |
self.assertEqual(op.nodes, ["n2", "n3"]) |
|
294 |
self.assertTrue(op.dry_run) |
|
295 |
self.assertTrue(op.force) |
|
296 |
|
|
297 |
self.assertRaises(IndexError, cl.GetNextSubmittedJob) |
|
298 |
|
|
299 |
|
|
275 | 300 |
class TestParseInstanceCreateRequestVersion1(testutils.GanetiTestCase): |
276 | 301 |
def setUp(self): |
277 | 302 |
testutils.GanetiTestCase.setUp(self) |
Also available in: Unified diff