Note that in all current calls to this function, the node has the nullIPolicy, to the semantics does not change here.
Signed-off-by: Klaus Aehlig <[email protected]> --- test/hs/Test/Ganeti/HTools/Instance.hs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/test/hs/Test/Ganeti/HTools/Instance.hs b/test/hs/Test/Ganeti/HTools/Instance.hs index 04466ed..2791ad7 100644 --- a/test/hs/Test/Ganeti/HTools/Instance.hs +++ b/test/hs/Test/Ganeti/HTools/Instance.hs @@ -48,6 +48,7 @@ import Control.Applicative ((<$>)) import Control.Monad (liftM) import Test.QuickCheck hiding (Result) +import Test.Ganeti.TestHTools (nullISpec) import Test.Ganeti.TestHelper import Test.Ganeti.TestCommon import Test.Ganeti.HTools.Types () @@ -98,12 +99,20 @@ genInstanceSmallerThanNode node = else Nothing) -- | Generates an instance possibly bigger than a node. +-- In any case, that instance will be bigger than the node's ipolicy's lower +-- bound. genInstanceMaybeBiggerThanNode :: Node.Node -> Gen Instance.Instance genInstanceMaybeBiggerThanNode node = - genInstanceSmallerThan (Node.availMem node + Types.unitMem * 2) - (Node.availDisk node + Types.unitDsk * 3) - (Node.availCpu node + Types.unitCpu * 4) - (if Node.exclStorage node + let minISpec = runListHead nullISpec Types.minMaxISpecsMinSpec + . Types.iPolicyMinMaxISpecs $ Node.iPolicy node + in genInstanceWithin (Types.iSpecMemorySize minISpec) + (Types.iSpecDiskSize minISpec) + (Types.iSpecCpuCount minISpec) + (Types.iSpecSpindleUse minISpec) + (Node.availMem node + Types.unitMem * 2) + (Node.availDisk node + Types.unitDsk * 3) + (Node.availCpu node + Types.unitCpu * 4) + (if Node.exclStorage node then Just $ Node.fSpindles node + Types.unitSpindle * 5 else Nothing) -- 2.2.0.rc0.207.ga3a616c
