Revision 73d12eab
b/htools/Ganeti/HTools/Cluster.hs | ||
---|---|---|
597 | 597 |
tryBalance ini_tbl disk_moves inst_moves evac_mode mg_limit min_gain = |
598 | 598 |
let Table ini_nl ini_il ini_cv _ = ini_tbl |
599 | 599 |
all_inst = Container.elems ini_il |
600 |
all_nodes = Container.elems ini_nl |
|
601 |
(offline_nodes, online_nodes) = partition Node.offline all_nodes |
|
600 | 602 |
all_inst' = if evac_mode |
601 |
then let bad_nodes = map Node.idx . filter Node.offline $ |
|
602 |
Container.elems ini_nl |
|
603 |
in filter (any (`elem` bad_nodes) . Instance.allNodes) |
|
604 |
all_inst |
|
605 |
else all_inst |
|
603 |
then let bad_nodes = map Node.idx offline_nodes |
|
604 |
in filter (any (`elem` bad_nodes) . |
|
605 |
Instance.allNodes) all_inst |
|
606 |
else all_inst |
|
606 | 607 |
reloc_inst = filter Instance.movable all_inst' |
607 |
node_idx = map Node.idx . filter (not . Node.offline) $ |
|
608 |
Container.elems ini_nl |
|
608 |
node_idx = map Node.idx online_nodes |
|
609 | 609 |
fin_tbl = checkMove node_idx disk_moves inst_moves ini_tbl reloc_inst |
610 | 610 |
(Table _ _ fin_cv _) = fin_tbl |
611 | 611 |
in |
Also available in: Unified diff