opcodes: Annotate the OP_RESULT of query operations
[ganeti-local] / lib / server / noded.py
index 07672d9..ba3cb90 100644 (file)
@@ -138,8 +138,9 @@ class NodeHttpServer(http.server.HttpServer):
     """Handle a request.
 
     """
-    if req.request_method.upper() != http.HTTP_PUT:
-      raise http.HttpBadRequest()
+    # FIXME: Remove HTTP_PUT in Ganeti 2.7
+    if req.request_method.upper() not in (http.HTTP_PUT, http.HTTP_POST):
+      raise http.HttpBadRequest("Only PUT and POST methods are supported")
 
     path = req.request_path
     if path.startswith("/"):
@@ -169,7 +170,7 @@ class NodeHttpServer(http.server.HttpServer):
       logging.exception("Error in RPC call")
       result = (False, "Error while executing backend function: %s" % str(err))
 
-    return serializer.DumpJson(result, indent=False)
+    return serializer.DumpJson(result)
 
   # the new block devices  --------------------------
 
@@ -288,10 +289,7 @@ class NodeHttpServer(http.server.HttpServer):
     """
     (node_disks, ) = params
 
-    node_name = netutils.Hostname.GetSysName()
-
-    disks = [objects.Disk.FromDict(dsk_s)
-             for dsk_s in node_disks.get(node_name, [])]
+    disks = [objects.Disk.FromDict(dsk_s) for dsk_s in node_disks]
 
     result = []
 
@@ -624,6 +622,15 @@ class NodeHttpServer(http.server.HttpServer):
     return backend.InstanceReboot(instance, reboot_type, shutdown_timeout)
 
   @staticmethod
+  def perspective_instance_balloon_memory(params):
+    """Modify instance runtime memory.
+
+    """
+    instance_dict, memory = params
+    instance = objects.Instance.FromDict(instance_dict)
+    return backend.InstanceBalloonMemory(instance, memory)
+
+  @staticmethod
   def perspective_instance_info(params):
     """Query instance information.
 
@@ -666,8 +673,8 @@ class NodeHttpServer(http.server.HttpServer):
     """Query node information.
 
     """
-    vgname, hypervisor_type = params
-    return backend.GetNodeInfo(vgname, hypervisor_type)
+    (vg_names, hv_names) = params
+    return backend.GetNodeInfo(vg_names, hv_names)
 
   @staticmethod
   def perspective_etc_hosts_modify(params):
@@ -697,14 +704,16 @@ class NodeHttpServer(http.server.HttpServer):
     """Activate the master IP on this node.
 
     """
-    return backend.ActivateMasterIp(params[0], params[1], params[2], params[3])
+    master_params = objects.MasterNetworkParameters.FromDict(params[0])
+    return backend.ActivateMasterIp(master_params, params[1])
 
   @staticmethod
   def perspective_node_deactivate_master_ip(params):
     """Deactivate the master IP on this node.
 
     """
-    return backend.DeactivateMasterIp(params[0], params[1], params[2])
+    master_params = objects.MasterNetworkParameters.FromDict(params[0])
+    return backend.DeactivateMasterIp(master_params, params[1])
 
   @staticmethod
   def perspective_node_stop_master(params):