ganeti-3.1: Cluster-based virtualization management software
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ganeti.Constants

Contents

Description

Constants contains the Haskell constants

The constants in this module are used in Haskell and are also converted to Python.

Do not write any definitions in this file other than constants. Do not even write helper functions. The definitions in this module are automatically stripped to build the Makefile.am target hs. If there are helper functions in this module, they will also be dragged and it will cause compilation to fail. Therefore, all helper functions should go to a separate module and imported.

Synopsis

autoconf constants for Python only ('autotools/build-bash-completion')

htoolsProgs :: [String] #

autoconf constants for Python only ('lib/constants.py')

drbdBarriers :: String #

hasGnuLn :: Bool #

autoconf constants for Python only ('lib/pathutils.py')

Build-time constants

exportDir :: String #

backupDir :: String #

osSearchPath :: [String] #

esSearchPath :: [String] #

sshConfigDir :: String #

xenConfigDir :: String #

sysconfdir :: String #

toolsdir :: String #

localstatedir :: String #

Paths which don't change for a virtual cluster

pkglibdir :: String #

sharedir :: String #

autoconf constants for Python only ('libbuildsphinx_ext.py')

manPages :: Map String Int #

autoconf constants for QA cluster only ('qa/qa_cluster.py')

autoconf constants for Python only ('testspydocs_unittest.py')

gntScripts :: [String] #

Various versions

releaseVersion :: String #

dirVersion :: String #

osApiV10 :: Int #

osApiV15 :: Int #

osApiV20 :: Int #

exportVersion :: Int #

The version of the backup/export instance description file format we are producing when exporting and accepting when importing. The two are currently tightly intertwined.

rapiVersion :: Int #

configMajor :: Int #

configMinor :: Int #

configRevision :: Int #

The configuration is supposed to remain stable across revisions. Therefore, the revision number is cleared to '0'.

protocolVersion :: Int #

Similarly to the configuration (see configRevision), the protocols are supposed to remain stable across revisions.

User separation

daemonsGroup :: String #

adminGroup :: String #

masterdUser :: String #

masterdGroup :: String #

metadUser :: String #

metadGroup :: String #

rapiUser :: String #

rapiGroup :: String #

confdUser :: String #

confdGroup :: String #

wconfdUser :: String #

wconfdGroup :: String #

kvmdUser :: String #

kvmdGroup :: String #

luxidUser :: String #

luxidGroup :: String #

nodedUser :: String #

nodedGroup :: String #

mondUser :: String #

mondGroup :: String #

sshLoginUser :: String #

sshConsoleUser :: String #

Cpu pinning separators and constants

cpuPinningSep :: String #

cpuPinningAll :: String #

cpuPinningAllVal :: Int #

Internal representation of "all"

cpuPinningOff :: [Int] #

One "all" entry in a CPU list means CPU pinning is off

cpuPinningAllXen :: String #

A Xen-specific implementation detail is that there is no way to actually say "use any cpu for pinning" in a Xen configuration file, as opposed to the command line, where you can say xm vcpu-pin domain vcpu all

The workaround used in Xen is "0-63" (see source code function "xm_vcpu_pin" in xen-sourcetoolspythonxenxm/main.py).

To support future changes, the following constant is treated as a blackbox string that simply means "use any cpu for pinning under xen".

Image and wipe

ddCmd :: String #

ddBlockSize :: Int #

1 MiB The default block size for the dd command

maxWipeChunk :: Int #

1GB

Directories

runDirsMode :: Int #

autoconf enable/disable

enableMond :: Bool #

enableMetad :: Bool #

SSH constants

ssh :: String #

scp :: String #

Daemons

confd :: String #

masterd :: String #

metad :: String #

mond :: String #

noded :: String #

wconfd :: String #

luxid :: String #

rapi :: String #

kvmd :: String #

daemons :: FrozenSet String #

daemonsPorts :: Map String (Protocol, Int) #

daemonsLogbase :: Map String String #

daemonsExtraLogbase :: Map String (Map String String) #

devConsole :: String #

procMounts :: String #

Luxi (Local UniX Interface) related constants

luxiEom :: ByteString #

luxiOverride :: String #

Environment variable for the luxi override socket

luxiVersion :: Int #

Syslog

syslogUsage :: String #

syslogNo :: String #

syslogYes :: String #

syslogOnly :: String #

syslogSocket :: String #

exportConfFile :: String #

Xen

xenBootloader :: String #

xenInitrd :: String #

xenKernel :: String #

xlSocatCmd :: String #

KVM and socat

kvmPath :: String #

kvmKernel :: String #

socatEscapeCode :: String #

socatPath :: String #

LXC

lxcStateRunning :: String #

Console types

consMessage :: String #

Display a message for console access

consSpice :: String #

Console as SPICE server

consSsh :: String #

Console as SSH command

consVnc :: String #

Console as VNC server

consAll :: FrozenSet String #

rsaKeyBits :: Int #

RSA key bit length

For RSA keys more bits are better, but they also make operations more expensive. NIST SP 800-131 recommends a minimum of 2048 bits from the year 2010 on.

opensslCiphers :: String #

Ciphers allowed for SSL connections.

For the format, see ciphers(1). A better way to disable ciphers would be to use the exclamation mark (!), but socat versions below 1.5 can't parse exclamation marks in options properly. When modifying the ciphers, ensure not to accidentially add something after it's been removed. Use the "openssl" utility to check the allowed ciphers, e.g. "openssl ciphers -v HIGH:-DES".

X509

x509CertCn :: String #

commonName (CN) used in certificates

x509CertDefaultValidity :: Int #

Default validity of certificates in days

x509CertSignDigest :: String #

Digest used to sign certificates

Import/export daemon mode

iemExport :: String #

iemImport :: String #

Import/export transport compression

iecGzip :: String #

iecGzipFast :: String #

iecGzipSlow :: String #

iecLzop :: String #

iecNone :: String #

iecAll :: [String] #

iecDefaultTools :: [String] #

iecCompressionUtilities :: Map String String #

ieCustomSize :: String #

Importexport IO

ieioFile :: String #

Direct file IO, equivalent to a shell's IO redirection using < or >

ieioRawDisk :: String #

Raw block device I/O using "dd"

ieioScript :: String #

OS definition import/export script

Values

valueDefault :: String #

valueAuto :: String #

valueGenerate :: String #

valueNone :: String #

valueTrue :: String #

valueFalse :: String #

Hooks

hooksPath :: String #

hooksPhasePost :: String #

hooksPhasePre :: String #

Hooks subject type (what object type does the LU deal with)

htypeCluster :: String #

htypeGroup :: String #

htypeInstance :: String #

htypeNetwork :: String #

htypeNode :: String #

Hkr

hkrSkip :: Int #

hkrFail :: Int #

hkrSuccess :: Int #

Storage types

stBlock :: String #

stDiskless :: String #

stExt :: String #

stFile :: String #

stSharedFile :: String #

stGluster :: String #

stLvmPv :: String #

stLvmVg :: String #

stRados :: String #

stsReport :: FrozenSet String #

The set of storage types for which full storage reporting is available

stsReportNodeStorage :: FrozenSet String #

The set of storage types for which node storage reporting is available | (as used by LUQueryNodeStorage)

Storage fields

First two are valid in LU context only, not passed to backend

sfNode :: String #

sfType :: String #

and the rest are valid in backend

sfAllocatable :: String #

sfFree :: String #

sfName :: String #

sfSize :: String #

sfUsed :: String #

modifiableStorageFields :: Map String (FrozenSet String) #

Storage operations

validStorageOperations :: Map String (FrozenSet String) #

Volume fields

vfDev :: String #

vfInstance :: String #

vfName :: String #

vfNode :: String #

vfPhys :: String #

vfSize :: String #

vfVg :: String #

Local disk status

ldsFaulty :: Int #

ldsOkay :: Int #

ldsUnknown :: Int #

ldsSync :: Int #

ldsNames :: Map Int String #

Disk template types

dtDiskless :: String #

dtFile :: String #

dtSharedFile :: String #

dtPlain :: String #

dtBlock :: String #

dtDrbd8 :: String #

dtRbd :: String #

dtExt :: String #

dtGluster :: String #

dtMixed :: String #

diskTemplatePreference :: [String] #

This is used to order determine the default disk template when the list of enabled disk templates is inferred from the current state of the cluster. This only happens on an upgrade from a version of Ganeti that did not support the enabled_disk_templates so far.

defaultEnabledDiskTemplates :: [String] #

Disk templates that are enabled by default

mapDiskTemplateStorageType :: Map String String #

Mapping of disk templates to storage types

dtsIntMirror :: FrozenSet String #

The set of network-mirrored disk templates

dtsExtMirror :: FrozenSet String #

DTDiskless is trivially externally mirrored

dtsNotLvm :: FrozenSet String #

The set of non-lvm-based disk templates

dtsGrowable :: FrozenSet String #

The set of disk templates which can be grown

dtsMayAdopt :: FrozenSet String #

The set of disk templates that allow adoption

dtsMustAdopt :: FrozenSet String #

The set of disk templates that *must* use adoption

dtsMirrored :: FrozenSet String #

The set of disk templates that allow migrations

dtsFilebased :: FrozenSet String #

The set of file based disk templates

dtsInstanceDependentPath :: FrozenSet String #

The set of file based disk templates whose path is tied to the instance name

dtsCopyable :: FrozenSet String #

The set of disk templates that can be moved by copying

Note: a requirement is that they're not accessed externally or shared between nodes; in particular, sharedfile is not suitable.

dtsSnapshotCapable :: FrozenSet String #

The set of disk templates which can be snapshot.

dtsExclStorage :: FrozenSet String #

The set of disk templates that are supported by exclusive_storage

dtsNoFreeSpaceCheck :: FrozenSet String #

Templates for which we don't perform checks on free space

dtsBlock :: FrozenSet String #

dtsLvm :: FrozenSet String #

The set of lvm-based disk templates

dtsHaveAccess :: FrozenSet String #

The set of lvm-based disk templates

dtsNotConvertibleFrom :: FrozenSet String #

The set of disk templates that cannot convert from

dtsNotConvertibleTo :: FrozenSet String #

The set of disk templates that cannot convert to

Drbd

drbdHmacAlg :: String #

drbdStatusFile :: String #

drbdSecretLength :: Int #

The length of generated DRBD secrets (see also TempRes module).

drbdMetaSize :: Int #

Size of DRBD meta block device

Drbd barrier types

drbdBDiskDrain :: String #

drbdBDiskFlush :: String #

drbdBNone :: String #

drbdValidBarrierOpt :: FrozenSet (FrozenSet String) #

Valid barrier combinations: "n" or any non-null subset of "bfd"

rbdCmd :: String #

Rbd tool command

File backend driver

fdBlktap :: String #

fdBlktap2 :: String #

fdLoop :: String #

fdDefault :: String #

dtsDrbd :: FrozenSet String #

The set of drbd-like disk types

Disk access mode

diskRdonly :: String #

diskRdwr :: String #

Disk replacement mode

replaceDiskAuto :: String #

replaceDiskChg :: String #

replaceDiskPri :: String #

replaceDiskSec :: String #

Instance export mode

exportModeLocal :: String #

Instance creation modes

instanceCreate :: String #

instanceImport :: String #

Remote import/export handshake message and version

rieHandshake :: String #

rieVersion :: Int #

rieCertValidity :: Int #

Remote import/export certificate validity (seconds)

rieConnectAttemptTimeout :: Int #

Export only: how long to wait per connection attempt (seconds)

rieConnectRetries :: Int #

Export only: number of attempts to connect

rieConnectTimeout :: Int #

Overall timeout for establishing connection

childLingerTimeout :: Double #

Give child process up to 5 seconds to exit after sending a signal

Import/export config options

inisectBep :: String #

inisectExp :: String #

inisectHyp :: String #

inisectIns :: String #

inisectOsp :: String #

Dynamic device modification

ddmAdd :: String #

ddmAttach :: String #

ddmModify :: String #

ddmRemove :: String #

ddmDetach :: String #

Common exit codes

exitSuccess :: Int #

exitFailure :: Int #

exitConfirmation :: Int #

Need user confirmation

exitUnknownField :: Int #

Exit code for query operations with unknown fields

Tags

tagCluster :: String #

tagInstance :: String #

tagNetwork :: String #

tagNode :: String #

tagNodegroup :: String #

maxTagLen :: Int #

Others

defaultBridge :: String #

defaultOvs :: String #

classicDrbdSyncSpeed :: Int #

60 MiBs, expressed in KiBs

ip4AddressAny :: String #

ip6AddressAny :: String #

ip4Version :: Int #

ip6Version :: Int #

defaultVg :: String #

minVgSize :: Int #

defaultShutdownTimeout :: Int #

Default maximum instance wait time (seconds)

nodeMaxClockSkew :: Int #

Node clock skew (seconds)

diskTransferConnectTimeout :: Int #

Time for an intra-cluster disk transfer to wait for a connection

diskSeparator :: String #

Disk index separator

ipCommandPath :: String #

jobIdsKey :: String #

Key for job IDs in opcode result

Runparts results

runpartsErr :: Int #

runpartsRun :: Int #

runpartsStatus :: [Int] #

RPC

Timeout table

rpcTmoFast :: Int #

rpcTmoSlow :: Int #

rpcTmo_4hrs :: Int #

rpcTmo_4hrs contains an underscore to circumvent a limitation in the deCamelCase function and generate the correct Python name.

rpcTmo_1day :: Int #

rpcTmo_1day contains an underscore to circumvent a limitation in the deCamelCase function and generate the correct Python name.

rpcConnectTimeout :: Int #

Timeout for connecting to nodes (seconds)

osScriptCreate :: String #

osScriptExport :: String #

osScriptImport :: String #

osScriptRename :: String #

osScriptVerify :: String #

osScripts :: [String] #

osApiFile :: String #

osVariantsFile :: String #

esActionAttach :: String #

External Storage (ES) related constants

esActionCreate :: String #

esActionDetach :: String #

esActionGrow :: String #

esActionRemove :: String #

esActionSetinfo :: String #

esActionVerify :: String #

esActionOpen :: String #

esActionClose :: String #

esScriptCreate :: String #

esScriptRemove :: String #

esScriptGrow :: String #

esScriptAttach :: String #

esScriptDetach :: String #

esScriptSetinfo :: String #

esScriptVerify :: String #

esScriptOpen :: String #

esScriptClose :: String #

Reboot types

Instance reboot behaviors

rebootBehaviors :: [String] #

VTypes

vtypeSize :: VType #

Size in MiBs

ifaceNoIpVersionSpecified :: Int #

Constant representing that the user does not specify any IP version

HV parameter names (global namespace)

hvAcpi :: String #

hvBootOrder :: String #

hvCpuCap :: String #

hvCpuCores :: String #

hvCpuMask :: String #

hvCpuSockets :: String #

hvCpuThreads :: String #

hvCpuType :: String #

hvCpuWeight :: String #

hvDeviceModel :: String #

hvDiskCache :: String #

hvDiskDiscard :: String #

hvDiskType :: String #

hvInitrdPath :: String #

hvInitScript :: String #

hvKernelArgs :: String #

hvKernelPath :: String #

hvKeymap :: String #

hvKvmExtra :: String #

hvKvmFlag :: String #

hvKvmPath :: String #

hvKvmDiskAio :: String #

hvKvmSpiceBind :: String #

hvKvmUseChroot :: String #

hvLxcDevices :: String #

hvLxcNumTtys :: String #

hvMemPath :: String #

hvMigrationMode :: String #

hvMigrationPort :: String #

hvNicType :: String #

hvPae :: String #

hvPassthrough :: String #

hvRootPath :: String #

hvSecurityModel :: String #

hvSerialConsole :: String #

hvSerialSpeed :: String #

hvSoundhw :: String #

hvUsbDevices :: String #

hvUsbMouse :: String #

hvUseBootloader :: String #

hvUseGuestAgent :: String #

hvUseLocaltime :: String #

hvVga :: String #

hvVhostNet :: String #

hvVifScript :: String #

hvVifType :: String #

hvViridian :: String #

hvVncTls :: String #

hvVncX509 :: String #

hvVncX509Verify :: String #

hvVnetHdr :: String #

hvXenCpuid :: String #

hvsParameterTitles :: Map String String #

hvsParameterTypes :: Map String VType #

Migration statuses

hvKvmMigrationPostcopyActive :: String #

KVM-specific statuses

hvNodeinfoKeyVersion :: String #

Node info keys

Hypervisor state

hvstCpuNode :: String #

hvstCpuTotal :: String #

hvstMemoryHv :: String #

hvstMemoryNode :: String #

hvstMemoryTotal :: String #

hvstDefaults :: Map String Int #

Disk state

dsDiskOverhead :: String #

dsDiskReserved :: String #

dsDiskTotal :: String #

dsDefaults :: Map String Int #

dssParameterTypes :: Map String VType #

beAutoBalance :: String #

beMaxmem :: String #

beMemory :: String #

Deprecated and replaced by max and min mem

beMinmem :: String #

beSpindleUse :: String #

beVcpus :: String #

besParameterTypes :: Map String VType #

besParameterTitles :: Map String String #

besParameterCompat :: Map String VType #

ispecMemSize :: String #

Instance specs

FIXME: these should be associated with ISpec

ispecCpuCount :: String #

ispecDiskCount :: String #

ispecDiskSize :: String #

ispecNicCount :: String #

ispecSpindleUse :: String #

ispecsMinmax :: String #

ispecsMax :: String #

ispecsMin :: String #

ispecsStd :: String #

ipolicyDts :: String #

ndExclusiveStorage :: String #

Node parameter names

ndOobProgram :: String #

ndSpindleCount :: String #

ndOvs :: String #

ndOvsLink :: String #

ndOvsName :: String #

ndSshPort :: String #

ndCpuSpeed :: String #

ndsParameterTypes :: Map String VType #

ndsParameterTitles :: Map String String #

Logical Disks parameters

ldpAccess :: String #

ldpBarriers :: String #

ldpDelayTarget :: String #

ldpDiskCustom :: String #

ldpFillTarget :: String #

ldpMaxRate :: String #

ldpMinRate :: String #

ldpNetCustom :: String #

ldpNoMetaFlush :: String #

ldpPlanAhead :: String #

ldpPool :: String #

ldpProtocol :: String #

ldpResyncRate :: String #

ldpStripes :: String #

diskLdTypes :: Map String VType #

Disk template parameters

drbdResyncRate :: String #

drbdDataStripes :: String #

drbdMetaStripes :: String #

drbdDiskCustom :: String #

drbdNetCustom :: String #

drbdProtocol :: String #

drbdPlanAhead :: String #

drbdFillTarget :: String #

drbdDelayTarget :: String #

drbdMaxRate :: String #

drbdMinRate :: String #

lvStripes :: String #

rbdAccess :: String #

rbdPool :: String #

diskDtTypes :: Map String VType #

Dynamic disk parameters

ddpLocalIp :: String #

ddpRemoteIp :: String #

ddpPort :: String #

ddpLocalMinor :: String #

ddpRemoteMinor :: String #

OOB supported commands

oobPowerOn :: String #

oobPowerOff :: String #

oobPowerCycle :: String #

oobPowerStatus :: String #

oobHealth :: String #

oobTimeout :: Int #

60 seconds

oobPowerDelay :: Double #

2 seconds

oobStatusOk :: String #

ppDefault :: String #

Instance Parameters Profile

nic* constants are used inside the ganeti config

nicLink :: String #

nicMode :: String #

nicVlan :: String #

nicsParameterTypes :: Map String VType #

nicModeBridged :: String #

nicModeRouted :: String #

nicModeOvs :: String #

nicIpPool :: String #

releaseAction :: String #

reserveAction :: String #

idisk* constants are used in opcodes, to create/change disks

idiskAdopt :: String #

idiskMetavg :: String #

idiskMode :: String #

idiskName :: String #

idiskSize :: String #

idiskSpindles :: String #

idiskVg :: String #

idiskProvider :: String #

idiskAccess :: String #

idiskType :: String #

idiskParamsTypes :: Map String VType #

inic* constants are used in opcodes, to create/change nics

inicBridge :: String #

inicIp :: String #

inicLink :: String #

inicMac :: String #

inicMode :: String #

inicName :: String #

inicNetwork :: String #

inicVlan :: String #

inicParamsTypes :: Map String VType #

Hypervisor constants

htXenPvm :: String #

htFake :: String #

htXenHvm :: String #

htKvm :: String #

htChroot :: String #

htLxc :: String #

vncBasePort :: Int #

NIC types

htNicE1000 :: String #

htNicI82551 :: String #

htNicI8259er :: String #

htNicI85557b :: String #

htNicNe2kIsa :: String #

htNicNe2kPci :: String #

htNicPcnet :: String #

htNicRtl8139 :: String #

Vif types

htHvmVifIoemu :: String #

Default vif type in xen-hvm

htHvmVifVif :: String #

Disk types

htDiskIde :: String #

htDiskIoemu :: String #

htDiskMtd :: String #

htDiskPflash :: String #

htDiskScsi :: String #

htDiskSd :: String #

htDiskScsiBlock :: String #

htDiskScsiCd :: String #

htDiskScsiHd :: String #

SCSI controller types

htCacheDefault :: String #

htCacheNone :: String #

htCacheWback :: String #

htCacheWthrough :: String #

htDiscardIgnore :: String #

htDiscardUnmap :: String #

htKvmAioThreads :: String #

htKvmAioNative :: String #

htKvmAioIoUring :: String #

Mouse types

htMouseMouse :: String #

htMouseTablet :: String #

Boot order

htBoCdrom :: String #

htBoDisk :: String #

htBoFloppy :: String #

htBoNetwork :: String #

SPICE lossless image compression options

SPICE video stream detection

Security models

htSmNone :: String #

htSmPool :: String #

htSmUser :: String #

Kvm flag values

htKvmDisabled :: String #

htKvmEnabled :: String #

Migration type

htMigrationLive :: String #

Cluster verify steps

Cluster Verify error classes

cvTcluster :: String #

cvTgroup :: String #

cvTnode :: String #

cvTinstance :: String #

Cluster Verify error levels

cvWarning :: String #

cvError :: String #

Cluster Verify error codes and documentation

cvEclustercert :: (String, String, String) #

cvEclusterclientcert :: (String, String, String) #

cvEclustercfg :: (String, String, String) #

cvEclusterdanglinginst :: (String, String, String) #

cvEclusterdanglingnodes :: (String, String, String) #

cvEclusterfilecheck :: (String, String, String) #

cvEgroupdifferentpvsize :: (String, String, String) #

cvEinstancebadnode :: (String, String, String) #

cvEinstancedown :: (String, String, String) #

cvEinstancefaultydisk :: (String, String, String) #

cvEinstancelayout :: (String, String, String) #

cvEinstancemissingcfgparameter :: (String, String, String) #

cvEinstancemissingdisk :: (String, String, String) #

cvEinstancepolicy :: (String, String, String) #

cvEinstancesplitgroups :: (String, String, String) #

cvEinstanceunsuitablenode :: (String, String, String) #

cvEinstancewrongnode :: (String, String, String) #

cvEnodedrbd :: (String, String, String) #

cvEnodedrbdhelper :: (String, String, String) #

cvEnodedrbdversion :: (String, String, String) #

cvEnodefilecheck :: (String, String, String) #

cvEnodefilestoragepaths :: (String, String, String) #

cvEnodefilestoragepathunusable :: (String, String, String) #

cvEnodehooks :: (String, String, String) #

cvEnodehv :: (String, String, String) #

cvEnodelvm :: (String, String, String) #

cvEnoden1 :: (String, String, String) #

cvEextags :: (String, String, String) #

cvEnodenet :: (String, String, String) #

cvEnodeoobpath :: (String, String, String) #

cvEnodeorphaninstance :: (String, String, String) #

cvEnodeorphanlv :: (String, String, String) #

cvEnodeos :: (String, String, String) #

cvEnoderpc :: (String, String, String) #

cvEnodesetup :: (String, String, String) #

cvEnodesharedfilestoragepathunusable :: (String, String, String) #

cvEnodeglusterstoragepathunusable :: (String, String, String) #

cvEnodessh :: (String, String, String) #

cvEnodetime :: (String, String, String) #

cvEnodeuserscripts :: (String, String, String) #

cvEnodeversion :: (String, String, String) #

cvAllEcodes :: FrozenSet (String, String, String) #

Node verify constants

nvBridges :: String #

nvClientCert :: String #

nvDrbdhelper :: String #

nvDrbdversion :: String #

nvDrbdlist :: String #

nvExclusivepvs :: String #

nvFilelist :: String #

nvHvinfo :: String #

nvHvparams :: String #

nvHypervisor :: String #

nvInstancelist :: String #

nvLvlist :: String #

nvMasterip :: String #

nvNodelist :: String #

nvNodenettest :: String #

nvNodesetup :: String #

nvOobPaths :: String #

nvOslist :: String #

nvPvlist :: String #

nvTime :: String #

nvUserscripts :: String #

nvVersion :: String #

nvVglist :: String #

nvNonvmnodes :: String #

nvSshSetup :: String #

nvSshClutter :: String #

Instance status

inststAdmindown :: String #

inststErrordown :: String #

inststErrorup :: String #

inststNodedown :: String #

inststRunning :: String #

inststUserdown :: String #

inststWrongnode :: String #

Admin states

adminstDown :: String #

adminstOffline :: String #

adminstUp :: String #

Admin state sources

Node roles

nrDrained :: String #

nrMaster :: String #

nrMcandidate :: String #

nrOffline :: String #

nrRegular :: String #

nrAll :: FrozenSet String #

SSL certificate check constants (in days)

Allocator framework constants

iallocatorDirIn :: String #

Opportunistic allocator usage

defaultOpportunisticRetryInterval :: Int #

Time delay in seconds between repeated opportunistic instance creations. Rather than failing with an informative error message if the opportunistic creation cannot grab enough nodes, for some uses it is better to retry the creation with an interval between attempts. This is a reasonable default.

Node evacuation

nodeEvacPri :: String #

nodeEvacSec :: String #

nodeEvacAll :: String #

Job queue

Unchanged job return

jobNotchanged :: String #

Job status

jobStatusQueued :: String #

jobStatusError :: String #

OpCode status

Not yet finalized opcodes

opStatusQueued :: String #

opStatusRunning :: String #

opStatusWaiting :: String #

Finalized opcodes

opStatusError :: String #

opStatusSuccess :: String #

OpCode priority

opPrioLow :: Int #

opPrioHigh :: Int #

Lock recalculate mode

locksAppend :: String #

locksReplace :: String #

Lock timeout

Execution log types

elogMessage :: String #

elogMessageList :: String #

elogJqueueTest :: String #

elogDelayTest :: String #

etchosts modification

etcHostsAdd :: String #

etcHostsRemove :: String #

Job queue test

jqtMsgprefix :: String #

jqtExec :: String #

jqtExpandnames :: String #

jqtLogmsg :: String #

jqtStartmsg :: String #

jqtAll :: FrozenSet String #

Query resources

qrCluster :: String #

qrExport :: String #

qrExtstorage :: String #

qrGroup :: String #

qrInstance :: String #

qrJob :: String #

qrLock :: String #

qrNetwork :: String #

qrFilter :: String #

qrNode :: String #

qrOs :: String #

qrViaOp :: FrozenSet String #

List of resources which can be queried using OpQuery

qrViaLuxi :: FrozenSet String #

List of resources which can be queried using Local UniX Interface

qrViaRapi :: FrozenSet String #

List of resources which can be queried using RAPI

qrViaRapiPut :: FrozenSet String #

List of resources which can be queried via RAPI including PUT requests

Query field types

qftBool :: String #

qftNumber :: String #

qftNumberFloat :: String #

qftOther :: String #

qftText :: String #

qftTimestamp :: String #

qftUnit :: String #

qftUnknown :: String #

qftAll :: FrozenSet String #

Query result field status

rsNodata :: Int #

No data (e.g. RPC error), can be used instead of rsOffline

rsNormal :: Int #

rsOffline :: Int #

Resource marked offline

rsUnavail :: Int #

Value unavailable/unsupported for item; if this field is supported but we cannot get the data for the moment, rsNodata or rsOffline should be used

rsUnknown :: Int #

rssDescription :: Map Int (String, String) #

Special field cases and their verbose/terse formatting

Max dynamic devices

maxDisks :: Int #

maxNics :: Int #

ssconfFileprefix :: String #

SSCONF file prefix

SSCONF keys

ssClusterName :: String #

ssClusterTags :: String #

ssMasterIp :: String #

ssMasterNetdev :: String #

ssMasterNetmask :: String #

ssMasterNode :: String #

ssNodeList :: String #

ssNodeVmCapable :: String #

ssOfflineNodes :: String #

ssOnlineNodes :: String #

ssInstanceList :: String #

ssUidPool :: String #

ssNodegroups :: String #

ssNetworks :: String #

ssHvparamsPref :: String #

This is not a complete SSCONF key, but the prefix for the hypervisor keys

Hvparams keys

ssFilePerms :: Int #

ssSshPorts :: String #

defaultEnabledHypervisor :: String #

Cluster wide default parameters

hvcDefaults :: Map Hypervisor (Map String PyValueEx) #

becDefaults :: Map String PyValueEx #

ndcDefaults :: Map String PyValueEx #

defaultDelayTarget :: Int #

Default delay target measured in sectors

defaultFillTarget :: Int #

Default fill target measured in sectors

defaultMinRate :: Int #

Default mininum rate measured in KiB/s

defaultPlanAhead :: Int #

Default plan ahead measured in sectors

The default values for the DRBD dynamic resync speed algorithm are taken from the drbsetup 8.3.11 man page, except for c-plan-ahead (that we don't need to set to 0, because we have a separate option to enable it) and for c-max-rate, that we cap to the default value for the static resync rate.

defaultRbdPool :: String #

niccDefaults :: Map String PyValueEx #

ispecsMinmaxDefaults :: Map String (Map String Int) #

All of the following values are quite arbitrary - there are no "good" defaults, these must be customised per-site

Exclusive storage

partMargin :: Double #

Error margin used to compare physical disks

partReserved :: Double #

Space reserved when creating instance disks

Luxid job scheduling

luxidJobqueuePollInterval :: Int #

Time intervall in seconds for polling updates on the job queue. This intervall is only relevant if the number of running jobs reaches the maximal allowed number, as otherwise new jobs will be started immediately anyway. Also, as jobs are watched via inotify, scheduling usually works independent of polling. Therefore we chose a sufficiently large interval, in the order of 5 minutes. As with the interval for reloading the configuration, we chose a prime number to avoid accidental 'same wakeup' with other processes.

luxidMaximalRunningJobsDefault :: Int #

The default value for the maximal number of jobs to be running at the same time. Once the maximal number is reached, new jobs will just be queued and only started, once some of the other jobs have finished.

luxidMaximalTrackedJobsDefault :: Int #

The default value for the maximal number of jobs that luxid tracks via inotify. If the number of running jobs exceeds this limit (which only happens if the user increases the default value of maximal running jobs), new forked jobs are no longer tracked by inotify; progress will still be noticed on the regular polls.

Luxid job death testing

luxidJobDeathDetectionRetries :: Int #

The number of attempts to prove that a job is dead after sending it a KILL signal.

luxidJobDeathDelay :: Int #

Time to delay (in us) after unsucessfully verifying the death of a job we believe to be dead. This is best choosen to be the average time sending a SIGKILL to take effect.

WConfD

wconfdDeathdetectionIntervall :: Int #

Time itnervall in seconds between checks that all lock owners are still alive, and cleaning up the resources for the dead ones. As jobs dying without releasing resources is the exception, not the rule, we don't want this task to take up too many cycles itself. Hence we choose a sufficiently large intervall, in the order of 5 minutes. To avoid accidental 'same wakeup' with other tasks, we choose the next unused prime number.

wconfLivelockPrefix :: String #

The prefix of the WConfD livelock file name.

Confd

Confd request type

Confd repl status

Confd node role

A few common errors for confd

Confd request query fields

confdReqqLink :: String #

confdReqqIp :: String #

confdReqqIplist :: String #

confdReqqFields :: String #

confdMaxClockSkew :: Int #

Each request is "salted" by the current timestamp.

This constant decides how many seconds of skew to accept.

TODO: make this a default and allow the value to be more configurable

confdConfigReloadTimeout :: Int #

When we haven't reloaded the config for more than this amount of seconds, we force a test to see if inotify is betraying us. Using a prime number to ensure we get less chance of 'same wakeup' with other processes.

confdConfigReloadRatelimit :: Int #

If we receive more than one update in this amount of microseconds, we move to polling every RATELIMIT seconds, rather than relying on inotify, to be able to serve more requests.

confdMagicFourcc :: String #

Magic number prepended to all confd queries.

This allows us to distinguish different types of confd protocols and handle them. For example by changing this we can move the whole payload to be compressed, or move away from json.

confdMagicFourccBytes :: ByteString #

The confd magic encoded in bytes

confdDefaultReqCoverage :: Int #

By default a confd request is sent to the minimum between this number and all MCs. 6 was chosen because even in the case of a disastrous 50% response rate, we should have enough answers to be able to compare more than one.

confdClientExpireTimeout :: Int #

Timeout in seconds to expire pending query request in the confd client library. We don't actually expect any answer more than 10 seconds after we sent a request.

maxUdpDataSize :: Int #

Maximum UDP datagram size.

On IPv4: 64K - 20 (ip header size) - 8 (udp header size) = 65507 On IPv6: 64K - 40 (ip6 header size) - 8 (udp header size) = 65487 (assuming we can't use jumbo frames) We just set this to 60K, which should be enough

User-id pool minimum/maximum acceptable user-ids

uidpoolUidMax :: Integer #

Assuming 32 bit user-ids

pgrep :: String #

Name or path of the pgrep command

initialNodeGroupName :: String #

Name of the node group that gets created at cluster init or upgrade

Possible values for NodeGroup.alloc_policy

validAllocPolicies :: [String] #

blockdevDriverManual :: String #

Temporary external/shared storage parameters

qemuimgPath :: String #

'qemu-img' path, required for ovfconverter

iallocHail :: String #

The hail iallocator

Fake opcodes for functions that have hooks attached to them via

Crypto Types

cryptoTypeSsh :: String #

Crypto Actions

cryptoActionGet :: String #

cryptoBootstrap :: String #

Options for CryptoActions

SSH key types

sshkDsa :: String #

sshkEcdsa :: String #

sshkRsa :: String #

sshkAll :: FrozenSet String #

SSH authorized key types

sshakDss :: String #

sshakRsa :: String #

sshakAll :: FrozenSet String #

SSH key default values

SSH setup

sshsClusterName :: String #

sshsSshHostKey :: String #

sshsSshRootKey :: String #

sshsSshKeyType :: String #

sshsSshKeyBits :: String #

sshsMaxRetries :: Integer #

sshsAdd :: String #

sshsRemove :: String #

sshsOverride :: String #

sshsClear :: String #

sshsGenerate :: String #

sshsSuffix :: String #

Key files for SSH daemon

sshHostDsaPriv :: String #

sshHostDsaPub :: String #

sshHostEcdsaPub :: String #

sshHostRsaPriv :: String #

sshHostRsaPub :: String #

sshDaemonKeyfiles :: Map String (String, String) #

Node daemon setup

ndsClusterName :: String #

ndsSsconf :: String #

ndsHmac :: String #

ndsNodeName :: String #

ndsAction :: String #

VCluster related constants

The source reasons for the execution of an OpCode

randomUuidFile :: String #

Path generating random UUID

Auto-repair levels

Auto-repair results

builtinDataCollectorVersion :: String #

The version identifier for builtin data collectors

opcodeReason :: String #

The reason trail opcode parameter name

opcodeSequential :: String #

The reason trail opcode parameter name

diskstatsFile :: String #

CPU load collector

statFile :: String #

cpuavgloadWindowSize :: Int #

Window size for averaging in seconds.

Xen cpu load collector

xentopCommand :: String #

xentopAverageThreshold :: Int #

Minimal observation time in seconds, the xen cpu load collector can report load averages for the first time.

Monitoring daemon

mondTimeInterval :: Int #

Mond's variable for periodical data collection

mondConfigTimeInterval :: Int #

Mond's waiting time for requesting the current configuration.

mondLatestApiVersion :: Int #

Mond's latest API version

Disk access modes

diskUserspace :: String #

diskKernelspace :: String #

upgradeQueueDrainTimeout :: Int #

Timeout for queue draining in upgrades

upgradeQueuePollInterval :: Int #

Intervall at which the queue is polled during upgrades

Hotplug Actions

Hotplug Device Targets

diskRemoveRetryTimeout :: Int #

Timeout for disk removal (seconds)

diskRemoveRetryInterval :: Int #

Interval between disk removal retries (seconds)

UUID regex

uuidRegex :: String #

Luxi constants

luxiKeyMethod :: String #

luxiKeyArgs :: String #

luxiKeySuccess :: String #

luxiKeyResult :: String #

luxiKeyVersion :: String #

luxiReqQuery :: String #

luxiDefCtmo :: Int #

luxiDefRwto :: Int #

luxiWfjcTimeout :: Int #

Luxi WaitForJobChange timeout

luxiLivelockPrefix :: String #

The prefix of the LUXI livelock file name

luxiCancelJobTimeout :: Int #

The LUXI daemon waits this number of seconds for ensuring that a canceled job terminates before giving up.

Master voting constants

masterVotingRetries :: Int #

Number of retries to carry out if nodes do not answer

masterVotingRetryIntervall :: Int #

Retry interval (in seconds) in master voting, if not enough answers could be gathered.

Query language constants

Logic operators with one or more operands, each of which is a

qlangOpAnd :: String #

qlangOpOr :: String #

Unary operators with exactly one operand

qlangOpNot :: String #

qlangOpTrue :: String #

Binary operators with exactly two operands, the field name and

qlangOpContains :: String #

qlangOpEqual :: String #

qlangOpGe :: String #

qlangOpGt :: String #

qlangOpLe :: String #

qlangOpLt :: String #

qlangOpNotEqual :: String #

qlangOpRegexp :: String #

qlangFilterDetectionChars :: FrozenSet String #

Characters used for detecting user-written filters (see L{_CheckFilter})

qlangGlobDetectionChars :: FrozenSet String #

Characters used to detect globbing filters

Error related constants

errorsEcodeEnviron :: String #

Environment error (e.g. node disk error)

errorsEcodeExists :: String #

Entity already exists

errorsEcodeFault :: String #

Internal cluster error

errorsEcodeInval :: String #

Wrong arguments (at syntax level)

errorsEcodeNoent :: String #

Entity not found

errorsEcodeNores :: String #

Not enough resources (iallocator failure, disk space, memory, etc)

errorsEcodeNotunique :: String #

Resource not unique (e.g. MAC or IP duplication)

errorsEcodeResolver :: String #

Resolver errors

errorsEcodeState :: String #

Wrong entity state

errorsEcodeTempNores :: String #

Temporarily out of resources; operation can be tried again

Jstore related constants

Gluster settings

glusterHost :: String #

Name of the Gluster host setting

glusterHostDefault :: String #

Default value of the Gluster host setting

glusterVolume :: String #

Name of the Gluster volume setting

glusterVolumeDefault :: String #

Default value of the Gluster volume setting

glusterPort :: String #

Name of the Gluster port setting

glusterPortDefault :: Int #

Default value of the Gluster port setting

Instance communication

instanceCommunicationNetwork4 :: String #

The instance communication network is a link-local IPv4/IPv6 network because the communication is meant to be exclusive between the host and the guest and not routed outside the node.

privateParametersBlacklist :: [String] #

Parameters that should be protected

Python does not have a type system and can't automatically infer what should be the resulting type of a JSON request. As a result, it must rely on this list of parameter names to protect values correctly.

Names ending in _cluster will be treated as dicts of dicts of private values. Otherwise they are considered dicts of private values.

debugModeConfidentialityWarning :: String #

Warn the user that the logging level is too low for production use.

redacted :: String #

Use to hide secret parameter value

Stat dictionary entries

statSize :: String #

The size of the file

Helper VM-related timeouts

helperVmStartup :: Int #

The default fixed timeout needed to startup the helper VM.

helperVmShutdown :: Int #

The default fixed timeout needed until the helper VM is finally shutdown, for example, after installing the OS.

zeroingTimeoutPerMib :: Double #

The zeroing timeout per MiB of disks to zero

Determined by estimating that a disk writes at a relatively slow speed of 1/5 of the max speed of current drives.

Networking

Data Collectors

dataCollectorLv :: String #

HTools tag prefixes

exTagsPrefix :: String #

cliWfjcFrequency :: Int #

The polling frequency to wait for a job status change

defaultWfjcTimeout :: Int #

Default WaitForJobChange timeout in seconds