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