LGTM with this interdiff and change of the log message. On Tue, 13 Oct 2015 at 15:36 'Klaus Aehlig' via ganeti-devel < [email protected]> wrote:
> > On Wed, 7 Oct 2015 at 11:03 'Klaus Aehlig' via ganeti-devel < > > [email protected]> wrote: > > > > > For each group, make hcheck compute and report the redundancy level; > also > > > report the cluster redundancy level as the minimum over all those > levels. > > > > > > > I think it would be good to mention somewhere that the level is the > integer > > that is named as "M" in the design. Otherwise one might wonder if it is > the > > same or not. > > I suggest rewording the log message as follows. > > > For each group, make hcheck compute and report the redundancy level, > i.e., > the maximal M such that the group is N+M redundant; also report the > cluster > redundancy level as the minimum over all those levels. > > > > -- | Print all the statistics on a group level. > > > printGroupStats :: Options -> Bool -> Phase -> GroupStats -> IO () > > > -printGroupStats opts machineread phase ((grp, score), stats) = do > > > - let values = prepareGroupValues stats score > > > +printGroupStats opts machineread phase ((grp, score, rLvl), stats) = > do > > > > > > > I'd spare a few more characters and name rLvl to something more readable, > > like redundancyLevel etc. > > I suggest the following interdiff > > commit c9c4ae4813792a7ec8aca3c4a81c8bfd64905f18 > Author: Klaus Aehlig <[email protected]> > Date: Tue Oct 13 15:35:06 2015 +0200 > > Interdiff [PATCH master 3/4] Make hcheck report the redunancy level > > diff --git a/src/Ganeti/HTools/Program/Hcheck.hs > b/src/Ganeti/HTools/Program/Hcheck.hs > index 3dcfa89..1250ca2 100644 > --- a/src/Ganeti/HTools/Program/Hcheck.hs > +++ b/src/Ganeti/HTools/Program/Hcheck.hs > @@ -225,8 +225,8 @@ extractGroupData False grp = Group.name grp > > -- | Prepare values for group. > prepareGroupValues :: [Int] -> Double -> Int -> [String] > -prepareGroupValues stats score rLvl = > - map show stats ++ [printf "%.8f" score] ++ [show rLvl] > +prepareGroupValues stats score redundancyLevel = > + map show stats ++ [printf "%.8f" score] ++ [show redundancyLevel] > > -- | Prepare values for cluster. > prepareClusterValues :: Bool -> [Int] -> [Bool] -> [String] > @@ -235,8 +235,9 @@ prepareClusterValues machineread stats bstats = > > -- | Print all the statistics on a group level. > printGroupStats :: Options -> Bool -> Phase -> GroupStats -> IO () > -printGroupStats opts machineread phase ((grp, score, rLvl), stats) = do > - let values = prepareGroupValues stats score rLvl > +printGroupStats opts machineread phase > + ((grp, score, redundancyLevel), stats) = do > + let values = prepareGroupValues stats score redundancyLevel > extradata = extractGroupData machineread grp > printStats opts machineread (GroupLvl extradata) phase values > > @@ -266,14 +267,14 @@ perGroupChecks opts gl (gidx, (nl, il)) = > offline_pri = sum . map length $ map Node.pList offnl > offline_sec = length $ map Node.sList offnl > score = Metrics.compCV nl > - rLvl = redundancy (fromCLIOptions opts) nl il > + redundancyLvl = redundancy (fromCLIOptions opts) nl il > groupstats = [ n1violated > , conflicttags > , offline_pri > , offline_sec > ] > ++ [ gn1fail | optCapacity opts ] > - in ((grp, score, rLvl), groupstats) > + in ((grp, score, redundancyLvl), groupstats) > > -- | Use Hbal's iterateDepth to simulate group rebalance. > executeSimulation :: Options -> Cluster.Table -> Double > > > -- > Klaus Aehlig > Google Germany GmbH, Dienerstr. 12, 80331 Muenchen > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg > Geschaeftsfuehrer: Matthew Scott Sucherman, Paul Terence Manicle > -- Helga Velroyen Software Engineer [email protected] Google Germany GmbH Dienerstraße 12 80331 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, leiten Sie diese bitte nicht weiter, informieren Sie den Absender und löschen Sie die E-Mail und alle Anhänge. Vielen Dank. This e-mail is confidential. If you are not the right addressee please do not forward it, please inform the sender, and please erase this e-mail including any attachments. Thanks.
