Package ganeti :: Package hypervisor :: Module hv_base
[hide private]
[frames] | no frames]

Module hv_base

source code

Base class for all hypervisors

The syntax for the _CHECK variables and the contents of the PARAMETERS dict is the same, see the docstring for BaseHypervisor.PARAMETERS.

Classes [hide private]
  BaseHypervisor
Abstract virtualisation technology interface
Functions [hide private]
 
_IsCpuMaskWellFormed(cpu_mask)
Verifies if the given single CPU mask is valid
source code
 
_IsMultiCpuMaskWellFormed(cpu_mask)
Verifies if the given multiple CPU mask is valid
source code
 
ParamInSet(required, my_set)
Builds parameter checker for set membership.
source code
Variables [hide private]
  _FILE_CHECK = utils.IsNormAbsPath, "must be an absolute normal...
stub for file checks, without the required flag
  _DIR_CHECK = utils.IsNormAbsPath, "must be an absolute normali...
stub for directory checks, without the required flag
  _CPU_MASK_CHECK = _IsCpuMaskWellFormed, "CPU mask definition i...
  _MULTI_CPU_MASK_CHECK = _IsMultiCpuMaskWellFormed, "Multiple C...
  _NET_PORT_CHECK = lambda x: 0 < x < 65535, "invalid port numbe...
  _NONNEGATIVE_INT_CHECK = lambda x: x >= 0, "cannot be negative...
  REQ_FILE_CHECK = True,+ _FILE_CHECK
mandatory file parameter
  OPT_FILE_CHECK = False,+ _FILE_CHECK
optional file parameter
  REQ_DIR_CHECK = True,+ _DIR_CHECK
mandatory directory parametr
  OPT_DIR_CHECK = False,+ _DIR_CHECK
optional directory parameter
  REQ_NET_PORT_CHECK = True,+ _NET_PORT_CHECK
  OPT_NET_PORT_CHECK = False,+ _NET_PORT_CHECK
  REQ_CPU_MASK_CHECK = True,+ _CPU_MASK_CHECK
  OPT_CPU_MASK_CHECK = False,+ _CPU_MASK_CHECK
  REQ_MULTI_CPU_MASK_CHECK = True,+ _MULTI_CPU_MASK_CHECK
  OPT_MULTI_CPU_MASK_CHECK = False,+ _MULTI_CPU_MASK_CHECK
  REQ_NONNEGATIVE_INT_CHECK = True,+ _NONNEGATIVE_INT_CHECK
  OPT_NONNEGATIVE_INT_CHECK = False,+ _NONNEGATIVE_INT_CHECK
  NO_CHECK = False, None, None, None, None
parameter without any checks at all
  REQUIRED_CHECK = True, None, None, None, None
parameter required to exist (and non-false), but without other checks; beware that this can't be used for boolean parameters, where you should use NO_CHECK or a custom checker
  MIGRATION_MODE_CHECK = True, lambda x: x in constants.HT_MIGRA...

Imports: os, re, logging, errors, utils, constants


Function Details [hide private]

_IsCpuMaskWellFormed(cpu_mask)

source code 

Verifies if the given single CPU mask is valid

The single CPU mask should be in the form "a,b,c,d", where each letter is a positive number or range.

_IsMultiCpuMaskWellFormed(cpu_mask)

source code 

Verifies if the given multiple CPU mask is valid

A valid multiple CPU mask is in the form "a:b:c:d", where each letter is a single CPU mask.

ParamInSet(required, my_set)

source code 

Builds parameter checker for set membership.

Parameters:
  • required (boolean) - whether this is a required parameter
  • my_set (tuple, list or set) - allowed values set

Variables Details [hide private]

_FILE_CHECK

stub for file checks, without the required flag
Value:
utils.IsNormAbsPath, "must be an absolute normalized path", os.path.is\
file, "not found or not a file"

_DIR_CHECK

stub for directory checks, without the required flag
Value:
utils.IsNormAbsPath, "must be an absolute normalized path", os.path.is\
dir, "not found or not a directory"

_CPU_MASK_CHECK

Value:
_IsCpuMaskWellFormed, "CPU mask definition is not well-formed", None, \
None

_MULTI_CPU_MASK_CHECK

Value:
_IsMultiCpuMaskWellFormed, "Multiple CPU mask definition is not well-f\
ormed", None, None

_NET_PORT_CHECK

Value:
lambda x: 0 < x < 65535, "invalid port number", None, None

_NONNEGATIVE_INT_CHECK

Value:
lambda x: x >= 0, "cannot be negative", None, None

MIGRATION_MODE_CHECK

Value:
True, lambda x: x in constants.HT_MIGRATION_MODES, "invalid migration \
mode", None, None