X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/63c73073ed696e28b154d5c34b7999c8829c809b..4ab7559954a082d3294ca3c0017f4e3db59b9c85:/lib/constants.py diff --git a/lib/constants.py b/lib/constants.py index 2501f0b..c036ba4 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -420,6 +420,17 @@ DTS_FILEBASED = compat.UniqueFrozenset([ DT_SHARED_FILE, ]) +# the set of disk templates that are supported by exclusive_storage +DTS_EXCL_STORAGE = frozenset([DT_PLAIN]) + +# templates for which we don't perform checks on free space +DTS_NO_FREE_SPACE_CHECK = compat.UniqueFrozenset([ + DT_FILE, + DT_SHARED_FILE, + DT_RBD, + DT_EXT, + ]) + # logical disk types LD_LV = "lvm" LD_DRBD8 = "drbd8" @@ -737,6 +748,27 @@ ENFORCEABLE_TYPES = compat.UniqueFrozenset([ # Constant representing that the user does not specify any IP version IFACE_NO_IP_VERSION_SPECIFIED = 0 +VALID_SERIAL_SPEEDS = compat.UniqueFrozenset([ + 75, + 110, + 300, + 600, + 1200, + 1800, + 2400, + 4800, + 9600, + 14400, + 19200, + 28800, + 38400, + 57600, + 115200, + 230400, + 345600, + 460800, + ]) + # HV parameter names (global namespace) HV_BOOT_ORDER = "boot_order" HV_CDROM_IMAGE_PATH = "cdrom_image_path" @@ -771,6 +803,7 @@ HV_KERNEL_PATH = "kernel_path" HV_INITRD_PATH = "initrd_path" HV_ROOT_PATH = "root_path" HV_SERIAL_CONSOLE = "serial_console" +HV_SERIAL_SPEED = "serial_speed" HV_USB_MOUSE = "usb_mouse" HV_KEYMAP = "keymap" HV_DEVICE_MODEL = "device_model" @@ -794,6 +827,14 @@ HV_REBOOT_BEHAVIOR = "reboot_behavior" HV_CPU_TYPE = "cpu_type" HV_CPU_CAP = "cpu_cap" HV_CPU_WEIGHT = "cpu_weight" +HV_CPU_CORES = "cpu_cores" +HV_CPU_THREADS = "cpu_threads" +HV_CPU_SOCKETS = "cpu_sockets" +HV_SOUNDHW = "soundhw" +HV_USB_DEVICES = "usb_devices" +HV_VGA = "vga" +HV_KVM_EXTRA = "kvm_extra" +HV_KVM_MACHINE_VERSION = "machine_version" HVS_PARAMETER_TYPES = { @@ -830,6 +871,7 @@ HVS_PARAMETER_TYPES = { HV_INITRD_PATH: VTYPE_STRING, HV_ROOT_PATH: VTYPE_MAYBE_STRING, HV_SERIAL_CONSOLE: VTYPE_BOOL, + HV_SERIAL_SPEED: VTYPE_INT, HV_USB_MOUSE: VTYPE_STRING, HV_KEYMAP: VTYPE_STRING, HV_DEVICE_MODEL: VTYPE_STRING, @@ -853,6 +895,14 @@ HVS_PARAMETER_TYPES = { HV_CPU_TYPE: VTYPE_STRING, HV_CPU_CAP: VTYPE_INT, HV_CPU_WEIGHT: VTYPE_INT, + HV_CPU_CORES: VTYPE_INT, + HV_CPU_THREADS: VTYPE_INT, + HV_CPU_SOCKETS: VTYPE_INT, + HV_SOUNDHW: VTYPE_STRING, + HV_USB_DEVICES: VTYPE_STRING, + HV_VGA: VTYPE_STRING, + HV_KVM_EXTRA: VTYPE_STRING, + HV_KVM_MACHINE_VERSION: VTYPE_STRING, } HVS_PARAMETERS = frozenset(HVS_PARAMETER_TYPES.keys()) @@ -1721,6 +1771,7 @@ QR_OS = "os" QR_JOB = "job" QR_EXPORT = "export" QR_NETWORK = "network" +QR_EXTSTORAGE = "extstorage" #: List of resources which can be queried using L{opcodes.OpQuery} QR_VIA_OP = compat.UniqueFrozenset([ @@ -1731,6 +1782,7 @@ QR_VIA_OP = compat.UniqueFrozenset([ QR_OS, QR_EXPORT, QR_NETWORK, + QR_EXTSTORAGE, ]) #: List of resources which can be queried using Local UniX Interface @@ -1874,6 +1926,7 @@ HVC_DEFAULTS = { HV_ROOT_PATH: "/dev/vda1", HV_ACPI: True, HV_SERIAL_CONSOLE: True, + HV_SERIAL_SPEED: 38400, HV_VNC_BIND_ADDRESS: "", HV_VNC_TLS: False, HV_VNC_X509: "", @@ -1914,6 +1967,14 @@ HVC_DEFAULTS = { HV_REBOOT_BEHAVIOR: INSTANCE_REBOOT_ALLOWED, HV_CPU_MASK: CPU_PINNING_ALL, HV_CPU_TYPE: "", + HV_CPU_CORES: 0, + HV_CPU_THREADS: 0, + HV_CPU_SOCKETS: 0, + HV_SOUNDHW: "", + HV_USB_DEVICES: "", + HV_VGA: "", + HV_KVM_EXTRA: "", + HV_KVM_MACHINE_VERSION: "", }, HT_FAKE: {}, HT_CHROOT: { @@ -2222,5 +2283,34 @@ RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid" # Regex string for verifying a UUID UUID_REGEX = "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" +# Auto-repair tag prefixes +AUTO_REPAIR_TAG_PREFIX = "ganeti:watcher:autorepair:" +AUTO_REPAIR_TAG_ENABLED = AUTO_REPAIR_TAG_PREFIX +AUTO_REPAIR_TAG_SUSPENDED = AUTO_REPAIR_TAG_ENABLED + "suspend:" +AUTO_REPAIR_TAG_PENDING = AUTO_REPAIR_TAG_PREFIX + "pending:" +AUTO_REPAIR_TAG_RESULT = AUTO_REPAIR_TAG_PREFIX + "result:" + +# Auto-repair levels +AUTO_REPAIR_FIX_STORAGE = "fix-storage" +AUTO_REPAIR_MIGRATE = "migrate" +AUTO_REPAIR_FAILOVER = "failover" +AUTO_REPAIR_REINSTALL = "reinstall" +AUTO_REPAIR_ALL_TYPES = [ + AUTO_REPAIR_FIX_STORAGE, + AUTO_REPAIR_MIGRATE, + AUTO_REPAIR_FAILOVER, + AUTO_REPAIR_REINSTALL, +] + +# Auto-repair results +AUTO_REPAIR_SUCCESS = "success" +AUTO_REPAIR_FAILURE = "failure" +AUTO_REPAIR_ENOPERM = "enoperm" +AUTO_REPAIR_ALL_RESULTS = frozenset([ + AUTO_REPAIR_SUCCESS, + AUTO_REPAIR_FAILURE, + AUTO_REPAIR_ENOPERM, +]) + # Do not re-export imported modules del re, _vcsversion, _autoconf, socket, pathutils, compat