Revision d654aae1

b/lib/rapi/client.py
971 971
                             ("/%s/instances/%s/migrate" %
972 972
                              (GANETI_RAPI_VERSION, instance)), None, body)
973 973

  
974
  def RenameInstance(self, instance, new_name, ip_check=None, name_check=None):
975
    """Changes the name of an instance.
976

  
977
    @type instance: string
978
    @param instance: Instance name
979
    @type new_name: string
980
    @param new_name: New instance name
981
    @type ip_check: bool
982
    @param ip_check: Whether to ensure instance's IP address is inactive
983
    @type name_check: bool
984
    @param name_check: Whether to ensure instance's name is resolvable
985

  
986
    """
987
    body = {
988
      "new_name": new_name,
989
      }
990

  
991
    if ip_check is not None:
992
      body["ip_check"] = ip_check
993

  
994
    if name_check is not None:
995
      body["name_check"] = name_check
996

  
997
    return self._SendRequest(HTTP_PUT,
998
                             ("/%s/instances/%s/rename" %
999
                              (GANETI_RAPI_VERSION, instance)), None, body)
1000

  
974 1001
  def GetJobs(self):
975 1002
    """Gets all jobs for the cluster.
976 1003

  
b/test/ganeti.rapi.client_unittest.py
741 741
        self.assertEqual(data["mode"], mode)
742 742
        self.assertEqual(data["cleanup"], cleanup)
743 743

  
744
  def testRenameInstanceDefaults(self):
745
    new_name = "newnametha7euqu"
746
    self.rapi.AddResponse("8791")
747
    job_id = self.client.RenameInstance("inst18821", new_name)
748
    self.assertEqual(job_id, 8791)
749
    self.assertHandler(rlib2.R_2_instances_name_rename)
750
    self.assertItems(["inst18821"])
751

  
752
    data = serializer.LoadJson(self.rapi.GetLastRequestData())
753
    self.assertEqualValues(data, {"new_name": new_name, })
754

  
755
  def testRenameInstance(self):
756
    new_name = "new-name-yiux1iin"
757
    for ip_check in [False, True]:
758
      for name_check in [False, True]:
759
        self.rapi.AddResponse("24776")
760
        job_id = self.client.RenameInstance("inst20967", new_name,
761
                                             ip_check=ip_check,
762
                                             name_check=name_check)
763
        self.assertEqual(job_id, 24776)
764
        self.assertHandler(rlib2.R_2_instances_name_rename)
765
        self.assertItems(["inst20967"])
766

  
767
        data = serializer.LoadJson(self.rapi.GetLastRequestData())
768
        self.assertEqual(len(data), 3)
769
        self.assertEqual(data["new_name"], new_name)
770
        self.assertEqual(data["ip_check"], ip_check)
771
        self.assertEqual(data["name_check"], name_check)
772

  
744 773
  def testGetJobs(self):
745 774
    self.rapi.AddResponse('[ { "id": "123", "uri": "\\/2\\/jobs\\/123" },'
746 775
                          '  { "id": "124", "uri": "\\/2\\/jobs\\/124" } ]')

Also available in: Unified diff