From 88bc199a4c23afa0b7e084026aa6ca3c55f6f8f1 Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Mon, 14 Feb 2011 13:41:57 +0100
Subject: [PATCH] RAPI: Use FillOpCode for renaming instances
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: RenΓ© Nussbaumer <rn@google.com>
---
 NEWS                               | 10 ++++++++++
 doc/rapi.rst                       |  8 ++------
 lib/rapi/rlib2.py                  |  9 +++------
 test/ganeti.rapi.rlib2_unittest.py |  4 ++--
 4 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/NEWS b/NEWS
index 004d101b2..8168cf7da 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,16 @@
 News
 ====
 
+Version 2.5.0 beta1
+-------------------
+
+*(unreleased)*
+
+- The default of the ``/2/instances/[instance_name]/rename`` RAPI
+  resource's ``ip_check`` parameter changed from ``True`` to ``False``
+  to match the underlying LUXI interface
+
+
 Version 2.4.0 beta1
 -------------------
 
diff --git a/doc/rapi.rst b/doc/rapi.rst
index 5613b83d6..97a7b731f 100644
--- a/doc/rapi.rst
+++ b/doc/rapi.rst
@@ -878,12 +878,8 @@ Returns a job ID.
 
 Body parameters:
 
-``new_name`` (string, required)
-  New instance name.
-``ip_check`` (bool)
-  Whether to ensure instance's IP address is inactive.
-``name_check`` (bool)
-  Whether to ensure instance's name is resolvable.
+.. opcode_params:: OP_INSTANCE_RENAME
+   :exclude: instance_name
 
 
 ``/2/instances/[instance_name]/modify``
diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py
index 62b454ea1..4f335c203 100644
--- a/lib/rapi/rlib2.py
+++ b/lib/rapi/rlib2.py
@@ -1242,12 +1242,9 @@ def _ParseRenameInstanceRequest(name, data):
   @return: Instance rename opcode
 
   """
-  new_name = baserlib.CheckParameter(data, "new_name")
-  ip_check = baserlib.CheckParameter(data, "ip_check", default=True)
-  name_check = baserlib.CheckParameter(data, "name_check", default=True)
-
-  return opcodes.OpInstanceRename(instance_name=name, new_name=new_name,
-                                  name_check=name_check, ip_check=ip_check)
+  return baserlib.FillOpcode(opcodes.OpInstanceRename, data, {
+    "instance_name": name,
+    })
 
 
 class R_2_instances_name_rename(baserlib.R_Generic):
diff --git a/test/ganeti.rapi.rlib2_unittest.py b/test/ganeti.rapi.rlib2_unittest.py
index 3e83d2f65..395a9195c 100755
--- a/test/ganeti.rapi.rlib2_unittest.py
+++ b/test/ganeti.rapi.rlib2_unittest.py
@@ -293,8 +293,8 @@ class TestParseRenameInstanceRequest(testutils.GanetiTestCase):
       self.assert_(isinstance(op, opcodes.OpInstanceRename))
       self.assertEqual(op.instance_name, name)
       self.assertEqual(op.new_name, new_name)
-      self.assert_(op.ip_check)
-      self.assert_(op.name_check)
+      self.assertFalse(hasattr(op, "ip_check"))
+      self.assertFalse(hasattr(op, "name_check"))
 
 
 class TestParseModifyInstanceRequest(testutils.GanetiTestCase):
-- 
GitLab