ganeti
Safe HaskellNone

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] Source #

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

hasGnuLn :: Bool Source #

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

Build-time constants

exportDir :: String Source #

backupDir :: String Source #

osSearchPath :: [String] Source #

esSearchPath :: [String] Source #

sysconfdir :: String Source #

toolsdir :: String Source #

Paths which don't change for a virtual cluster

pkglibdir :: String Source #

sharedir :: String Source #

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

manPages :: Map String Int Source #

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

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

gntScripts :: [String] Source #

Various versions

dirVersion :: String Source #

exportVersion :: Int Source #

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.

configRevision :: Int Source #

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

protocolVersion :: Int Source #

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

User separation

adminGroup :: String Source #

masterdUser :: String Source #

metadUser :: String Source #

metadGroup :: String Source #

rapiUser :: String Source #

rapiGroup :: String Source #

confdUser :: String Source #

confdGroup :: String Source #

wconfdUser :: String Source #

wconfdGroup :: String Source #

kvmdUser :: String Source #

kvmdGroup :: String Source #

luxidUser :: String Source #

luxidGroup :: String Source #

nodedUser :: String Source #

nodedGroup :: String Source #

mondUser :: String Source #

mondGroup :: String Source #

Cpu pinning separators and constants

cpuPinningAllVal :: Int Source #

Internal representation of "all"

cpuPinningOff :: [Int] Source #

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

cpuPinningAllXen :: String Source #

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 Source #

ddBlockSize :: Int Source #

1 MiB The default block size for the dd command

Directories

autoconf enable/disable

SSH constants

ssh :: String Source #

scp :: String Source #

Daemons

confd :: String Source #

masterd :: String Source #

metad :: String Source #

mond :: String Source #

noded :: String Source #

wconfd :: String Source #

luxid :: String Source #

rapi :: String Source #

kvmd :: String Source #

daemonsPorts :: Map String (Protocol, Int) Source #

daemonsLogbase :: Map String String Source #

daemonsExtraLogbase :: Map String (Map String String) Source #

devConsole :: String Source #

procMounts :: String Source #

Luxi (Local UniX Interface) related constants

luxiEom :: ByteString Source #

luxiOverride :: String Source #

Environment variable for the luxi override socket

Syslog

syslogUsage :: String Source #

syslogNo :: String Source #

syslogYes :: String Source #

syslogOnly :: String Source #

Xen

xenCmdXl :: String Source #

xenCmdXm :: String Source #

xenInitrd :: String Source #

xenKernel :: String Source #

xlSocatCmd :: String Source #

KVM and socat

kvmPath :: String Source #

kvmKernel :: String Source #

socatPath :: String Source #

LXC

Console types

consMessage :: String Source #

Display a message for console access

consSpice :: String Source #

Console as SPICE server

consSsh :: String Source #

Console as SSH command

consVnc :: String Source #

Console as VNC server

rsaKeyBits :: Int Source #

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 Source #

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 Source #

commonName (CN) used in certificates

x509CertDefaultValidity :: Int Source #

Default validity of certificates in days

x509CertSignDigest :: String Source #

Digest used to sign certificates

Import/export daemon mode

iemExport :: String Source #

iemImport :: String Source #

Import/export transport compression

iecGzip :: String Source #

iecGzipFast :: String Source #

iecGzipSlow :: String Source #

iecLzop :: String Source #

iecNone :: String Source #

iecAll :: [String] Source #

iecCompressionUtilities :: Map String String Source #

Importexport IO

ieioFile :: String Source #

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

ieioRawDisk :: String Source #

Raw block device I/O using "dd"

ieioScript :: String Source #

OS definition import/export script

Values

valueAuto :: String Source #

valueNone :: String Source #

valueTrue :: String Source #

valueFalse :: String Source #

Hooks

hooksPath :: String Source #

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

htypeGroup :: String Source #

htypeNode :: String Source #

Hkr

Storage types

stBlock :: String Source #

stDiskless :: String Source #

stExt :: String Source #

stFile :: String Source #

stGluster :: String Source #

stLvmPv :: String Source #

stLvmVg :: String Source #

stRados :: String Source #

stsReport :: FrozenSet String Source #

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

stsReportNodeStorage :: FrozenSet String Source #

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 Source #

sfType :: String Source #

and the rest are valid in backend

sfFree :: String Source #

sfName :: String Source #

sfSize :: String Source #

sfUsed :: String Source #

modifiableStorageFields :: Map String (FrozenSet String) Source #

Storage operations

validStorageOperations :: Map String (FrozenSet String) Source #

Volume fields

vfDev :: String Source #

vfInstance :: String Source #

vfName :: String Source #

vfNode :: String Source #

vfPhys :: String Source #

vfSize :: String Source #

vfVg :: String Source #

Local disk status

ldsNames :: Map Int String Source #

Disk template types

dtDiskless :: String Source #

dtFile :: String Source #

dtPlain :: String Source #

dtBlock :: String Source #

dtDrbd8 :: String Source #

dtRbd :: String Source #

dtExt :: String Source #

dtGluster :: String Source #

dtMixed :: String Source #

diskTemplatePreference :: [String] Source #

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] Source #

Disk templates that are enabled by default

mapDiskTemplateStorageType :: Map String String Source #

Mapping of disk templates to storage types

dtsIntMirror :: FrozenSet String Source #

The set of network-mirrored disk templates

dtsExtMirror :: FrozenSet String Source #

DTDiskless is trivially externally mirrored

dtsNotLvm :: FrozenSet String Source #

The set of non-lvm-based disk templates

dtsGrowable :: FrozenSet String Source #

The set of disk templates which can be grown

dtsMayAdopt :: FrozenSet String Source #

The set of disk templates that allow adoption

dtsMustAdopt :: FrozenSet String Source #

The set of disk templates that *must* use adoption

dtsMirrored :: FrozenSet String Source #

The set of disk templates that allow migrations

dtsFilebased :: FrozenSet String Source #

The set of file based disk templates

dtsInstanceDependentPath :: FrozenSet String Source #

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

dtsCopyable :: FrozenSet String Source #

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 Source #

The set of disk templates which can be snapshot.

dtsExclStorage :: FrozenSet String Source #

The set of disk templates that are supported by exclusive_storage

dtsNoFreeSpaceCheck :: FrozenSet String Source #

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

dtsLvm :: FrozenSet String Source #

The set of lvm-based disk templates

dtsHaveAccess :: FrozenSet String Source #

The set of lvm-based disk templates

dtsNotConvertibleFrom :: FrozenSet String Source #

The set of disk templates that cannot convert from

dtsNotConvertibleTo :: FrozenSet String Source #

The set of disk templates that cannot convert to

Drbd

drbdHmacAlg :: String Source #

drbdSecretLength :: Int Source #

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

drbdMetaSize :: Int Source #

Size of DRBD meta block device

Drbd barrier types

drbdBNone :: String Source #

drbdValidBarrierOpt :: FrozenSet (FrozenSet String) Source #

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

rbdCmd :: String Source #

Rbd tool command

File backend driver

fdBlktap :: String Source #

fdBlktap2 :: String Source #

fdLoop :: String Source #

fdDefault :: String Source #

dtsDrbd :: FrozenSet String Source #

The set of drbd-like disk types

Disk access mode

diskRdonly :: String Source #

diskRdwr :: String Source #

Disk replacement mode

Instance export mode

Instance creation modes

Remote import/export handshake message and version

rieCertValidity :: Int Source #

Remote import/export certificate validity (seconds)

rieConnectAttemptTimeout :: Int Source #

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

rieConnectRetries :: Int Source #

Export only: number of attempts to connect

rieConnectTimeout :: Int Source #

Overall timeout for establishing connection

childLingerTimeout :: Double Source #

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

Import/export config options

inisectBep :: String Source #

inisectExp :: String Source #

inisectHyp :: String Source #

inisectIns :: String Source #

inisectOsp :: String Source #

Dynamic device modification

ddmAdd :: String Source #

ddmAttach :: String Source #

ddmModify :: String Source #

ddmRemove :: String Source #

ddmDetach :: String Source #

Common exit codes

exitConfirmation :: Int Source #

Need user confirmation

exitUnknownField :: Int Source #

Exit code for query operations with unknown fields

Tags

tagCluster :: String Source #

tagInstance :: String Source #

tagNetwork :: String Source #

tagNode :: String Source #

Others

defaultOvs :: String Source #

classicDrbdSyncSpeed :: Int Source #

60 MiBs, expressed in KiBs

defaultVg :: String Source #

defaultShutdownTimeout :: Int Source #

Default maximum instance wait time (seconds)

nodeMaxClockSkew :: Int Source #

Node clock skew (seconds)

diskTransferConnectTimeout :: Int Source #

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

diskSeparator :: String Source #

Disk index separator

jobIdsKey :: String Source #

Key for job IDs in opcode result

Runparts results

RPC

Timeout table

rpcTmo_4hrs :: Int Source #

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

rpcTmo_1day :: Int Source #

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

rpcConnectTimeout :: Int Source #

Timeout for connecting to nodes (seconds)

osScripts :: [String] Source #

osApiFile :: String Source #

esActionAttach :: String Source #

External Storage (ES) related constants

Reboot types

Instance reboot behaviors

VTypes

vtypeSize :: VType Source #

Size in MiBs

ifaceNoIpVersionSpecified :: Int Source #

Constant representing that the user does not specify any IP version

HV parameter names (global namespace)

hvAcpi :: String Source #

hvBootOrder :: String Source #

hvCpuCap :: String Source #

hvCpuCores :: String Source #

hvCpuMask :: String Source #

hvCpuType :: String Source #

hvCpuWeight :: String Source #

hvDiskCache :: String Source #

hvDiskType :: String Source #

hvKeymap :: String Source #

hvKvmExtra :: String Source #

hvKvmFlag :: String Source #

hvKvmPath :: String Source #

hvMemPath :: String Source #

hvNicType :: String Source #

hvPae :: String Source #

hvRootPath :: String Source #

hvSoundhw :: String Source #

hvUsbMouse :: String Source #

hvVga :: String Source #

hvVhostNet :: String Source #

hvVifScript :: String Source #

hvVifType :: String Source #

hvViridian :: String Source #

hvVncTls :: String Source #

hvVncX509 :: String Source #

hvVnetHdr :: String Source #

hvXenCmd :: String Source #

hvXenCpuid :: String Source #

hvsParameterTitles :: Map String String Source #

Migration statuses

hvKvmMigrationPostcopyActive :: String Source #

KVM-specific statuses

hvNodeinfoKeyVersion :: String Source #

Node info keys

Hypervisor state

hvstCpuNode :: String Source #

hvstDefaults :: Map String Int Source #

Disk state

dsDiskTotal :: String Source #

dsDefaults :: Map String Int Source #

beMaxmem :: String Source #

beMemory :: String Source #

Deprecated and replaced by max and min mem

beMinmem :: String Source #

beVcpus :: String Source #

besParameterTitles :: Map String String Source #

ispecMemSize :: String Source #

Instance specs

FIXME: these should be associated with ISpec

ispecsMax :: String Source #

ispecsMin :: String Source #

ispecsStd :: String Source #

ipolicyDts :: String Source #

ndExclusiveStorage :: String Source #

Node parameter names

ndOvs :: String Source #

ndOvsLink :: String Source #

ndOvsName :: String Source #

ndSshPort :: String Source #

ndCpuSpeed :: String Source #

ndsParameterTitles :: Map String String Source #

Logical Disks parameters

ldpAccess :: String Source #

ldpBarriers :: String Source #

ldpMaxRate :: String Source #

ldpMinRate :: String Source #

ldpPool :: String Source #

ldpProtocol :: String Source #

ldpStripes :: String Source #

diskLdTypes :: Map String VType Source #

Disk template parameters

drbdMaxRate :: String Source #

drbdMinRate :: String Source #

lvStripes :: String Source #

rbdAccess :: String Source #

rbdPool :: String Source #

diskDtTypes :: Map String VType Source #

Dynamic disk parameters

ddpLocalIp :: String Source #

ddpRemoteIp :: String Source #

ddpPort :: String Source #

OOB supported commands

oobPowerOn :: String Source #

oobPowerOff :: String Source #

oobHealth :: String Source #

oobTimeout :: Int Source #

60 seconds

oobPowerDelay :: Double Source #

2 seconds

oobStatusOk :: String Source #

ppDefault :: String Source #

Instance Parameters Profile

nic* constants are used inside the ganeti config

nicLink :: String Source #

nicMode :: String Source #

nicVlan :: String Source #

nicModeOvs :: String Source #

nicIpPool :: String Source #

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

idiskAdopt :: String Source #

idiskMetavg :: String Source #

idiskMode :: String Source #

idiskName :: String Source #

idiskSize :: String Source #

idiskVg :: String Source #

idiskAccess :: String Source #

idiskType :: String Source #

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

inicBridge :: String Source #

inicIp :: String Source #

inicLink :: String Source #

inicMac :: String Source #

inicMode :: String Source #

inicName :: String Source #

inicNetwork :: String Source #

inicVlan :: String Source #

Hypervisor constants

htXenPvm :: String Source #

htFake :: String Source #

htXenHvm :: String Source #

htKvm :: String Source #

htChroot :: String Source #

htLxc :: String Source #

NIC types

htNicE1000 :: String Source #

htNicI82551 :: String Source #

htNicPcnet :: String Source #

Vif types

htHvmVifIoemu :: String Source #

Default vif type in xen-hvm

htHvmVifVif :: String Source #

Disk types

htDiskIde :: String Source #

htDiskIoemu :: String Source #

htDiskMtd :: String Source #

htDiskScsi :: String Source #

htDiskSd :: String Source #

SCSI controller types

htCacheNone :: String Source #

Mouse types

Boot order

htBoCdrom :: String Source #

htBoDisk :: String Source #

htBoFloppy :: String Source #

htBoNetwork :: String Source #

SPICE lossless image compression options

SPICE video stream detection

Security models

htSmNone :: String Source #

htSmPool :: String Source #

htSmUser :: String Source #

Kvm flag values

Migration type

Cluster verify steps

Cluster Verify error classes

cvTcluster :: String Source #

cvTgroup :: String Source #

cvTnode :: String Source #

cvTinstance :: String Source #

Cluster Verify error levels

cvWarning :: String Source #

cvError :: String Source #

Cluster Verify error codes and documentation

cvEclustercert :: (String, String, String) Source #

cvEclusterclientcert :: (String, String, String) Source #

cvEclustercfg :: (String, String, String) Source #

cvEclusterdanglinginst :: (String, String, String) Source #

cvEclusterdanglingnodes :: (String, String, String) Source #

cvEclusterfilecheck :: (String, String, String) Source #

cvEgroupdifferentpvsize :: (String, String, String) Source #

cvEinstancebadnode :: (String, String, String) Source #

cvEinstancedown :: (String, String, String) Source #

cvEinstancefaultydisk :: (String, String, String) Source #

cvEinstancelayout :: (String, String, String) Source #

cvEinstancemissingcfgparameter :: (String, String, String) Source #

cvEinstancemissingdisk :: (String, String, String) Source #

cvEinstancepolicy :: (String, String, String) Source #

cvEinstancesplitgroups :: (String, String, String) Source #

cvEinstanceunsuitablenode :: (String, String, String) Source #

cvEinstancewrongnode :: (String, String, String) Source #

cvEnodedrbd :: (String, String, String) Source #

cvEnodedrbdhelper :: (String, String, String) Source #

cvEnodedrbdversion :: (String, String, String) Source #

cvEnodefilecheck :: (String, String, String) Source #

cvEnodefilestoragepaths :: (String, String, String) Source #

cvEnodefilestoragepathunusable :: (String, String, String) Source #

cvEnodehooks :: (String, String, String) Source #

cvEnodehv :: (String, String, String) Source #

cvEnodelvm :: (String, String, String) Source #

cvEnoden1 :: (String, String, String) Source #

cvEextags :: (String, String, String) Source #

cvEnodenet :: (String, String, String) Source #

cvEnodeoobpath :: (String, String, String) Source #

cvEnodeorphaninstance :: (String, String, String) Source #

cvEnodeorphanlv :: (String, String, String) Source #

cvEnodeos :: (String, String, String) Source #

cvEnoderpc :: (String, String, String) Source #

cvEnodesetup :: (String, String, String) Source #

cvEnodesharedfilestoragepathunusable :: (String, String, String) Source #

cvEnodeglusterstoragepathunusable :: (String, String, String) Source #

cvEnodessh :: (String, String, String) Source #

cvEnodetime :: (String, String, String) Source #

cvEnodeuserscripts :: (String, String, String) Source #

cvEnodeversion :: (String, String, String) Source #

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

Node verify constants

nvBridges :: String Source #

nvDrbdlist :: String Source #

nvFilelist :: String Source #

nvHvinfo :: String Source #

nvHvparams :: String Source #

nvLvlist :: String Source #

nvMasterip :: String Source #

nvNodelist :: String Source #

nvNodesetup :: String Source #

nvOobPaths :: String Source #

nvOslist :: String Source #

nvPvlist :: String Source #

nvTime :: String Source #

nvVersion :: String Source #

nvVglist :: String Source #

nvSshSetup :: String Source #

Instance status

Admin states

adminstDown :: String Source #

adminstUp :: String Source #

Admin state sources

Node roles

nrDrained :: String Source #

nrMaster :: String Source #

nrOffline :: String Source #

nrRegular :: String Source #

SSL certificate check constants (in days)

Allocator framework constants

Opportunistic allocator usage

defaultOpportunisticRetryInterval :: Int Source #

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 Source #

nodeEvacSec :: String Source #

nodeEvacAll :: String Source #

Job queue

Unchanged job return

Job status

OpCode status

Not yet finalized opcodes

Finalized opcodes

OpCode priority

Lock recalculate mode

locksAppend :: String Source #

Lock timeout

Execution log types

elogMessage :: String Source #

etchosts modification

etcHostsAdd :: String Source #

Job queue test

jqtExec :: String Source #

jqtLogmsg :: String Source #

jqtStartmsg :: String Source #

Query resources

qrCluster :: String Source #

qrExport :: String Source #

qrGroup :: String Source #

qrInstance :: String Source #

qrJob :: String Source #

qrLock :: String Source #

qrNetwork :: String Source #

qrFilter :: String Source #

qrNode :: String Source #

qrOs :: String Source #

qrViaOp :: FrozenSet String Source #

List of resources which can be queried using OpQuery

qrViaLuxi :: FrozenSet String Source #

List of resources which can be queried using Local UniX Interface

qrViaRapi :: FrozenSet String Source #

List of resources which can be queried using RAPI

qrViaRapiPut :: FrozenSet String Source #

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

Query field types

qftBool :: String Source #

qftNumber :: String Source #

qftOther :: String Source #

qftText :: String Source #

qftUnit :: String Source #

qftUnknown :: String Source #

Query result field status

rsNodata :: Int Source #

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

rsOffline :: Int Source #

Resource marked offline

rsUnavail :: Int Source #

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

rssDescription :: Map Int (String, String) Source #

Special field cases and their verbose/terse formatting

Max dynamic devices

ssconfFileprefix :: String Source #

SSCONF file prefix

SSCONF keys

ssMasterIp :: String Source #

ssNodeList :: String Source #

ssUidPool :: String Source #

ssNetworks :: String Source #

ssHvparamsPref :: String Source #

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

Hvparams keys

ssSshPorts :: String Source #

defaultEnabledHypervisor :: String Source #

Cluster wide default parameters

defaultDelayTarget :: Int Source #

Default delay target measured in sectors

defaultFillTarget :: Int Source #

Default fill target measured in sectors

defaultMinRate :: Int Source #

Default mininum rate measured in KiB/s

defaultPlanAhead :: Int Source #

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.

ispecsMinmaxDefaults :: Map String (Map String Int) Source #

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

Exclusive storage

partMargin :: Double Source #

Error margin used to compare physical disks

partReserved :: Double Source #

Space reserved when creating instance disks

Luxid job scheduling

luxidJobqueuePollInterval :: Int Source #

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 Source #

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 Source #

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 Source #

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

luxidJobDeathDelay :: Int Source #

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 Source #

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 Source #

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

confdReqqIp :: String Source #

confdMaxClockSkew :: Int Source #

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 Source #

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 Source #

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 Source #

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 Source #

The confd magic encoded in bytes

confdDefaultReqCoverage :: Int Source #

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 Source #

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 Source #

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 Source #

Assuming 32 bit user-ids

pgrep :: String Source #

Name or path of the pgrep command

initialNodeGroupName :: String Source #

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

Possible values for NodeGroup.alloc_policy

blockdevDriverManual :: String Source #

Temporary external/shared storage parameters

qemuimgPath :: String Source #

'qemu-img' path, required for ovfconverter

iallocHail :: String Source #

The hail iallocator

Fake opcodes for functions that have hooks attached to them via

Crypto Types

Crypto Actions

Options for CryptoActions

SSH key types

sshkDsa :: String Source #

sshkEcdsa :: String Source #

sshkRsa :: String Source #

SSH authorized key types

sshakDss :: String Source #

sshakRsa :: String Source #

SSH key default values

SSH setup

sshsAdd :: String Source #

sshsRemove :: String Source #

sshsClear :: String Source #

sshsSuffix :: String Source #

Key files for SSH daemon

sshDaemonKeyfiles :: Map String (String, String) Source #

Node daemon setup

ndsSsconf :: String Source #

ndsHmac :: String Source #

ndsNodeName :: String Source #

ndsAction :: String Source #

VCluster related constants

The source reasons for the execution of an OpCode

randomUuidFile :: String Source #

Path generating random UUID

Auto-repair levels

Auto-repair results

builtinDataCollectorVersion :: String Source #

The version identifier for builtin data collectors

opcodeReason :: String Source #

The reason trail opcode parameter name

opcodeSequential :: String Source #

The reason trail opcode parameter name

CPU load collector

statFile :: String Source #

cpuavgloadWindowSize :: Int Source #

Window size for averaging in seconds.

Xen cpu load collector

xentopAverageThreshold :: Int Source #

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

Monitoring daemon

mondTimeInterval :: Int Source #

Mond's variable for periodical data collection

mondConfigTimeInterval :: Int Source #

Mond's waiting time for requesting the current configuration.

mondLatestApiVersion :: Int Source #

Mond's latest API version

Disk access modes

upgradeQueueDrainTimeout :: Int Source #

Timeout for queue draining in upgrades

upgradeQueuePollInterval :: Int Source #

Intervall at which the queue is polled during upgrades

Hotplug Actions

Hotplug Device Targets

diskRemoveRetryTimeout :: Int Source #

Timeout for disk removal (seconds)

diskRemoveRetryInterval :: Int Source #

Interval between disk removal retries (seconds)

UUID regex

uuidRegex :: String Source #

Luxi constants

luxiKeyArgs :: String Source #

luxiWfjcTimeout :: Int Source #

Luxi WaitForJobChange timeout

luxiLivelockPrefix :: String Source #

The prefix of the LUXI livelock file name

luxiCancelJobTimeout :: Int Source #

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

Master voting constants

masterVotingRetries :: Int Source #

Number of retries to carry out if nodes do not answer

masterVotingRetryIntervall :: Int Source #

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 Source #

qlangOpOr :: String Source #

Unary operators with exactly one operand

qlangOpNot :: String Source #

qlangOpTrue :: String Source #

Binary operators with exactly two operands, the field name and

qlangOpGe :: String Source #

qlangOpGt :: String Source #

qlangOpLe :: String Source #

qlangOpLt :: String Source #

qlangFilterDetectionChars :: FrozenSet String Source #

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

qlangGlobDetectionChars :: FrozenSet String Source #

Characters used to detect globbing filters

Error related constants

errorsEcodeEnviron :: String Source #

Environment error (e.g. node disk error)

errorsEcodeExists :: String Source #

Entity already exists

errorsEcodeFault :: String Source #

Internal cluster error

errorsEcodeInval :: String Source #

Wrong arguments (at syntax level)

errorsEcodeNoent :: String Source #

Entity not found

errorsEcodeNores :: String Source #

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

errorsEcodeNotunique :: String Source #

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

errorsEcodeResolver :: String Source #

Resolver errors

errorsEcodeState :: String Source #

Wrong entity state

errorsEcodeTempNores :: String Source #

Temporarily out of resources; operation can be tried again

Jstore related constants

Gluster settings

glusterHost :: String Source #

Name of the Gluster host setting

glusterHostDefault :: String Source #

Default value of the Gluster host setting

glusterVolume :: String Source #

Name of the Gluster volume setting

glusterVolumeDefault :: String Source #

Default value of the Gluster volume setting

glusterPort :: String Source #

Name of the Gluster port setting

glusterPortDefault :: Int Source #

Default value of the Gluster port setting

Instance communication

instanceCommunicationNetwork4 :: String Source #

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] Source #

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 Source #

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

redacted :: String Source #

Use to hide secret parameter value

Stat dictionary entries

statSize :: String Source #

The size of the file

Helper VM-related timeouts

helperVmStartup :: Int Source #

The default fixed timeout needed to startup the helper VM.

helperVmShutdown :: Int Source #

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

zeroingTimeoutPerMib :: Double Source #

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

HTools tag prefixes

cliWfjcFrequency :: Int Source #

The polling frequency to wait for a job status change

defaultWfjcTimeout :: Int Source #

Default WaitForJobChange timeout in seconds