Revision 6cff91f5 htools/Ganeti/HTools/QC.hs

b/htools/Ganeti/HTools/QC.hs
90 90
maxCpu :: Int
91 91
maxCpu = 1024
92 92

  
93
-- | Null iPolicy, and by null we mean very liberal.
94
nullIPolicy = Types.IPolicy
95
  { Types.iPolicyMinSpec = Types.ISpec { Types.iSpecMemorySize = 0
96
                                       , Types.iSpecCpuCount   = 0
97
                                       , Types.iSpecDiskSize   = 0
98
                                       , Types.iSpecDiskCount  = 0
99
                                       , Types.iSpecNicCount   = 0
100
                                       }
101
  , Types.iPolicyMaxSpec = Types.ISpec { Types.iSpecMemorySize = maxBound
102
                                       , Types.iSpecCpuCount   = maxBound
103
                                       , Types.iSpecDiskSize   = maxBound
104
                                       , Types.iSpecDiskCount  = C.maxDisks
105
                                       , Types.iSpecNicCount   = C.maxNics
106
                                       }
107
  , Types.iPolicyStdSpec = Types.ISpec { Types.iSpecMemorySize = Types.unitMem
108
                                       , Types.iSpecCpuCount   = Types.unitCpu
109
                                       , Types.iSpecDiskSize   = Types.unitDsk
110
                                       , Types.iSpecDiskCount  = 1
111
                                       , Types.iSpecNicCount   = 1
112
                                       }
113
  , Types.iPolicyDiskTemplates = [Types.DTDrbd8, Types.DTPlain]
114
  }
115

  
116

  
93 117
defGroup :: Group.Group
94 118
defGroup = flip Group.setIdx 0 $
95 119
             Group.create "default" Types.defaultGroupID Types.AllocPreferred
120
                  nullIPolicy
96 121

  
97 122
defGroupList :: Group.List
98 123
defGroupList = Container.fromList [(Group.idx defGroup, defGroup)]
......
934 959
      i_templ = createInstance Types.unitMem Types.unitDsk Types.unitCpu
935 960
  in case allocnodes >>= \allocnodes' ->
936 961
    Cluster.iterateAlloc nl' il (Just 5) i_templ allocnodes' [] [] of
937
       Types.Bad _ -> False
962
       Types.Bad _ -> printTestCase "Failed to allocate" False
963
       Types.Ok (_, _, _, [], _) -> printTestCase "Failed to allocate" False
938 964
       Types.Ok (_, xnl, il', _, _) ->
939 965
         let ynl = Container.add (Node.idx hnode) hnode xnl
940 966
             cv = Cluster.compCV ynl
941 967
             tbl = Cluster.Table ynl il' cv []
942
         in canBalance tbl True True False
968
         in printTestCase "Failed to rebalance" $
969
            canBalance tbl True True False
943 970

  
944 971
-- | Checks consistency.
945 972
prop_ClusterCheckConsistency node inst =

Also available in: Unified diff