LGTM, thanks On Thu, Mar 26, 2015 at 2:37 PM, 'Klaus Aehlig' via ganeti-devel < [email protected]> wrote:
> This will be used to generate instances big enough to fall within > a given instance policy. > > Signed-off-by: Klaus Aehlig <[email protected]> > --- > test/hs/Test/Ganeti/HTools/Instance.hs | 27 +++++++++++++++++---------- > 1 file changed, 17 insertions(+), 10 deletions(-) > > diff --git a/test/hs/Test/Ganeti/HTools/Instance.hs > b/test/hs/Test/Ganeti/HTools/Instance.hs > index 1196785..04466ed 100644 > --- a/test/hs/Test/Ganeti/HTools/Instance.hs > +++ b/test/hs/Test/Ganeti/HTools/Instance.hs > @@ -61,25 +61,32 @@ import qualified Ganeti.HTools.Types as Types > > -- * Arbitrary instances > > --- | Generates a random instance with maximum disk/mem/cpu values. > -genInstanceSmallerThan :: Int -> Int -> Int -> Maybe Int -> > - Gen Instance.Instance > -genInstanceSmallerThan lim_mem lim_dsk lim_cpu lim_spin = do > +-- | Generates a random instance with maximum and minimum disk/mem/cpu > values. > +genInstanceWithin :: Int -> Int -> Int -> Int > + -> Int -> Int -> Int -> Maybe Int > + -> Gen Instance.Instance > +genInstanceWithin min_mem min_dsk min_cpu min_spin > + max_mem max_dsk max_cpu max_spin = do > name <- genFQDN > - mem <- choose (0, lim_mem) > - dsk <- choose (0, lim_dsk) > + mem <- choose (min_mem, max_mem) > + dsk <- choose (min_dsk, max_dsk) > run_st <- arbitrary > pn <- arbitrary > sn <- arbitrary > - vcpus <- choose (0, lim_cpu) > + vcpus <- choose (min_cpu, max_cpu) > dt <- arbitrary > - spindles <- case lim_spin of > - Nothing -> genMaybe $ choose (0, maxSpindles) > - Just ls -> liftM Just $ choose (0, ls) > + spindles <- case max_spin of > + Nothing -> genMaybe $ choose (min_spin, maxSpindles) > + Just ls -> liftM Just $ choose (min_spin, ls) > let disk = Instance.Disk dsk spindles > return $ Instance.create > name mem dsk [disk] vcpus run_st [] True pn sn dt 1 [] > > +-- | Generate an instance with maximum disk/mem/cpu values. > +genInstanceSmallerThan :: Int -> Int -> Int -> Maybe Int > + -> Gen Instance.Instance > +genInstanceSmallerThan = genInstanceWithin 0 0 0 0 > + > -- | Generates an instance smaller than a node. > genInstanceSmallerThanNode :: Node.Node -> Gen Instance.Instance > genInstanceSmallerThanNode node = > -- > 2.2.0.rc0.207.ga3a616c > > Hrvoje Ribicic Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores Steuernummer: 48/725/00206 Umsatzsteueridentifikationsnummer: DE813741370
