CanTieredAlloc test: make instances big enough
authorKlaus Aehlig <aehlig@google.com>
Thu, 2 Apr 2015 16:03:12 +0000 (18:03 +0200)
committerKlaus Aehlig <aehlig@google.com>
Thu, 2 Apr 2015 16:34:11 +0000 (18:34 +0200)
Fix a subtle bug in the CanTieredAlloc test. The property we were
testing for was actually not valid with the addition of an ipolicy.
The lower policy bound for disk was 4 times the unit for disks (256M).
So, a valid node have free disk only slightly larger than the ipolicy
lower bound. When shrinking disks, however, we go in steps of full
units---and thus might miss the window of opportunity if that is smaller
that a full unit. So, only use nodes that have at least 5 units worth
of resources for every resource.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

test/hs/Test/Ganeti/HTools/Cluster.hs

index e80f2a3..d584049 100644 (file)
@@ -170,7 +170,7 @@ prop_CanTieredAlloc :: Property
 prop_CanTieredAlloc =
   forAll (choose (2, 5)) $ \count ->
   forAll (liftM (Node.setPolicy Types.defIPolicy)
-            (genOnlineNode `suchThat` isNodeBig 4)) $ \node ->
+            (genOnlineNode `suchThat` isNodeBig 5)) $ \node ->
   forAll (genInstanceMaybeBiggerThanNode node) $ \inst ->
   let nl = makeSmallCluster node count
       il = Container.empty