Instance policy command line support
[ganeti-local] / lib / constants.py
index d27fefe..27a993c 100644 (file)
@@ -921,6 +921,33 @@ BES_PARAMETER_COMPAT.update(BES_PARAMETER_TYPES)
 
 BES_PARAMETERS = frozenset(BES_PARAMETER_TYPES.keys())
 
+# instance specs
+MEM_SIZE_SPEC = "memory-size"
+CPU_COUNT_SPEC = "cpu-count"
+DISK_COUNT_SPEC = "disk-count"
+DISK_SIZE_SPEC = "disk-size"
+NIC_COUNT_SPEC = "nic-count"
+
+ISPECS_PARAMETER_TYPES = {
+  MEM_SIZE_SPEC: VTYPE_INT,
+  CPU_COUNT_SPEC: VTYPE_INT,
+  DISK_COUNT_SPEC: VTYPE_INT,
+  DISK_SIZE_SPEC: VTYPE_INT,
+  NIC_COUNT_SPEC: VTYPE_INT,
+  }
+
+ISPECS_PARAMETERS = frozenset(ISPECS_PARAMETER_TYPES.keys())
+
+MIN_ISPECS = "min"
+MAX_ISPECS = "max"
+STD_ISPECS = "std"
+
+IPOLICY_PARAMETERS = frozenset([
+  MIN_ISPECS,
+  MAX_ISPECS,
+  STD_ISPECS
+  ])
+
 # Node parameter names
 ND_OOB_PROGRAM = "oob_program"
 
@@ -1783,6 +1810,30 @@ NICC_DEFAULTS = {
   NIC_LINK: DEFAULT_BRIDGE,
   }
 
+IPOLICY_DEFAULTS = {
+  MIN_ISPECS: {
+    MEM_SIZE_SPEC: 128,
+    CPU_COUNT_SPEC: 1,
+    DISK_COUNT_SPEC: 1,
+    DISK_SIZE_SPEC: 1024,
+    NIC_COUNT_SPEC: 1,
+    },
+  MAX_ISPECS: {
+    MEM_SIZE_SPEC: 128,
+    CPU_COUNT_SPEC: 1,
+    DISK_COUNT_SPEC: 1,
+    DISK_SIZE_SPEC: 1024,
+    NIC_COUNT_SPEC: 1,
+    },
+  STD_ISPECS: {
+    MEM_SIZE_SPEC: 128,
+    CPU_COUNT_SPEC: 1,
+    DISK_COUNT_SPEC: 1,
+    DISK_SIZE_SPEC: 1024,
+    NIC_COUNT_SPEC: 1,
+    }
+  }
+
 MASTER_POOL_SIZE_DEFAULT = 10
 
 CONFD_PROTOCOL_VERSION = 1