Statistics
| Branch: | Tag: | Revision:

root / htools / Ganeti @ 2733df51

Name Size
  Confd
  HTools
  Query
BasicTypes.hs 5.9 kB
Confd.hs 5.3 kB
Config.hs 9.1 kB
Constants.hs.in 955 Bytes
Daemon.hs 12.3 kB
Hash.hs 1.8 kB
Jobs.hs 2.1 kB
Logging.hs 4.5 kB
Luxi.hs 14.9 kB
Objects.hs 20.8 kB
OpCodes.hs 3.3 kB
Rpc.hs 9 kB
Runtime.hs 5.1 kB
Ssconf.hs 4.7 kB
THH.hs 31.5 kB

Latest revisions

# Date Author Comment
2733df51 09/04/2012 04:50 pm Iustin Pop

Split one more module out of QC and add test helpers

This splits the confd/utils tests, and adds the TestCommon module for
shared test code.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

e5a29b6c 09/04/2012 04:50 pm Iustin Pop

Split out Objects.hs from QC.hs

This is the first file split out from QC.hs - an easy one, since it
has just one test.

The patch changes the way we build hpc excludes, since now we'll have
many modules that need to be excluded, and hpc doesn't seem to be able...

e4cc4c11 09/04/2012 04:50 pm Iustin Pop

Move the unittest helper to a new Test/Ganeti dir

This patch starts the move of the test haskell code from
`htools/Ganeti/HTools/' to its more proper place of
`htest/Test/Ganeti'.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

01606931 09/04/2012 02:00 pm Iustin Pop

Implement compilation of regexes at creation time

This means that the verification of the correctness of the regex is
done once, at the deserialisation/creation time, as in the Python
code. To do this, we have to change the FilterRegex type from an alias...

4cab6703 09/04/2012 02:00 pm Iustin Pop

Rename the Qlang and Queryd modules

Per the new query module hierarchy, rename Qlang to Query/Language and
Queryd to Query/Server. This way, all query-related functionality is
now "contained" in the Query/ directory.

Signed-off-by: Iustin Pop <>...

8a65c02b 09/04/2012 02:00 pm Iustin Pop

Add filtering support in Query

This adds basic infrastructure for filtering (fully functional except,
as usual, for runtime data), and then uses it for node queries.

Since the filtering exports regex matching as an external
functionality, we have to use a regex library. There are many flavours...

25779212 09/04/2012 01:59 pm Iustin Pop

Add an Applicative instance for our Result type

This will allow us to run generic computations in an Applicative
context, if a monadic one is not needed (or not applicable due to
class constraints).

Signed-off-by: Iustin Pop <>
Reviewed-by: Agata Murawska <>

05ac718f 09/04/2012 01:59 pm Iustin Pop

Parameterize the Filter type

In preparation for introducing filtering functionality, we convert the
'Filter' type from a '*' kind to a '* -> *' kind.

This allows us to define some general properties for the filter, and
for example introduce later an easy filter compilation, etc....

518023a9 09/04/2012 01:59 pm Iustin Pop

Implement QueryFields for Nodes

Since we have all the definitions already, we can easily enable
this. Manual testing shows no difference between the Python and the
Haskell versions of node list-fields.

Signed-off-by: Iustin Pop <>
Reviewed-by: Agata Murawska <>

2a9aff11 09/04/2012 12:44 pm René Nussbaumer

Putting the multiallocate pieces together

This is the final part:

  • Parsing the new request type
  • Feed it to allocList
  • Format the result

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

View revisions

Also available in: Atom