Revision 527fbde8
b/doc/rapi.rst | ||
---|---|---|
412 | 412 |
|
413 | 413 |
Body parameters: |
414 | 414 |
|
415 |
``name`` (string, required) |
|
416 |
Node group name. |
|
415 |
.. opcode_params:: OP_GROUP_ADD |
|
416 |
|
|
417 |
Earlier versions used a parameter named ``name`` which, while still |
|
418 |
supported, has been renamed to ``group_name``. |
|
417 | 419 |
|
418 | 420 |
|
419 | 421 |
``/2/groups/[group_name]`` |
b/lib/rapi/rlib2.py | ||
---|---|---|
555 | 555 |
@return: Group creation opcode |
556 | 556 |
|
557 | 557 |
""" |
558 |
group_name = baserlib.CheckParameter(data, "name") |
|
559 |
alloc_policy = baserlib.CheckParameter(data, "alloc_policy", default=None) |
|
558 |
override = { |
|
559 |
"dry_run": dry_run, |
|
560 |
} |
|
560 | 561 |
|
561 |
return opcodes.OpGroupAdd(group_name=group_name, |
|
562 |
alloc_policy=alloc_policy, |
|
563 |
dry_run=dry_run) |
|
562 |
rename = { |
|
563 |
"name": "group_name", |
|
564 |
} |
|
565 |
|
|
566 |
return baserlib.FillOpcode(opcodes.OpGroupAdd, data, override, |
|
567 |
rename=rename) |
|
564 | 568 |
|
565 | 569 |
|
566 | 570 |
class R_2_groups(baserlib.R_Generic): |
b/test/ganeti.rapi.rlib2_unittest.py | ||
---|---|---|
551 | 551 |
self.assertFalse(hasattr(op, "alloc_policy")) |
552 | 552 |
|
553 | 553 |
|
554 |
class TestParseCreateGroupRequest(unittest.TestCase): |
|
555 |
def setUp(self): |
|
556 |
self.Parse = rlib2._ParseCreateGroupRequest |
|
557 |
|
|
558 |
def test(self): |
|
559 |
name = "group3618" |
|
560 |
|
|
561 |
for policy in constants.VALID_ALLOC_POLICIES: |
|
562 |
data = { |
|
563 |
"group_name": name, |
|
564 |
"alloc_policy": policy, |
|
565 |
} |
|
566 |
|
|
567 |
op = self.Parse(data, False) |
|
568 |
self.assert_(isinstance(op, opcodes.OpGroupAdd)) |
|
569 |
self.assertEqual(op.group_name, name) |
|
570 |
self.assertEqual(op.alloc_policy, policy) |
|
571 |
self.assertFalse(op.dry_run) |
|
572 |
|
|
573 |
def testUnknownPolicy(self): |
|
574 |
data = { |
|
575 |
"alloc_policy": "_unknown_policy_", |
|
576 |
} |
|
577 |
|
|
578 |
self.assertRaises(http.HttpBadRequest, self.Parse, "name", data) |
|
579 |
|
|
580 |
def testDefaults(self): |
|
581 |
name = "group15395" |
|
582 |
data = { |
|
583 |
"group_name": name, |
|
584 |
} |
|
585 |
|
|
586 |
op = self.Parse(data, True) |
|
587 |
self.assert_(isinstance(op, opcodes.OpGroupAdd)) |
|
588 |
self.assertEqual(op.group_name, name) |
|
589 |
self.assertFalse(hasattr(op, "alloc_policy")) |
|
590 |
self.assertTrue(op.dry_run) |
|
591 |
|
|
592 |
def testLegacyName(self): |
|
593 |
name = "group29852" |
|
594 |
data = { |
|
595 |
"name": name, |
|
596 |
} |
|
597 |
|
|
598 |
op = self.Parse(data, True) |
|
599 |
self.assert_(isinstance(op, opcodes.OpGroupAdd)) |
|
600 |
self.assertEqual(op.group_name, name) |
|
601 |
|
|
602 |
|
|
554 | 603 |
if __name__ == '__main__': |
555 | 604 |
testutils.GanetiTestProgram() |
Also available in: Unified diff