Revision a37549ea

b/src/Ganeti/HTools/Cluster.hs
1349 1349
                                          . flip (tryAlloc nl' il') allocnodes)
1350 1350
                       newinst
1351 1351
          bigSteps = filter isJust . map suffShrink . reverse $ sortedErrs
1352
          progress (Ok (_, _, _, newil', _)) (Ok (_, _, _, newil, _)) =
1353
            length newil' > length newil
1354
          progress _ _ = False
1352 1355
      in if stop then newsol else
1353
          case bigSteps of
1354
            Just newinst':_ -> tieredAlloc nl' il' newlimit
1355
                               newinst' allocnodes ixes' cstats'
1356
            _ -> case Instance.shrinkByType newinst . last $ sortedErrs of
1357
                   Bad _ -> newsol
1358
                   Ok newinst' -> tieredAlloc nl' il' newlimit
1359
                                  newinst' allocnodes ixes' cstats'
1356
           let newsol' = case Instance.shrinkByType newinst . last
1357
                                $ sortedErrs of
1358
                 Bad _ -> newsol
1359
                 Ok newinst' -> tieredAlloc nl' il' newlimit
1360
                                newinst' allocnodes ixes' cstats'
1361
           in if progress newsol' newsol then newsol' else
1362
                case bigSteps of
1363
                  Just newinst':_ -> tieredAlloc nl' il' newlimit
1364
                                     newinst' allocnodes ixes' cstats'
1365
                  _ -> newsol
1360 1366

  
1361 1367
-- * Formatting functions
1362 1368

  

Also available in: Unified diff