ganeti
Safe HaskellNone

Ganeti.HTools.Program.Hbal

Description

Cluster rebalancer.

Synopsis

Documentation

options :: IO [OptType] Source #

Options list and functions.

arguments :: [ArgCompletion] Source #

The list of arguments supported by the program.

annotateOpCode :: Maybe String -> Timestamp -> Annotator Source #

Wraps an OpCode in a MetaOpCode while also adding a comment about what generated the opcode.

iterateDepth Source #

Arguments

:: Bool

Whether to print moves

-> AlgorithmOptions

Algorithmic options to apply

-> Table

The starting table

-> Int

Remaining length

-> Int

Max node name len

-> Int

Max instance name len

-> [MoveJob]

Current command list

-> Score

Score at which to stop

-> IO (Table, [MoveJob])

The resulting table and commands

Start computing the solution at the given depth and recurse until we find a valid solution or we exceed the maximum depth.

printStats :: List -> List -> IO () Source #

Displays the cluster stats.

maybeExecJobs :: Options -> [a] -> List -> List -> [JobSet] -> IO (Result ()) Source #

Executes the jobs, if possible and desired.

selectGroup :: Options -> List -> List -> List -> IO (String, (List, List)) Source #

Select the target node group.

checkCluster :: Int -> List -> List -> IO () Source #

Do a few checks on the cluster data.

checkGroup :: Bool -> Int -> String -> List -> List -> IO () Source #

Do a few checks on the selected group data.

checkNeedRebalance :: Options -> Score -> Score -> IO () Source #

Check that we actually need to rebalance.

main :: Options -> [String] -> IO () Source #

Main function.