X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/db1bcfe8eb75eb48980f30e7e648bd279b8db082..844eff86e3fded35282073a3060dbc66f4e4b16f:/hbal.hs diff --git a/hbal.hs b/hbal.hs index 7f0ae28..daf3c9e 100644 --- a/hbal.hs +++ b/hbal.hs @@ -2,6 +2,27 @@ -} +{- + +Copyright (C) 2009 Google Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. + +-} + module Main (main) where import Data.List @@ -21,7 +42,6 @@ import qualified Ganeti.HTools.Node as Node import qualified Ganeti.HTools.CLI as CLI import Ganeti.HTools.Utils -import Ganeti.HTools.Types -- | Command line options structure. data Options = Options @@ -181,7 +201,7 @@ main = do let oneline = optOneline opts verbose = optVerbose opts - (fixed_nl, il, csf, _, _) <- CLI.loadExternalData opts + (fixed_nl, il, csf) <- CLI.loadExternalData opts let offline_names = optOffline opts all_nodes = Container.elems fixed_nl @@ -245,21 +265,21 @@ main = do printf "Initial score: %.8f\n" ini_cv) unless oneline $ putStrLn "Trying to minimize the CV..." - let imlen = cMaxNamelen il - nmlen = cMaxNamelen nl + let imlen = Container.maxNameLen il + nmlen = Container.maxNameLen nl (fin_tbl, cmd_strs) <- iterateDepth ini_tbl (optMaxLength opts) nmlen imlen [] oneline min_cv let (Cluster.Table fin_nl _ fin_cv fin_plc) = fin_tbl ord_plc = reverse fin_plc - sol_msg = if null fin_plc - then printf "No solution found\n" - else (if verbose > 2 - then printf "Final coefficients: overall %.8f, %s\n" - fin_cv (Cluster.printStats fin_nl) - else printf "Cluster score improved from %.8f to %.8f\n" - ini_cv fin_cv - ) + sol_msg = (if null fin_plc + then printf "No solution found\n" + else (if verbose > 2 + then printf "Final coefficients: overall %.8f, %s\n" + fin_cv (Cluster.printStats fin_nl) + else printf "Cluster score improved from %.8f to %.8f\n" + ini_cv fin_cv + ))::String unless oneline $ putStr sol_msg