Package ganeti :: Module mcpu
[hide private]
[frames] | no frames]

Module mcpu

source code

Module implementing the logic behind the cluster operations

This module implements the logic for doing operations in the cluster. There are two kinds of classes defined:

Classes [hide private]
  LockAcquireTimeout
Exception to report timeouts on acquiring locks.
  LockAttemptTimeoutStrategy
Class with lock acquire timeout strategy.
  OpExecCbBase
Base class for OpCode execution callbacks.
  Processor
Object which runs OpCodes
  HooksMaster
Functions [hide private]
 
_CalculateLockAttemptTimeouts()
Calculate timeouts for lock attempts.
source code
 
_LUNameForOpName(opname)
Computes the LU name for a given OpCode name.
source code
 
_ComputeDispatchTable()
Computes the opcode-to-lu dispatch table.
source code
 
_SetBaseOpParams(src, defcomment, dst)
Copies basic opcode parameters.
source code
 
_ProcessResult(submit_fn, op, result)
Examines opcode result.
source code
 
_FailingSubmitManyJobs(_)
Implementation of OpExecCbBase.SubmitManyJobs to raise an exception.
source code
dict(node: (fail_msg, offline, hooks_results))
_RpcResultsToHooksResults(rpc_results)
Function to convert RPC results to the format expected by HooksMaster.
source code
Variables [hide private]
  _OP_PREFIX = "Op"
  _LU_PREFIX = "LU"

Imports: logging, random, time, itertools, opcodes, constants, errors, cmdlib, locking, utils, compat


Function Details [hide private]

_SetBaseOpParams(src, defcomment, dst)

source code 

Copies basic opcode parameters.

Parameters:
  • src (opcodes.OpCode) - Source opcode
  • defcomment (string) - Comment to specify if not already given
  • dst (opcodes.OpCode) - Destination opcode

_ProcessResult(submit_fn, op, result)

source code 

Examines opcode result.

If necessary, additional processing on the result is done.

_RpcResultsToHooksResults(rpc_results)

source code 

Function to convert RPC results to the format expected by HooksMaster.

Parameters:
Returns: dict(node: (fail_msg, offline, hooks_results))
RPC results unpacked according to the format expected by L({mcpu.HooksMaster}