Statistics
| Branch: | Tag: | Revision:

root / htest / Test / Ganeti / HTools @ dae1f9cb

Name Size
  Backend
CLI.hs 4.4 kB
Cluster.hs 17.9 kB
Container.hs 3 kB
Graph.hs 5.7 kB
Instance.hs 7 kB
Loader.hs 3.4 kB
Node.hs 15.4 kB
PeerMap.hs 2.6 kB
Types.hs 5.1 kB

Latest revisions

# Date Author Comment
8e6623c8 12/04/2012 06:46 pm Guido Trotter

Add Ganeti.HTools.Graph

This module implements some algorithms on Data.Graph data structures.
At the moment its main functionality is an LF-color implementation
(greedy coloring in descending order of degree). There are also a few
extra functions to calculate the degree order, and convert the node to...

742bd043 12/04/2012 06:46 pm Guido Trotter

Add Dsatur implementation

Implement the Dsatur algorithm for Graph coloring. This also abstracts
the neighColors function into two subfunctions that this algorithm can
reuse.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

faef859e 12/04/2012 06:46 pm Guido Trotter

Ganeti/HTools/Graph Add isColorable

Check whether coloring on a given graph makes sense. This is the case
only if there are no loops and the graph is undirected.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

34a21cc4 12/04/2012 06:46 pm Guido Trotter

Add tests for verticesByDegree{Asc,Desc}

This brings our coverage of Graph.hs to 100%

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

dae1f9cb 12/04/2012 06:46 pm Guido Trotter

HTools/Node: add mkNodeGraph function

This function helps treating node node problems as graph problems.
It can transform a list of nodes plus a list of instances into a graph
which uses the nodes as vertices, and instances as edges connecting them
(as long as they have both a primary and a secondary node)...

9f80119c 12/03/2012 11:41 am Guido Trotter

Add generator for an instance on a node list

Given a node list in input, we get an instance that had nodes in it.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

bdb7dbbb 12/03/2012 11:18 am Guido Trotter

Add generator for list of arbitrary instances

This takes an instance generator and produces a possibly empty list of
instances.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

736ba160 12/03/2012 11:18 am Guido Trotter

Add generator for list of arbitrary nodes

This generates a minimum of one node, because legal clusters never have
zero nodes.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

50c302ca 11/30/2012 06:33 pm Guido Trotter

Create a genInstanceMaybeBiggerThan function

This is used only once when testing Cluster.hs, but having it abstracted
clarifies there what that call is about, makes that test shorter, and
allows us to better do refactoring of the main genInstanceSmallerThan...

5006418e 11/30/2012 03:54 pm Iustin Pop

Make QuickCheck generator names more uniform

Due to lack of attention, we have two styles for generators of
arbitrary values: get* and gen* (e.g. getFQDN and genDiskIndices). In
order to make this more obvious that we deal with a function in the
Gen monad, let's rename all get* functions to gen*....

View revisions

Also available in: Atom