# dynamic device modification
DDM_ADD = "add"
+DDM_MODIFY = "modify"
DDM_REMOVE = "remove"
DDMS_VALUES = frozenset([DDM_ADD, DDM_REMOVE])
+DDMS_VALUES_WITH_MODIFY = (DDMS_VALUES | frozenset([
+ DDM_MODIFY,
+ ]))
+# TODO: DDM_SWAP, DDM_MOVE?
# common exit codes
EXIT_SUCCESS = 0
ISPECS_MIN = "min"
ISPECS_MAX = "max"
ISPECS_STD = "std"
-IPOLICY_DTS = "disk_templates"
-IPOLICY_VCPU_RATIO = "vcpu_ratio"
+IPOLICY_DTS = "disk-templates"
+IPOLICY_VCPU_RATIO = "vcpu-ratio"
+IPOLICY_SPINDLE_RATIO = "spindle-ratio"
IPOLICY_ISPECS = frozenset([
ISPECS_MIN,
IPOLICY_PARAMETERS = frozenset([
IPOLICY_VCPU_RATIO,
+ IPOLICY_SPINDLE_RATIO,
])
IPOLICY_ALL_KEYS = (IPOLICY_ISPECS |
# Node parameter names
ND_OOB_PROGRAM = "oob_program"
+ND_SPINDLE_COUNT = "spindle_count"
NDS_PARAMETER_TYPES = {
ND_OOB_PROGRAM: VTYPE_MAYBE_STRING,
+ ND_SPINDLE_COUNT: VTYPE_INT,
}
NDS_PARAMETERS = frozenset(NDS_PARAMETER_TYPES.keys())
NDC_DEFAULTS = {
ND_OOB_PROGRAM: None,
+ ND_SPINDLE_COUNT: 1,
}
DISK_LD_DEFAULTS = {
NIC_LINK: DEFAULT_BRIDGE,
}
+# All of the following values are quite arbitrarily - there are no
+# "good" defaults, these must be customised per-site
IPOLICY_DEFAULTS = {
ISPECS_MIN: {
ISPEC_MEM_SIZE: 128,
},
IPOLICY_DTS: DISK_TEMPLATES,
IPOLICY_VCPU_RATIO: 4.0,
+ IPOLICY_SPINDLE_RATIO: 32.0,
}
MASTER_POOL_SIZE_DEFAULT = 10