Limit the PVs used for disk growth with exclusive storage
[ganeti-local] / lib / constants.py
index 7c95536..192b724 100644 (file)
@@ -250,8 +250,6 @@ XEN_KERNEL = _autoconf.XEN_KERNEL
 XEN_INITRD = _autoconf.XEN_INITRD
 XEN_CMD_XM = "xm"
 XEN_CMD_XL = "xl"
-# FIXME: This will be made configurable using hvparams in Ganeti 2.7
-XEN_CMD = _autoconf.XEN_CMD
 
 KNOWN_XEN_COMMANDS = compat.UniqueFrozenset([
   XEN_CMD_XM,
@@ -430,6 +428,12 @@ VALID_STORAGE_OPERATIONS = {
  LDS_UNKNOWN,
  LDS_FAULTY) = range(1, 4)
 
+LDS_NAMES = {
+  LDS_OKAY: "ok",
+  LDS_UNKNOWN: "unknown",
+  LDS_FAULTY: "faulty",
+}
+
 # disk template types
 DT_BLOCK = "blockdev"
 DT_DISKLESS = "diskless"
@@ -944,6 +948,8 @@ HV_KVM_EXTRA = "kvm_extra"
 HV_KVM_MACHINE_VERSION = "machine_version"
 HV_KVM_PATH = "kvm_path"
 HV_VIF_TYPE = "vif_type"
+HV_VIF_SCRIPT = "vif_script"
+HV_XEN_CMD = "xen_cmd"
 
 
 HVS_PARAMETER_TYPES = {
@@ -1014,6 +1020,8 @@ HVS_PARAMETER_TYPES = {
   HV_KVM_EXTRA: VTYPE_STRING,
   HV_KVM_MACHINE_VERSION: VTYPE_STRING,
   HV_VIF_TYPE: VTYPE_STRING,
+  HV_VIF_SCRIPT: VTYPE_STRING,
+  HV_XEN_CMD: VTYPE_STRING,
   }
 
 HVS_PARAMETERS = frozenset(HVS_PARAMETER_TYPES.keys())
@@ -2005,6 +2013,26 @@ SS_UID_POOL = "uid_pool"
 SS_NODEGROUPS = "nodegroups"
 SS_NETWORKS = "networks"
 
+# This is not a complete SSCONF key, but the prefix for the hypervisor keys
+SS_HVPARAMS_PREF = "hvparams_"
+
+# Hvparams keys:
+SS_HVPARAMS_XEN_PVM = SS_HVPARAMS_PREF + HT_XEN_PVM
+SS_HVPARAMS_XEN_FAKE = SS_HVPARAMS_PREF + HT_FAKE
+SS_HVPARAMS_XEN_HVM = SS_HVPARAMS_PREF + HT_XEN_HVM
+SS_HVPARAMS_XEN_KVM = SS_HVPARAMS_PREF + HT_KVM
+SS_HVPARAMS_XEN_CHROOT = SS_HVPARAMS_PREF + HT_CHROOT
+SS_HVPARAMS_XEN_LXC = SS_HVPARAMS_PREF + HT_LXC
+
+VALID_SS_HVPARAMS_KEYS = compat.UniqueFrozenset([
+  SS_HVPARAMS_XEN_PVM,
+  SS_HVPARAMS_XEN_FAKE,
+  SS_HVPARAMS_XEN_HVM,
+  SS_HVPARAMS_XEN_KVM,
+  SS_HVPARAMS_XEN_CHROOT,
+  SS_HVPARAMS_XEN_LXC,
+  ])
+
 SS_FILE_PERMS = 0444
 
 # cluster wide default parameters
@@ -2026,6 +2054,8 @@ HVC_DEFAULTS = {
     HV_CPU_MASK: CPU_PINNING_ALL,
     HV_CPU_CAP: 0,
     HV_CPU_WEIGHT: 256,
+    HV_VIF_SCRIPT: "",
+    HV_XEN_CMD: XEN_CMD_XM,
     },
   HT_XEN_HVM: {
     HV_BOOT_ORDER: "cd",
@@ -2048,6 +2078,8 @@ HVC_DEFAULTS = {
     HV_CPU_CAP: 0,
     HV_CPU_WEIGHT: 256,
     HV_VIF_TYPE: HT_HVM_VIF_IOEMU,
+    HV_VIF_SCRIPT: "",
+    HV_XEN_CMD: XEN_CMD_XM,
     },
   HT_KVM: {
     HV_KVM_PATH: KVM_PATH,
@@ -2107,7 +2139,9 @@ HVC_DEFAULTS = {
     HV_KVM_EXTRA: "",
     HV_KVM_MACHINE_VERSION: "",
     },
-  HT_FAKE: {},
+  HT_FAKE: {
+    HV_MIGRATION_MODE: HT_MIGRATION_LIVE,
+  },
   HT_CHROOT: {
     HV_INIT_SCRIPT: "/ganeti-chroot",
     },
@@ -2120,6 +2154,7 @@ HVC_GLOBALS = compat.UniqueFrozenset([
   HV_MIGRATION_PORT,
   HV_MIGRATION_BANDWIDTH,
   HV_MIGRATION_MODE,
+  HV_XEN_CMD,
   ])
 
 BEC_DEFAULTS = {