Convert bdev.py to the logging module
[ganeti-local] / lib / opcodes.py
index 38d80c0..0c8ad18 100644 (file)
@@ -73,35 +73,6 @@ class BaseJO(object):
       setattr(self, name, state[name])
 
 
-class Job(BaseJO):
-  """Job definition structure"""
-  STATUS_PENDING = 1
-  STATUS_RUNNING = 2
-  STATUS_FINISHED = 3
-  RESULT_OK = 1
-  RESULT_FAIL = 2
-  RESULT_ABORT = 3
-
-  __slots__ = ["job_id", "op_list", "status", "result"]
-
-  def __getstate__(self):
-    """Specialized getstate for jobs
-
-    """
-    data = BaseJO.__getstate__(self)
-    if "op_list" in data:
-      data["op_list"] = [op.__getstate__() for op in data["op_list"]]
-    return data
-
-  def __setstate__(self, state):
-    """Specialized setstate for jobs
-
-    """
-    BaseJO.__setstate__(self, state)
-    if "op_list" in state:
-      self.op_list = [OpCode.LoadOpcode(op) for op in state["op_list"]]
-
-
 class OpCode(BaseJO):
   """Abstract OpCode"""
   OP_ID = "OP_ABSTRACT"
@@ -116,7 +87,7 @@ class OpCode(BaseJO):
     return data
 
   @classmethod
-  def LoadOpcode(cls, data):
+  def LoadOpCode(cls, data):
     """Generic load opcode method.
 
     """
@@ -143,14 +114,6 @@ class OpCode(BaseJO):
     return op
 
 
-class OpInitCluster(OpCode):
-  """Initialise the cluster."""
-  OP_ID = "OP_CLUSTER_INIT"
-  __slots__ = ["cluster_name", "secondary_ip", "hypervisor_type",
-               "vg_name", "mac_prefix", "def_bridge", "master_netdev",
-               "file_storage_dir"]
-
-
 class OpDestroyCluster(OpCode):
   """Destroy the cluster."""
   OP_ID = "OP_CLUSTER_DESTROY"
@@ -163,22 +126,10 @@ class OpQueryClusterInfo(OpCode):
   __slots__ = []
 
 
-class OpClusterCopyFile(OpCode):
-  """Copy a file to multiple nodes."""
-  OP_ID = "OP_CLUSTER_COPYFILE"
-  __slots__ = ["nodes", "filename"]
-
-
-class OpRunClusterCommand(OpCode):
-  """Run a command on multiple nodes."""
-  OP_ID = "OP_CLUSTER_RUNCOMMAND"
-  __slots__ = ["nodes", "command"]
-
-
 class OpVerifyCluster(OpCode):
   """Verify the cluster state."""
   OP_ID = "OP_CLUSTER_VERIFY"
-  __slots__ = []
+  __slots__ = ["skip_checks"]
 
 
 class OpVerifyDisks(OpCode):
@@ -224,6 +175,12 @@ class OpRenameCluster(OpCode):
   __slots__ = ["name"]
 
 
+class OpSetClusterParams(OpCode):
+  """Change the parameters of the cluster."""
+  OP_ID = "OP_CLUSTER_SET_PARAMS"
+  __slots__ = ["vg_name"]
+
+
 # node opcodes
 
 class OpRemoveNode(OpCode):
@@ -235,7 +192,7 @@ class OpRemoveNode(OpCode):
 class OpAddNode(OpCode):
   """Add a node."""
   OP_ID = "OP_NODE_ADD"
-  __slots__ = ["node_name", "primary_ip", "secondary_ip"]
+  __slots__ = ["node_name", "primary_ip", "secondary_ip", "readd"]
 
 
 class OpQueryNodes(OpCode):
@@ -260,7 +217,10 @@ class OpCreateInstance(OpCode):
     "disk_template", "snode", "swap_size", "mode",
     "vcpus", "ip", "bridge", "src_node", "src_path", "start",
     "wait_for_sync", "ip_check", "mac",
-    "kernel_path", "initrd_path", "hvm_boot_order",
+    "kernel_path", "initrd_path", "hvm_boot_order", "hvm_acpi",
+    "hvm_pae", "hvm_cdrom_image_path", "vnc_bind_address",
+    "file_storage_dir", "file_driver",
+    "iallocator",
     ]
 
 
@@ -301,22 +261,10 @@ class OpRebootInstance(OpCode):
                "ignore_secondaries" ]
 
 
-class OpAddMDDRBDComponent(OpCode):
-  """Add a MD-DRBD component."""
-  OP_ID = "OP_INSTANCE_ADD_MDDRBD"
-  __slots__ = ["instance_name", "remote_node", "disk_name"]
-
-
-class OpRemoveMDDRBDComponent(OpCode):
-  """Remove a MD-DRBD component."""
-  OP_ID = "OP_INSTANCE_REMOVE_MDDRBD"
-  __slots__ = ["instance_name", "disk_name", "disk_id"]
-
-
 class OpReplaceDisks(OpCode):
   """Replace the disks of an instance."""
   OP_ID = "OP_INSTANCE_REPLACE_DISKS"
-  __slots__ = ["instance_name", "remote_node", "mode", "disks"]
+  __slots__ = ["instance_name", "remote_node", "mode", "disks", "iallocator"]
 
 
 class OpFailoverInstance(OpCode):
@@ -355,20 +303,27 @@ class OpQueryInstanceData(OpCode):
   __slots__ = ["instances"]
 
 
-class OpSetInstanceParms(OpCode):
+class OpSetInstanceParams(OpCode):
   """Change the parameters of an instance."""
-  OP_ID = "OP_INSTANCE_SET_PARMS"
+  OP_ID = "OP_INSTANCE_SET_PARAMS"
   __slots__ = [
     "instance_name", "mem", "vcpus", "ip", "bridge", "mac",
-    "kernel_path", "initrd_path", "hvm_boot_order",
+    "kernel_path", "initrd_path", "hvm_boot_order", "hvm_acpi",
+    "hvm_pae", "hvm_cdrom_image_path", "vnc_bind_address"
     ]
 
 
+class OpGrowDisk(OpCode):
+  """Grow a disk of an instance."""
+  OP_ID = "OP_INSTANCE_GROW_DISK"
+  __slots__ = ["instance_name", "disk", "amount"]
+
+
 # OS opcodes
 class OpDiagnoseOS(OpCode):
   """Compute the list of guest operating systems."""
   OP_ID = "OP_OS_DIAGNOSE"
-  __slots__ = []
+  __slots__ = ["output_fields", "names"]
 
 
 # Exports opcodes
@@ -383,6 +338,10 @@ class OpExportInstance(OpCode):
   OP_ID = "OP_BACKUP_EXPORT"
   __slots__ = ["instance_name", "target_node", "shutdown"]
 
+class OpRemoveExport(OpCode):
+  """Remove an instance's export."""
+  OP_ID = "OP_BACKUP_REMOVE"
+  __slots__ = ["instance_name"]
 
 # Tags opcodes
 class OpGetTags(OpCode):
@@ -433,3 +392,22 @@ class OpTestDelay(OpCode):
   """
   OP_ID = "OP_TEST_DELAY"
   __slots__ = ["duration", "on_master", "on_nodes"]
+
+
+class OpTestAllocator(OpCode):
+  """Allocator framework testing.
+
+  This opcode has two modes:
+    - gather and return allocator input for a given mode (allocate new
+      or replace secondary) and a given instance definition (direction
+      'in')
+    - run a selected allocator for a given operation (as above) and
+      return the allocator output (direction 'out')
+
+  """
+  OP_ID = "OP_TEST_ALLOCATOR"
+  __slots__ = [
+    "direction", "mode", "allocator", "name",
+    "mem_size", "disks", "disk_template",
+    "os", "tags", "nics", "vcpus",
+    ]