LGTM, Thanks
On Wed, May 8, 2013 at 9:22 PM, Klaus Aehlig <[email protected]> wrote: > Make hroller output the node groups not containing the master node > sorted by size, largest group first. The master node still remains > the last node of the last reboot group. In this way, most progress > is made when switching back to normal cluster operations after the > first reboot group. > > Signed-off-by: Klaus Aehlig <[email protected]> > --- > man/hroller.rst | 3 ++- > src/Ganeti/HTools/Program/Hroller.hs | 5 ++++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/man/hroller.rst b/man/hroller.rst > index b96508b..b55a687 100644 > --- a/man/hroller.rst > +++ b/man/hroller.rst > @@ -43,7 +43,8 @@ having both primary and secondary nodes being rebooted > at the same time. > > For backends that support identifying the master node (currenlty > RAPI and LUXI), the master node is scheduled as the last node > -in the last reboot group. > +in the last reboot group. Apart from this restriction, larger reboot > +groups are put first. > > ALGORITHM FOR CALCULATING OFFLINE REBOOT GROUPS > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > diff --git a/src/Ganeti/HTools/Program/Hroller.hs > b/src/Ganeti/HTools/Program/Hroller.hs > index 8269c88..882bece 100644 > --- a/src/Ganeti/HTools/Program/Hroller.hs > +++ b/src/Ganeti/HTools/Program/Hroller.hs > @@ -31,6 +31,7 @@ module Ganeti.HTools.Program.Hroller > > import Control.Applicative > import Control.Monad > +import Data.Function > import Data.List > import Data.Ord > > @@ -161,7 +162,9 @@ main opts args = do > nodesRebootGroups = > map (map idToNode . filter (`IntMap.member` nodes)) $ > IntMap.elems smallestColoring > - outputRebootGroups = masterLast nodesRebootGroups > + outputRebootGroups = masterLast . > + sortBy (flip compare `on` length) $ > + nodesRebootGroups > outputRebootNames = map (map Node.name) outputRebootGroups > > when (verbose > 1) . putStrLn $ getStats colorings > -- > 1.8.2.1 > > -- Thomas Thrainer | Software Engineer | [email protected] | Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Katherine Stephens
