Statistics
| Branch: | Tag: | Revision:

root / Makefile.am @ 13718ded

History | View | Annotate | Download (46 kB)

# Date Author Comment
3329f4de 09/18/2012 05:58 pm Michael Hanselmann

constants: Move most paths to separate module

This is inpreparation for the implementation of virtual clusters. Many
paths will change based on an environment variable and are no longer
constant and should no longer be in “constants.py”. Since “constants.py”...

0fcd0cad 09/12/2012 12:27 pm René Nussbaumer

Refactor IAllocator code

The IAllocator class was handling all the requests on its own, passing
in parameters on top level which works, but is hard to maintain and not
flexible.

With the upcoming change to the IAllocator for MultiAllocate we can't
use the toplevel parameters anymore. Therefore, we refactor the code...

32683096 09/12/2012 12:27 pm René Nussbaumer

Make the slots functionality more modular

As we will introduce another set of containers using the slots trick
we abstract away as much as possible to separate bases classes. The
child classes then adapt them for their needs. This leads to less code...

51000365 09/05/2012 05:31 pm Iustin Pop

Rework CLI modules and tests

While investigating how we could test the Daemon.hs module, I realised
that we have a very, erm, sub-optimal situation:

- HTools/CLI.hs has a nice IO/pure separation testing in cmdline
parsing, which allows some basic functionality to be tested, but...

90171729 09/05/2012 05:31 pm Iustin Pop

Add query filter tests

These tests are node specific only because we don't have other query
types implemented yet, but what they actually test is the various
filter types.

The tests are trying to cover most filter functionality; missing for
now is proper checking for ContainsFilter and TrueFilter, the rest...

b9bdc10e 09/05/2012 05:18 pm Iustin Pop

Add some unittests for node queries

These new tests check that:

- no known fields return unknown
- any unknown field returns unknown
- the type of the fields is consistent between the getters and the
field definition
- the length of each result row corresponds with the number of fields...

1493a93b 09/05/2012 04:58 pm Iustin Pop

Add unittests for the BasicTypes module

This adds test properties for the various laws that the instances of
Result should follow; I could not find (offline) laws about `mappend',
but otherwise I implemented all laws that I could find.

Note that we have to silence hlint warnings for the things we want to...

2997cb0a 09/05/2012 03:33 pm Iustin Pop

Move Version.hs up from under HTools/

This is another module that is generic, and not htools-specific.

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

662de722 09/05/2012 01:49 pm Iustin Pop

Two tiny makefile fixes

During the recent moves and renames, two things have slipped through,
since I didn't run make check-local…

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

b88fcdd0 09/04/2012 05:25 pm Iustin Pop

Remove QC.hs and replace it with an auto-generated file

In order to have correct code coverage results, we must somehow import
all production modules into the test runner. Until now, this was done
manually (when we didn't forget) in QC.hs.

To improve the situation, we remove QC.hs and replace it with an...

51309138 09/04/2012 05:25 pm Iustin Pop

Split the Makefile variable HS_LIB_SRCS

This currently holds both production files and test files; since we
want to treat these separately, let's split the variable in two, and
introduce another one for the old, inclusive one.

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

2d87bd0a 09/04/2012 04:51 pm Iustin Pop

Split last two remaining tests from QC.hs

This makes QC.hs obsolete, but we will remove it in a later patch,
once we automatically build a file with all the imports (to ensure
correct coverage results).

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

f3baf5ef 09/04/2012 04:51 pm Iustin Pop

Move JSON.hs and Compat.hs out from under HTools/

These two files are not htools-specific, so let's move them out of the
HTools subdirectory/module hierarchy and directly under Ganeti.

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

e1ee7d5a 09/04/2012 04:51 pm Iustin Pop

Split most HTools test code into separate files

Except for Ganeti.HTools.JSON, which needs rename, we split all the
other test suites into separate files.

We have to add another common test helper, due to import dependencies
(sigh), but otherwise this split is pretty straightforward....

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

Split Luxi, Qlang, Ssconf and OpCodes tests

… from QC.hs into their own files, again mirroring the production code
source tree.

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

305e174c 09/04/2012 04:50 pm Iustin Pop

Split Rpc tests from QC

This required lots of other code moves, so I created it as a
standalone patch.

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

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 <>

189b51fa 09/04/2012 04:50 pm Iustin Pop

Move generated htools test stubs to htest/

This moves the last (I think) htools-related bits out of test/ under
htest/.

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

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

Move shelltests from test/ to htest/shelltests/

This is another rather trivial patch, moving all the (htools)
shelltests to their own directory.

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

8feabc89 09/04/2012 04:49 pm Iustin Pop

Move htools test files from test/data/htools to htest/data

Following up on the program moves, we now move the test data files.

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

f0f3a6df 09/04/2012 04:49 pm Iustin Pop

Move haskell test code to htest/

This is the first commit of a series that will attempt to cleanup the
test code organisation, which evolved somewhat organically from the
initial pure htools functionality.

The proposed organisation of the tree will be as follows:...

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...

e53decc1 09/03/2012 06:32 pm Guido Trotter

Merge branch 'devel-2.6'

  • devel-2.6:
    Instance autorepair design

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

68640987 09/03/2012 06:08 pm Guido Trotter

Instance autorepair design

This design describes a tool that will perform automatic repairs on
instances when they are detected to be unhealthy (living on offline or
drained nodes, at the moment). These repairs can be scheduled
automatically or requested as a one-off by a tool or person....

046fe3f5 09/03/2012 04:52 pm Iustin Pop

Add Query support for Nodes (no filtering, no RPC)

This is the initial support for Query2: basic infrastructure (except
filtering) and node query support (without RPC).

It implements all the fields (tests by comparison with list-fields on
the Python side), except that:...

4cbe9bda 09/03/2012 04:45 pm Iustin Pop

Stub query2 call integration into QueryD

This patch corrects the definitions in Qlang.hs to match what Python
expects on the wire; this means replacing some manual data type
definitions with 'buildObject' so that we get serialisation (and field
names) for free, adding (manually) JSON instances for types which are...

62377cf5 08/28/2012 06:16 pm Iustin Pop

Reduce some more code duplication and split code

The Qlang module defines ResultStatus, but it was already defined in
Ganeti/Luxi.hs; let's remove the duplicate definition from there since
the proper place is in the newer module.

Also, in order to ease testing, we split some confd functions into a...

42ab9ac4 08/28/2012 06:00 pm Iustin Pop

Add configure-time switch for split queries

And expand cli.GetClient() to allow opening the query socket, instead
of the main master socket.

Finally, enable the query socket use in gnt-cluster version, since
that is already implemented fully in Queryd.hs/hconfd....

dc6a0f82 08/28/2012 06:00 pm Iustin Pop

Rename Query2.hs to Qlang.hs

While starting to use the new filter types, I realised that what is
currently implemented is the equivalent of `lib/qlang.py', not
`lib/query.py', since we only deal with data types for now and not the
actual query runtime functionality (RPC, config, etc.)....

2cdaf225 08/28/2012 05:59 pm Iustin Pop

Re-enable standard hlint warnings

Commit 5a1e31b4 (Add infrastructure for, and two extra hlint rules)
was intended to add two extra hlint rules, but I didn't realise at
that time that "--hint" when first used overrides the built-in
lints. As such, since then we were basically running with just those...

25b54de0 08/28/2012 05:59 pm Iustin Pop

Initial query daemon implementation

This is just a new module that exports a runQueryD function, that can
be imported to run a separate thread handling the luxi requests.

Currently it needs access just to the configuration, in the future it
will need access to an RPC runner too....

d4709cce 08/28/2012 12:56 pm Agata Murawska

Datatypes for haskell RPC calls

We introduce typeclasses for RPC call and result and create a typeclass
that binds the two together. For that we need to use
MultiParamTypeClasses and FunctionalDependencies language pragmas, which
allow us to ensure that RPC result type can be deduced based on the...

951accad 08/27/2012 05:18 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Make stable-2.6 compatible with newer pep8
    Fix computation of disk sizes in _ComputeDiskSize
    Add verification of RPC results in _WipeDisks
    Add test for checking that all gnt-* subcommands run OK
    Fix double use of PRIORITY_OPT in gnt-node migrate...
2fefc557 08/27/2012 05:05 pm Iustin Pop

Make stable-2.6 compatible with newer pep8

This is done so that all current branches can run with newer pep8;
note that instead of fixing the problems (like I did on master), I've
just silenced more. These should not be merged onto master!

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

5ae4945a 08/23/2012 02:41 pm Iustin Pop

Bump pep8 version to 1.2

Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's:

- bump version in the docs
- silence some new checks that are wrong due to our indent=2 instead of 4
- fix lots of errors in the code where the indentation was wrong by 1...

4e27516b 08/14/2012 12:13 pm René Nussbaumer

Adding design doc for bulk instance create

This is the design doc for the bulk instance creation. You can more
details in the doc itself.

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

7213dded 08/09/2012 12:35 pm René Nussbaumer

Add new Makefile target to rebuild the whole dist

Due to the fact how the automake system works it doesn't rebuild already
prebuild files in distcheck. This lead to a bug, where a rebuild of the
documentation was failing because we missed the fact that the files were...

a47dc554 08/08/2012 12:00 pm René Nussbaumer

Add missing rst files to Makefile.am

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

fc1282b8 07/23/2012 10:27 am Iustin Pop

Build epydoc.conf using standard replace_vars_sed

This is just begging to be converted to a standard replace_vars_sed
rule, instead of custom sed calls.

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

55398706 07/23/2012 10:27 am Iustin Pop

Simplify some make rules

A rule of type "a/%: a/%.in" will also match "a/b/%: a/b/%.in", so no
need for the explicit examples/hooks rule. As for the man rules, they
are identical and thus can be collapsed.

We still have the problem that globally, not all our %.in to %...

490bec02 07/23/2012 10:26 am Iustin Pop

Explicitly terminate some make rules

Generic rules like:

%: %.in

have the downside that the source (%.in) itself matches the target
(via %.in: %.in.in). This leads to things like:

Looking for a rule with intermediate file `doc/examples/hooks/ipsec.in.in'....
1d45f7a0 07/23/2012 10:26 am Iustin Pop

Remove ancient implicit make rules

GNU Make contains some (ancient) implicit rules, that try to
automatically extract source files from RCS/SCCS version control
systems. This is unneeded, and it pollutes the make -d output
significantly: after removing these rules (by defining empty targets...

4c3d5fb6 07/23/2012 10:25 am Iustin Pop

Stop using BUILT_SOURCES

Commit dc7d2c49 introduced the use of BUILT_SOURCES to work around
missing dependencies. However, on closer reading of the gmake manual,
BUILT_SOURCES is mainly used in cases where the dependencies are not
know before the build starts (e.g. with auto-generated C header...

924ecd85 07/23/2012 10:25 am Iustin Pop

Change how we create the 'ganeti' symlink

Currently, if one runs 'make' in an already fully-built tree, this is
the result:

cd . && test -h "ganeti" || { rm -f ganeti && ln -s lib ganeti; }
make all-am
make[1]: Entering directory `/tmp/test'
cd . && test -h "ganeti" || { rm -f ganeti && ln -s lib ganeti; }...
3735787e 07/23/2012 10:23 am Iustin Pop

Partial undo of "Makefile: Streamline directory creation"

Commit c964d962 changed the way we create directories, by two things:

- unifying all dependencies and ad-hoc directory creation into a
single target (all_dirfiles)
- changing how directories are created from a stamp file to .dir files...

5098afd1 07/23/2012 10:23 am Iustin Pop

A few style fixes in Makefile.am

Seen while debugging make rules.

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

b0b8458a 07/20/2012 05:56 pm Iustin Pop

Correctly do sub-$(MAKE) invocations

Reading the automake documentation, it seems that explicit calls to
$(MAKE) need $(AM_MAKEFLAGS) passed, so let's do that.

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

112aee5f 07/13/2012 06:00 pm Iustin Pop

Merge branch 'stable-2.6'

  • stable-2.6: (72 commits)
    Make Ganeti 2.6.0 rc3 release
    Allow reinstall even when secondaries are offline
    Prepare NEWS file for Ganeti 2.6.0 rc3
    QA updated to test instance removing when sec. is offline
    Ignore offline node errors when removing disks...
2db53645 07/06/2012 04:16 pm Iustin Pop

Also compute Haskell tags in "make tags"

Note however that this won't work correctly with older compilers, due
to ghc issue #4256; however, it's a handy way to build complete a TAGS
file for Emacs.

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

96eccc1f 07/06/2012 04:16 pm Iustin Pop

Fix Haskell coverage results

There are two current issues with the coverage values:

- we don't import all modules, thus leading to incomplete
coverage results (too optimistic);
- we use hpc in its default mode (intersection), which means that even
modules which do have coverage results but are not used in all...

fce98abd 07/06/2012 04:16 pm Iustin Pop

Cleanup the QC.hs file w.r.t. compiler options

Currently, we build the Haskell unittests with custom GHC flags,
because we (I) were quite lazy when initially writing the
unittests. This is not a problem for the tests themselves, but it
creates problem when (for example) one would want to pass all...

6438e259 07/04/2012 05:05 pm Iustin Pop

Add a Makefile rule to test unclean git status

This is trivial, but can be used easily from automated builds to check
that the git tree is clean: files are not modified and untracked files
are not present.

Signed-off-by: Iustin Pop <>
Reviewed-by: Bernardo Dal Seno <>

f18e4168 06/29/2012 08:34 pm Iustin Pop

Fix building of hcheck man page

The code used a space, not a tab, in Makefile.am, which means it
actually broke the variable declaring the man pages.

Furthermore, we add some blank lines in the man page, otherwise the
paragraphs will be run-in together....

70b6c284 06/29/2012 08:34 pm Iustin Pop

Update time on Haskell binaries after build

This patch works around an issue in our build system. Since we don't
use cabal or 'ghc -M', we don't track actual dependencies in our
Makefile; this in turn means that editing a file that only is used in
the main 'htools' binary will keep triggering 'ghc --make' for the...

a95aa74c 06/28/2012 06:52 pm Iustin Pop

Add a shell test for hbal and split instances

This is not perfect, as we only test that hbal completes successfully
and that it show a score improvement, but it's better than nothing.

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

22e513e7 06/25/2012 11:50 am Agata Murawska

Initial commit for introducting hcheck tool

Introduce infrastructure required to add Hcheck and build it
successfuly.

Signed-off-by: Agata Murawska <>
Reviewed-by: René Nussbaumer <>

6f1aa78d 06/15/2012 02:53 pm Michael Hanselmann

jstore: Add unittests

Add unittests for FormatJobID, GetArchiveDirectory, ParseJobId.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

ac13f473 06/12/2012 04:55 pm Guido Trotter

Haskell data types for query2

This contains the types to express query2 queries, filters and results.

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

316dc1ff 06/11/2012 02:19 pm Iustin Pop

Fix make -n use

Due to the way $(MAKE) behaves (it forces execution of the commands
that contain it), use of $(MAKE) in a command line together with
side-effects commands will break stuff. It's better to keep it either
on a separate line, or if not possible, move said commands to a...

6e4c8f68 06/11/2012 01:35 pm Iustin Pop

Enable hlint in lint and reorganise this target

Currently, the lint target does a sequential: pep8, pylint, pylint on
the QA sources. hlint is run only when explicitly requested.

This patch reorganises the lint target by:

- splitting the current lint target into separate pylint (slow),...

656db618 06/08/2012 02:02 pm Iustin Pop

Remove one obsolete hlint override

During the preparations for 2.6, we cleaned up the codebase to use
newer exceptions (e.g. commits 30d25dd8, 79ac58fa), so we can now drop
this override.

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

d7772efa 06/06/2012 02:08 pm Iustin Pop

Merge branch 'stable-2.5' into stable-2.6

  • stable-2.5:
    Fix parallel build failures
    QA: Add default setting for tests

Conflicts:
Makefile.am (expected, from the parallel build fixes)
qa/qa_config.py (due to cherry-pick, ignored, simply checkout out with --ours)...

a13d6911 06/06/2012 01:40 pm Iustin Pop

Fix parallel build failures

This is the 2.5 version of the "fix build failures":

- man/%.gen could be left over even in case of failure, due to
automake bug
- make man/%.gen runs RUN_IN_TEMPDIR, so let's depend on it, since
that target has the proper dependencies (create needed dirs)...

1eb37421 05/31/2012 12:08 pm René Nussbaumer

Add XEN_CMD to _autoconf.py

This is needed so we can specify the xen command upon configure time

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

387863a5 05/22/2012 11:17 am Iustin Pop

Add checks from wrong hard-coded paths in manpages

This is trivial, but should prevent such things in the future.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

b3222537 05/11/2012 12:02 pm Iustin Pop

Reconcile Makefile.am and test data files

Sorry, forgot this in previous commit.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>
(cherry picked from commit 1a1e7ab3f7cfe156152fb69961115a2c85b2a82d)

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

4c5dd3ff 05/11/2012 12:02 pm Iustin Pop

Workaround changed LVM behaviour

The vgreduce command has changed behaviour from when we initially
wrote the code (2.02.02 versus 2.02.66, 4 years delta):

- if there are LVs which will be impacted, it requires --force
- otherwise refuses to proceed, but it still returns exit code 0...

f11e524b 05/08/2012 01:37 pm Iustin Pop

Fix Makefile dependencies for building Constants.hs

I was wondering why my changes to luxi.py did not trigger the rebuild…

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

a0c3e726 05/04/2012 03:27 pm Michael Hanselmann

QA: Enable use of OR conditions in test checks

Until now “TestRunIf” and “TestEnabled” could only handle AND. With this
patch a new class named “Either” is added to “qa_config” and allows OR.
The name “Either” was chosen instead of “Or” as the latter is very close...

3ade0e0e 04/26/2012 10:42 pm Michael Hanselmann

Add example script for using RAPI test utilities

This script shows a few examples on how to use the RAPI input test
client. It is also run at “make check” time to ensure it's not
completely broken.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

09470dd8 03/30/2012 03:03 pm Michael Hanselmann

QA: Add tests for “gnt-job list”

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

b8203e1e 03/27/2012 06:10 pm Iustin Pop

Update default instance kernel version

We switch from vmlinuz-2.6-… to vmlinuz-3-…. To do this nicely, we
also add a ./configure-time setting for the KVM instance kernel.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

7142485a 03/26/2012 06:26 pm Iustin Pop

Add a special lexer for sphinx/pygments

This will be used throughout our docs for better formatting example
shell sessions, with custom markup for comments, user fixed input and
user variable input.

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

74e60746 03/26/2012 11:54 am Iustin Pop

Enable -Werror by default for htools

Since the code base is now "clean" across all supported GHC versions
(6.12-7.4), we can enable -Werror again.

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

30f2802f 03/26/2012 11:30 am Iustin Pop

Add trivial tests for gnt-* cli

While testing some other stuff, I realised that the gnt-* commands
could be broken (as in, the script fails with syntax errors), but make
check doesn't detect it. Since we have shelltest, we can now add
trivial tests for this case....

73b0fa69 03/23/2012 03:56 pm Iustin Pop

Enable selection between Python and Haskell confd

This patch changes configure.ac Makefile.am so that the user can pass:

- --disable-confd (or --enable-confd=no) to disable it completely
- --enable-confd=yes or --enable-confd=python to select the
traditional implementation (this is the default setting)...

3e5012c6 03/22/2012 05:10 pm Iustin Pop

Fix out-of-tree builds

The new shell tests do not succeed out-of-tree, due to static paths
and other issues. This trivial patch fixes these issue, make distcheck
now passes.

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

53d4cdf1 03/22/2012 04:01 pm Iustin Pop

Convert manual shell tests to shelltestrunner

This is more of a RFC… Basically most of the shell-based tests are
converted from exec+grep to shelltestrunner.

Things are not all fine and nice though:

- we have dependencies between tests, as some generate some data files...

0985325d 03/21/2012 02:08 pm Iustin Pop

Only build hconfd if --enable-confd was passed

A later, more complete patch, will allow selecting between either the
Python version or the Haskell version. This is just a temporary
solution to help building without all the needed Haskell libraries.

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

3096524e 03/21/2012 12:37 pm Iustin Pop

Build test helpers that point to hpc-htools

Instead of using just shell constructs to run hpc-htools correctly
(i.e. HTOOLS=role htools/hpc-htools …), let's add some shell fragments
that do this for us.

This will ease the running of tests directly.

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

aa3adf35 03/21/2012 12:25 am Iustin Pop

Add skeleton ssconf module

This currently has only one export function in it, which will be used
for future bind address functionality in daemons.

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

896b2850 03/19/2012 05:34 pm Iustin Pop

Rename htools-hpc to hpc-tools to fix laziness

This is a stupid/trivial patch. I didn't realise when adding
htools-hpc that this will "break" tab completion on htools; as in, I
will have to add / manually always when completing files on the
command line....

91e5a351 03/19/2012 11:50 am Iustin Pop

Add htools/rapi test directory to DIRS

Sorry!

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

6bbd76d2 03/15/2012 06:22 pm Iustin Pop

Add new hail (shell) tests

Using some hand-crafted files (manually modified from a real cluster
running master branch), we test that hail behaves as we expect:
doesn't load obvious wrong data, can do relocations/allocations, etc.

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

55ffacfa 03/15/2012 06:22 pm Iustin Pop

Add RAPI shell-level unittest

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

9915fb20 03/15/2012 06:22 pm Iustin Pop

Add tests for custom text files

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

d3cd5a3f 03/14/2012 12:21 pm Iustin Pop

Fix make distcheck after the new shell tests

With the new shell tests, we have for the first time the situation
where tests require a binary built (via make), but the binary itself
is not the test. Hence, we need to declare and use check_SCRIPTS for
it.
...

25cdf177 03/13/2012 06:11 pm Iustin Pop

Build a coverage-enabled version of the tools

This allows the offline tests to also generate coverage data, and the
hs-coverage target is changed to show both unit-test and offline-tests
coverage.

The downside is that now we build yet-another-binary, which makes the...

04d15e63 03/13/2012 05:56 pm Iustin Pop

Enable htools offline tests as Haskell tests

This enables the offline-test.sh run both in the special "hs-check"
rule and during normal "make check".

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

358a0a8f 03/13/2012 03:12 pm Iustin Pop

htools: add confd server module

This contains a more-or-less complete implementation for the
server-side confd.

Note that most of the code is behaving identical to the Python code,
with a notable exception: the asyncore/inotify code was changed (since
Haskell doesn't have asyncore) to 3-thread system. While otherwise I...

3c899290 03/13/2012 03:12 pm Iustin Pop

htools: add confd daemon binary

This is currently not installed anywhere, just built.

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

6ec7a50e 03/13/2012 02:48 pm Iustin Pop

htools: add basic daemon-related functionality

This is not complete for now, just the basic functionality has been
implemented:

- daemonize
- check we're running under the correct user
- call setup logging

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

ba4e38e8 03/13/2012 02:48 pm Iustin Pop

htools: add logging functionality

This adds a dependency on hslogger 1.1+, which is not available in
Debian Squeeze, only in later versions.

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

7946c25d 03/13/2012 02:48 pm Iustin Pop

htools: add runtime functionality

This duplicates the lib/runtime.py functionality, allowing us to check
for runtime users and groups consistency.

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

21dc8694 03/13/2012 02:48 pm Iustin Pop

htools: add a small module for crypto functions

This adds a dependency on the following new libraries:

- Data.HMAC module from the 'crypto' library
- Data.Text from the 'text' library
- Data.ByteString from the 'bytestring' library

In Debian, the bytestring library comes with the ghc compiler, whereas...

417cc253 03/13/2012 02:48 pm Iustin Pop

htools: add definitions for confd types

While we have some of these as plain types in Constants.hs, we add
proper ADT definitions for them in a new file. Furthermore, we add the
ConfdRequest and ConfdReply types here (in Python they are in
objects.py).

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

eaa64cd8 03/13/2012 02:48 pm Iustin Pop

htools: add a very basic lib/config.py equivalent

This only is able to load the configuration data for now.

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