Safe Haskell | Safe-Infered |
---|
Cluster rebalancer.
- options :: IO [OptType]
- arguments :: [ArgCompletion]
- type Annotator = OpCode -> MetaOpCode
- annotateOpCode :: Annotator
- iterateDepth :: Bool -> Table -> Int -> Bool -> Bool -> Bool -> Int -> Int -> [MoveJob] -> Score -> Score -> Score -> Bool -> IO (Table, [MoveJob])
- printStats :: List -> List -> IO ()
- execCancelWrapper :: Annotator -> String -> List -> List -> IORef Int -> [JobSet] -> IO (Result ())
- execJobSet :: Annotator -> String -> List -> List -> IORef Int -> [JobSet] -> IO (Result ())
- maybeExecJobs :: Options -> [a] -> List -> List -> [JobSet] -> IO (Result ())
- handleSigInt :: IORef Int -> IO ()
- handleSigTerm :: IORef Int -> IO ()
- execWithCancel :: Annotator -> String -> List -> List -> [JobSet] -> IO (Result ())
- selectGroup :: Options -> List -> List -> List -> IO (String, (List, List))
- checkCluster :: Int -> List -> List -> IO ()
- checkGroup :: Int -> String -> List -> List -> IO ()
- checkNeedRebalance :: Options -> Score -> IO ()
- main :: Options -> [String] -> IO ()
Documentation
arguments :: [ArgCompletion]Source
The list of arguments supported by the program.
type Annotator = OpCode -> MetaOpCodeSource
:: Bool | Whether to print moves |
-> Table | The starting table |
-> Int | Remaining length |
-> Bool | Allow disk moves |
-> Bool | Allow instance moves |
-> Bool | Resrict migration |
-> Int | Max node name len |
-> Int | Max instance name len |
-> [MoveJob] | Current command list |
-> Score | Score at which to stop |
-> Score | Min gain limit |
-> Score | Min score gain |
-> Bool | Enable evacuation mode |
-> 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
execCancelWrapper :: Annotator -> String -> List -> List -> IORef Int -> [JobSet] -> IO (Result ())Source
handleSigInt :: IORef Int -> IO ()Source
handleSigTerm :: IORef Int -> IO ()Source
checkCluster :: Int -> List -> List -> IO ()Source
checkGroup :: Int -> String -> List -> List -> IO ()Source
checkNeedRebalance :: Options -> Score -> IO ()Source