In CanTieredAlloc test set IPolicy
authorKlaus Aehlig <aehlig@google.com>
Wed, 25 Mar 2015 16:49:17 +0000 (17:49 +0100)
committerKlaus Aehlig <aehlig@google.com>
Thu, 26 Mar 2015 14:21:36 +0000 (15:21 +0100)
Changing the test to allocate on nodes with a non-trivial
instance policy has two advantages.

- We test in a more realistic (and also more challenging)
  environment.

- Once the lower limit of the ipolicy is reached no more
  allocations are possible, thus having fewer shrinking
  rounds---and hence speeding up the test by a factor of 4.

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

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

index bfb2921..e80f2a3 100644 (file)
@@ -39,6 +39,7 @@ module Test.Ganeti.HTools.Cluster (testHTools_Cluster) where
 
 import Test.QuickCheck hiding (Result)
 
+import Control.Monad (liftM)
 import qualified Data.IntMap as IntMap
 import Data.Maybe
 
@@ -168,7 +169,8 @@ prop_Alloc_sane inst =
 prop_CanTieredAlloc :: Property
 prop_CanTieredAlloc =
   forAll (choose (2, 5)) $ \count ->
-  forAll (genOnlineNode `suchThat` isNodeBig 4) $ \node ->
+  forAll (liftM (Node.setPolicy Types.defIPolicy)
+            (genOnlineNode `suchThat` isNodeBig 4)) $ \node ->
   forAll (genInstanceMaybeBiggerThanNode node) $ \inst ->
   let nl = makeSmallCluster node count
       il = Container.empty