Statistics
| Branch: | Tag: | Revision:

root / Makefile.am @ ec5af888

History | View | Annotate | Download (51.3 kB)

# Date Author Comment
5f2cdb2a 12/12/2012 05:06 pm Michele Tartara

Fix a bug in the hs-coverage rule of Makefile.am

The coverage information for mon-collector was not merged correctly.

Signed-off-by: Michele Tartara <>
Reviewed-by: Iustin Pop <>

cefd4a4a 12/12/2012 02:09 pm Michele Tartara

Add shelltests for the mon-collector

This commit adds shelltests for the mon-collector binary and for the DRBD
data collector.

Also, it fixes a small bug in the DRBD parser found thanks to the tests.

Signed-off-by: Michele Tartara <>...

332b1340 12/12/2012 02:09 pm Michele Tartara

Add the stand-alone data collector for DRBD

It is implemented as a single binary receiving, as its first parameter,
the name of the actual data collector to be run.
This way, its structure can be used for all the future data collectors.

Also, factored out of bdev.py into constants.py the location of the DRBD...

76a0266e 12/11/2012 05:18 pm Helga Velroyen

Network and address pool (again)

Implementation of the network objects and address pool. Functionality
as in the reverted commit b9a616e132af9bba718d2da8c94eeec7af886814, but
now using only the vector library and not the bit-vector library.
Tested with vector library version 0.9 and 0.10., which are...

94811696 12/10/2012 05:53 pm Michael Hanselmann

Make htools/Ganeti/Constants.hs depend on errors.py

It also uses values from “lib/errors.py”.

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

fa23de0b 12/07/2012 11:45 am Helga Velroyen

Revert "Network and address pool"

This reverts commit b9a616e132af9bba718d2da8c94eeec7af886814, which
depends on the "bitvec" library. We need to investigate a bit further that
dependency, as it in turns depends on "vector" 0.9.1 or below, since
0.10.* removed support for Data.Vector.Unboxed.Safe which it uses....

b9a616e1 12/06/2012 07:13 pm Helga Velroyen

Network and address pool

Implementation of the network and address pool class in
Haskell. Not complete yet. Includes unit tests that cover
all functionality that is so far implemented.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Iustin Pop <>

d5fe5fa9 12/06/2012 05:07 pm Michael Hanselmann

Add tool to clean up node

Sometimes a node is not removed properly from a cluster (especially
during development). This new tool stops all daemons and removes (after
making copies) the most critical files.

Signed-off-by: Michael Hanselmann <>...

69e5fefc 12/06/2012 04:07 pm Michael Hanselmann

Add tool to configure node daemon

The design for this is in “doc/design-node-add.rst”. The tool receives a
JSON data structure on stdin and configures the node's daemon after
verifying the received values.

Signed-off-by: Michael Hanselmann <>...

de645b5b 12/05/2012 07:05 pm Michael Hanselmann

Makefile: Reset environment for epydoc

epydoc allows overriding configuration values via environment variables.
While this might be useful in certain use cases, but as no prefix
whatsoever is used, conflicts are easily created. Some people have the
environment variable “NAME” set, effectively overriding the project name...

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

a2d7ea09 12/04/2012 01:44 pm Iustin Pop

Small Makefile.am cleanups

Indentation within rules is fixed to always be 2 spaces (as opposed to
mixed tabs/2 spaces/4 spaces). Additionally, the check-dirs rule,
which was more complex than necessary, has been simplified: moved
auto4mte.cache to DIRCHECK_EXCLUDE, and simplify the find call and the...

9cda4d6a 12/04/2012 01:44 pm Iustin Pop

Fix long lines in Ganeti.HTools.Types and add Make check

Since hlint doesn't check style issues but rather code only issues,
let's add a simple Makefile check for too-long lines, and fix the
single bad case we have currently.

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

af42ffb6 12/04/2012 01:44 pm Iustin Pop

Two small haskell-related Makefile improvements

Just some cleanup:

- don't run hlint over hpc-htools, since it's just a symlink to
htools.hs (so we'd get duplicate warnings)
- build rpc-test in make really-all, via HS_ALL_PROGS variable

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

cbcd9144 12/03/2012 07:38 pm Michele Tartara

Improve the Haskell api doc directory creation system

Instead of having two different lists of directories, now there is only one.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

0cc3f0d7 12/03/2012 01:56 pm Michael Hanselmann

Design for opportunistic locking

Add the design document for opportunistic locking.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

9de303af 12/03/2012 12:45 pm Michele Tartara

Add unit tests for the JSON serialization of DRBD status

The serialization itself is done by Text.JSON, so the tests deal with checking
that Text.JSON objects are created correctly from the DRBD parser data
structures.

Signed-off-by: Michele Tartara <>...

c3231353 11/30/2012 04:17 pm Iustin Pop

Fix Haskell profiling targets

It turns out that in newer GHC versions, the suffix shouldn't be
prefixed with a dot; otherwise name mangling is broken.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michele Tartara <>

4349c24d 11/29/2012 12:24 pm Michele Tartara

Fix Attoparsec test coverage check compatibility

The hpc tool, on squeeze, does not handle utf8 encoded files correctly.
The Attoparsec test is just needed to verify whether the parser handles
uft8 correctly, so the solution is to exclude it from coverage checks....

911dfc49 11/28/2012 01:48 pm Michael Hanselmann

ssconf: Verify file size when reading, add some tests

Until now ssconf would limit the amount read from files to 128 KiB and
silently ignored files larger than that. With this patch a check is
added by using fstat(2) on the file descriptor while it's being read....

1fdeb284 11/21/2012 03:43 pm Michael Hanselmann

Rename configure option for restricted commands

It is no longer “--enable-remote-commands”, but rather
“--enable-restricted-commands”.

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

4e4b6b7a 11/20/2012 07:51 pm Apollon Oikonomopoulos

Include networks in Makefile and bash completion

Signed-off-by: Apollon Oikonomopoulos <>
Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

a52f8e72 11/20/2012 01:02 pm Michele Tartara

Add DRBD parser unit tests

This adds tests that existing test files can be parsed by the Haskell
parser as well, plus one new test file.

Signed-off-by: Michele Tartara <>
Reviewed-by: Iustin Pop <>

3c1915df 11/20/2012 01:02 pm Michele Tartara

Add parser for DRBD /proc file

A new directory for haskell modules about block devices has been created
The parser is divided in two modules:
  • one exports the data types describing the DRBD status
  • one exports the parser itself

Signed-off-by: Michele Tartara <>...

92f51573 11/20/2012 11:16 am Iustin Pop

Split OpCode.hs and add module for opcode parameters

Due to TemplateHaskell stage restrictions, we can't define parameters
in the same module as we're using them for TH, so we have to define
all module parameters in a separate module.

This patch therefore splits OpCodes.hs in two, adding that module and...

5e9deac0 11/20/2012 11:16 am Iustin Pop

Create a new Ganeti/Types.hs module

There are already three cases where we copied type definitions between
the htools-specific types into the main ganeti code. Let's stop doing
this ☺ and create a common types module that holds these.

Note that there already exists BasicTypes.hs, but that refers to very...

52fca4ba 11/19/2012 05:28 pm Michael Hanselmann

configure: Shell cleanup

- Remote unnecessary quote characters
- Change some uses of “test "$foo"” to “test n "$foo"”
Merge “if/else/if” into “if/elif”
- Wrap lines longer than 80 characters and add a test to “make check”

Signed-off-by: Michael Hanselmann <>...

488a5b2e 11/19/2012 11:49 am Michele Tartara

Prevent hlint crash on unicode chars

Some versions of hlint crash on the Attoparsec test file because they
are not able to correctly handle unicode characters if the proper encoding
(--utf8) is not specified.

Signed-off-by: Michele Tartara <>...

7742b03c 11/16/2012 06:52 pm Michael Hanselmann

Rename design document for SSH setup

More design details will be added regarding setting up the node daemon,
so this is more about adding a node than just setting up SSH.

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

1a2eb2dc 11/16/2012 04:10 pm Michael Hanselmann

backend: Implement remote commands

As per design document (doc/design-remote-commands.rst), a number of
rather strict tests is applied to any incoming request, a delay is
inserted upon errors and returned error messages are very generic
(unless it's the actual command that failed). There are unit tests for...

9108958f 11/16/2012 04:09 pm Michael Hanselmann

configure: Add option to enable remote commands

By default remote commands are disabled and need to be explicitely
enabled at build time.

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

aa75500a 11/15/2012 02:21 pm Guido Trotter

Add ganeti-master-role.ocf example file

This allows controlling the cluster master role if the nodes are part of
a linux-HA cluster.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

17071597 11/15/2012 02:21 pm Guido Trotter

Add ganeti-node-role ocf example file

This allows offlining nodes that don't respond if they are part of a
linux-HA cluster.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

105f0d47 11/13/2012 10:21 pm Michael Hanselmann

Add new test for RAPI

Unlike existing tests, this actually tests RAPI at the interface with
the HTTP server. This way authentification can also be tested. A test
for “/2/query/…” is included as it's a bit special.

Signed-off-by: Michael Hanselmann <>...

39f0eea5 11/13/2012 03:42 pm Iustin Pop

Automatically enable version-dependent GHC flags

Some GHC flags are very useful, but only appear in more recent GHC
versions. To support the use of such flags while still supporting
older compilers, let's add conditional checks and enabling based on
the results....

43b3b5c1 11/13/2012 01:38 pm Michele Tartara

Added attoparsec unit test for Unicode parsing

Attoparsec is known to have had issues with parsing non-ASCII strings.
This test makes sure that parsing of Unicode characters works fine.

Signed-off-by: Michele Tartara <>
[iustin: small doc string fixes]...

6376dcc0 11/13/2012 10:29 am Iustin Pop

Improve make regen-vcs-version

"make regen-vcs-version" is run at every ./devel/upload time, in order
to have reasonably up-to-date information in the uploaded
scripts/binaries. However, this means it currently triggers
recompilation of (at least) Ganeti/Version.hs, and sometimes more than...

cdc2392b 11/08/2012 02:58 pm Iustin Pop

Rename Confd.hs to Confd/Types.hs

This should be the last module rename, promise!

We rename this to conform to the other hierarchies (e.g. Query), and
to not have both Confd.hs and Confd/*.hs.

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

b9612abb 11/07/2012 03:06 pm Iustin Pop

Merge branch 'devel-2.6' into submit

  • devel-2.6:
    Fix compatibility with newer Haskell libraries
    Fix gnt-instance console with xl

Conflicts:
Makefile.am (reordering, fixed)
htools/Ganeti/Confd/Server.hs (hlint fixes on master)
htools/Ganeti/Daemon.hs (hlint)...

27639c4e 11/07/2012 02:08 pm Iustin Pop

Merge branch 'stable-2.6' into devel-2.6

  • stable-2.6:
    Fix compatibility with newer Haskell libraries
    Fix gnt-instance console with xl

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

f9435bdc 11/07/2012 02:07 pm Iustin Pop

Switch devel/upload to a static file

We had twice in the past days questions about devel/upload being
"broken", since bash re-reads shell scripts during their run and this
file can get regenerated due to Makefile changes.

Since we only need this to be dynamically built for 3 variables, let's...

1f5557ca 11/06/2012 08:01 pm Guido Trotter

Fix gnt-instance console with xl

- Rename xm-console-wrapper to xen-console-wrapper
- Pass the xen command to use as a parameter

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

8a670753 10/26/2012 05:27 pm Michael Hanselmann

Remove setup-ssh

It has been superseeded by “prepare-node-join”.

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

879d9290 10/26/2012 03:05 pm Iustin Pop

Move htools backends to a separate directory

Five modules under the HTools/ directories are backend
implementations, so let's move them to a separate directory, to more
clearly show the hierarchy. I wanted to do this for a while, but
merging between branches is always an issue, so let's do it know since...

f51eacf3 10/26/2012 02:22 pm Iustin Pop

Add a simple unittest for THH code

This is very THH specific, and applies to all serialisations generated
by THH, so I'm adding it in its own module.

Probably we should add some more generic tests, but in general THH
code is tested by the various definitions; this new field type however...

cd93a0ec 10/25/2012 06:47 pm Iustin Pop

Remove unused cache implementation

Note that this commit has no Makefile.am changes, as the files were
not actually used. So it's better to actually remove them.

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

7a07475f 10/25/2012 02:32 pm Iustin Pop

Add a default `.ghci' file

This options file for ghci preseeds the correct include paths, so that
interactive sessions don't need to always pass these args.

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

ef3ad027 10/25/2012 12:38 pm Iustin Pop

Add an Errors module mirroring the Python one

As described in the module doc string, while writing this it dawned
upon me that we're mixing all errors together into a single hierarchy
(well, type on the Haskell side), which is not good. Some errors are
used purely within noded, some in the CLI frontends, etc. so these...

d55b80b0 10/24/2012 03:01 pm Guido Trotter

Add small design for Linux HA integration

This documents the status (or wanted status) of some example ocf modules
I've written for Ganeti. They are far from perfect, but they should be
shipped as a starting point for other people who want to run this to...

335ba60d 10/24/2012 10:43 am Guido Trotter

Replace LIBDIR in .in files

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

d12b9f66 10/23/2012 06:32 pm Michael Hanselmann

Add initial implementation of prepare-node-join

This is a new tool as per the design document “design-ssh-setup”. It
receives a JSON data structure on its standard input and configures the
SSH daemon and root's SSH keys accordingly. Unit tests are included....

141c8421 10/22/2012 06:42 pm Michael Hanselmann

Find coverage during configure, issue with Debian package

- Debian Squeeze and up have a package named “python-coverage”, but it
doesn't use the same binary name as upstream (“coverage”).
- Said package includes a patch to use symlinks instead of file copies...

37519c09 10/22/2012 06:19 pm Iustin Pop

Add a new 'really-all' make target

This is used when one wants to build all binaries, including those
that are used only for testing. A handy shortcut to make sure all
binaries can be built.

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

109e07c2 10/18/2012 02:38 pm Guido Trotter

Add cluster monitoring agent design document

This design addresses the lack of a uniform way to query ganeti nodes
for real time information that can be used by monitoring.

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

659d769d 10/17/2012 07:45 pm Dato Simó

Merge branch 'devel-2.6' into master

  • devel-2.6:
    htools-excl.test: add test case for exclusion tags in hbal
    Instance.hs: rename 'tags' to 'exclTags', provide 'allTags'
    Group.hs: add 'allTags'; adjust loaders and test data for it
    Add hbal-excl-tags.data to Makefile.am, missed in 0397694...
b898de8f 10/17/2012 06:30 pm Dato Simó

Add hbal-excl-tags.data to Makefile.am, missed in 0397694

Signed-off-by: Dato Simó <>
Reviewed-by: Michael Hanselmann <>

e1c701e7 10/17/2012 02:12 pm Michael Hanselmann

gnt-job cancel: Confirmation and selection of jobs

New parameters, “--pending”, “--queued” and “--waiting”, are added to
select all jobs in the respective state. If one of those options is used
and “--force” is not given, the user is asked to confirm the operation....

2ff01d78 10/16/2012 06:13 pm Michael Hanselmann

Design for remote command execution via RPC

This is a first design for executing commands via RPC.

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

04c998a5 10/16/2012 06:13 pm Michael Hanselmann

Makefile: Verify version of security.rst document

This document should be kept up-to-date.

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

19e21a6c 10/16/2012 03:14 pm Iustin Pop

Add a very simple test rpc program

This only supports test delay for now, is not built by default (only
on demand), and is also not installed anywhere.

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

4ab40ed5 10/16/2012 03:14 pm Iustin Pop

Add htools program code to hlint call

Currently only the libraries are added, but not the actual main binary
(usually short) code.

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

f98efa98 10/16/2012 01:06 pm Michael Hanselmann

Add design for changing node SSH setup

The goal is to remove the dependency on Paramiko.

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

fc07a14e 10/12/2012 12:37 pm Michael Hanselmann

Fix distcheck after commit 7a962ec

I only ran “make check” and forgot about “distcheck”.

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

7a962ecc 10/12/2012 11:37 am Michael Hanselmann

Makefile/check-local: Ensure design document exists

This way a missing design document is detected.

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

97aac894 10/12/2012 11:37 am Michael Hanselmann

Add design document for version 2.7

- Move design document for batch instance creation into it
- Sort list of hidden files in index.rst

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

18049dad 10/11/2012 01:03 pm Iustin Pop

Cleanup haddock documentation a bit

While grepping for htools imports in the non-htools subdirectory, I
saw that our haddock prologue and title are very very old and refer to
the old htools-only state. Let's cleanup a bit…

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

6a74f584 10/11/2012 12:38 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    verify-disks: Explicitely state nothing has to be done
    Add list of design documents implemented in version 2.6
    Better list of replace-disks arguments + typos fixed
    jqueue: Look at archived jobs when watching
    Show old primary/secondary node on disk replacement...
c44356fd 10/11/2012 12:24 pm Michael Hanselmann

Merge branch 'stable-2.6' into devel-2.6

  • stable-2.6:
    verify-disks: Explicitely state nothing has to be done
    Add list of design documents implemented in version 2.6
    Better list of replace-disks arguments + typos fixed
    jqueue: Look at archived jobs when watching...
21a5e56c 10/10/2012 02:43 pm Iustin Pop

Improve Haskell configure options and detection

This patch cleans up the Haskell library detection and defaults.

First, it makes the base compiler/libraries required, per the email discussion.

It then adds two new small autoconf macros, on to check for a required...

40309ed7 10/10/2012 02:22 pm Michael Hanselmann

Add list of design documents implemented in version 2.6

Each version should have its dedicated list.

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

46118ed2 10/08/2012 02:09 pm Iustin Pop

Merge ganeti-master-cleaner back into ganeti-cleaner

As I wrote during/after the review on commit 2958c56, “ganeti-cleaner:
Separate queue cleaning code”, while I appreciated the permission
separation, I didn't like too much the file-based approach:

- it is a very simple script, and lots of the code is duplicated...

f8d01158 10/08/2012 02:06 pm Iustin Pop

Enable bash completion for Haskell daemons too

This requires a few tiny changes to build-bash-completion and to
Makefile rules, but is straightforward.

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

dad26941 10/08/2012 12:52 pm Iustin Pop

A few cleanups in Makefile.am

A lot of the lists in Makefile.am were not sorted properly (or at
all); let's sort them for more sanity.

Additionally, check-local used to spew this big shell block, even
though it does emit nice messages when failing, so we don't need to...

6b84f036 10/08/2012 12:39 pm Iustin Pop

Fixup TAGS generation with newer GHC

Newer GHC refuses to allow "-O" with interactive mode, so let's filter
that out. Furthermore, sometimes you don't have a clean tree exactly
when you need to look up something/update the tags, so let's filter
out the "-Werror" too....

26d62e4c 10/08/2012 12:35 pm Iustin Pop

Rename Ganeti/HTools/Utils.hs to Ganeti/Utils.hs

This is, I believe, the last non-htools specific file that still lived
in the htools directory; it's already widely used in non-htools code,
so let's move it before we add more functionality to this module....

4ff32a35 10/05/2012 03:16 pm Bernardo Dal Seno

Design doc for partitioned Ganeti

Partitioned Ganeti allows to assign node resources in an exclusive manner,
in order to limit interference between instances running on the same nodes.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

04520998 10/02/2012 08:44 pm Iustin Pop

Remove option to select the Python version of confd

This will need some more configure.ac checks for required libraries,
which will come later with the Haskell dependencies reorganisation.

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

b0dcdc10 10/02/2012 08:44 pm Iustin Pop

Remove the python confd server side code

In 2.7 we will only support the Haskell version, if enabled.

Since the original hconfd enabling was a bit hack-ish (copying over
the actual installed ganeti-confd, Python version), the Makefile.am
changes are a bit more involved than just the removal of the Python...

ab171697 10/02/2012 08:41 pm Michael Hanselmann

Add first version of virtual cluster documentation

- Add document describing virtual clusters
- Non-root clusters are not yet described, will be done in another
patch
- Change title of design document to avoid confusion

Signed-off-by: Michael Hanselmann <>...

7ebadeb3 10/02/2012 01:34 pm Bernardo Dal Seno

Always distribute ganeti.utils.io_unittest-runasroot.py

Tests that depend on fakeroot were not distributed in the tarball created
by "make dist" when fakeroot was missing. Now all tests are distributed,
and a warning is printed when a test requires fakeroot but fakeroot is...

2958c56e 09/28/2012 03:16 pm Michael Hanselmann

ganeti-cleaner: Separate queue cleaning code

This code does not need to run as root, therefore it's better to split
it out. It is now run with the same permissions as the master daemon.

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

052783ff 09/28/2012 03:14 pm Michael Hanselmann

Stop hardcoding root user

Some parts of the code still use a hardcoded user name: root. This patch
replaces all with a constant specified at build time. The end goal is to
make it possible to run a Ganeti cluster without any special privileges
(of course this will prevent some functionality from working)....

6e3bf290 09/27/2012 07:10 pm Michael Hanselmann

Cleanup of build-time shell variable replacements

Instead of having a different set in (almost) every shell script, this
inserts the most commonly used variables at build time. This way the
code for injecting a root directory for virtual clusters also is just...

e5afb848 09/27/2012 07:09 pm Michael Hanselmann

Fix distcheck after commit 29386d3ee

Missing backslash.

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

29386d3e 09/27/2012 06:26 pm Michael Hanselmann

Add vcluster-setup utility

This utility can be used to configure an environment for a virtual
cluster. It sets up entries in /etc/hosts, creates the necessary
directory structure, and generates helper scripts.

Documentation for virtual clusters will come in a later patch....

40246fa0 09/26/2012 07:34 pm Agata Murawska

NodeGroup query in Haskell

Implementation of nodegroup queries in Haskell. This is not yet
complete as we are missing merged disk parameters and option
want_diskparams is not implemented.

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

ada0e680 09/26/2012 02:19 pm Iustin Pop

Enable bash completion for htools scripts

This patch ties together the previous commits, by extending
build-bash-completion to call all htools scripts and get their
completion information, then use that to build fake cli_options
representing them and finally generate the bash completion...

92886204 09/25/2012 03:19 pm Michael Hanselmann

Add tests for bash completion

Given the number of settings that need to be controlled a plain bash
script was a better choice over shelltestrunner. Just a few completions
are attempted, but among them should be the most critical ones (e.g.
“gnt-instance add --node …”....

33b4fa9f 09/24/2012 02:48 pm René Nussbaumer

Adding some fundamental unittests for iallocator

This test covers the bug fixes found in the previous two patches

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

05e733b4 09/21/2012 03:44 pm Michael Hanselmann

Add new module for virtual clusters

This module will take care of managing paths for virtual clusters.
Unittests are included (100% coverage).

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

e80aeb89 09/19/2012 06:12 pm Michael Hanselmann

bash_completion: Generate more compact version

First the numbers:
$ stat --format '%s %n' doc/examples/bash_completion*
77847 doc/examples/bash_completion
86492 doc/examples/bash_completion-debug

The non-debug version doesn't use indentation and does not have some...

9eeb0aa5 09/18/2012 06:11 pm Michael Hanselmann

Use autoconf-based paths from Haskell instead of constants

Future changes will change Path.hs to use an environment variable.

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

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