Adding RAPI call for activate-disks on an instance
authorRené Nussbaumer <rn@google.com>
Mon, 22 Mar 2010 15:16:17 +0000 (16:16 +0100)
committerRené Nussbaumer <rn@google.com>
Mon, 22 Mar 2010 15:25:19 +0000 (16:25 +0100)
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>

lib/rapi/connector.py
lib/rapi/rlib2.py

index 3ef842b..8a08887 100644 (file)
@@ -201,6 +201,8 @@ def GetHandlers(node_name_pattern, instance_name_pattern, job_id_pattern):
       rlib2.R_2_instances_name_shutdown,
     re.compile(r'^/2/instances/(%s)/startup$' % instance_name_pattern):
       rlib2.R_2_instances_name_startup,
+    re.compile(r'^/2/instances/(%s)/activate-disks$' % instance_name_pattern):
+      rlib2.R_2_instances_name_activate_disks,
 
     "/2/jobs": rlib2.R_2_jobs,
     re.compile(r'/2/jobs/(%s)$' % job_id_pattern):
index f475277..8b97bd9 100644 (file)
@@ -649,6 +649,25 @@ class R_2_instances_name_replace_disks(baserlib.R_Generic):
     return baserlib.SubmitJob([op])
 
 
+class R_2_instances_name_activate_disks(baserlib.R_Generic):
+  """/2/instances/[instance_name]/activate-disks resource.
+
+  """
+  def PUT(self):
+    """Activate disks for an instance.
+
+    The URI might contain ignore_size to ignore current recorded size.
+
+    """
+    instance_name = self.items[0]
+    ignore_size = bool(self._checkIntVariable('ignore_size'))
+
+    op = opcodes.OpActivateInstanceDisks(instance_name=instance_name,
+                                         ignore_size=ignore_size)
+
+    return baserlib.SubmitJob([op])
+
+
 class _R_Tags(baserlib.R_Generic):
   """ Quasiclass for tagging resources