Statistics
| Branch: | Tag: | Revision:

root @ 152e05e1

# Date Author Comment
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 <>

1091021c 03/21/2012 12:25 am Iustin Pop

Add two utility functions

These both are work with/on the Result type, so we add them to
BasicTypes. The functions will be used as more generic versions of
some more specialised functions that are right now spread across the
modules.

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

152e05e1 03/21/2012 12:25 am Iustin Pop

Add the bind-address option

This implements the same logic as the Python code: if the option is
not used, use the default appropriate for the cluster, otherwise try
to parse and use whatever was passed in.

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

a5183d3d 03/20/2012 02:11 pm Alexander Schreiber

Typo fix: s/aditional/additional/

Trivial fix for a typo in message output of LUInstanceSetParams

Signed-off-by: Alexander Schreiber <>
Reviewed-by: René Nussbaumer <>

3c6b7403 03/19/2012 05:45 pm Iustin Pop

Fix exported constants

I "forgot" to run the unittests before commit :(

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

47334810 03/19/2012 05:34 pm Iustin Pop

Export the AF_INET/AF_INET6 constants

These are needed to ensure that htools uses the same numeric values as
Python.

By the way, I'm not sure what's the best option: importing socket into
constants (this patch), or adding custom exports to
autotools/convert-constants....

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

e6812a1a 03/19/2012 12:00 pm Iustin Pop

htools: fix long version of --port for daemons

The dashes do not need to be in, if they are then the resulting option
is:

-p PORT  ----port=PORT     Network port (default: 1814)

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

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

5ec23388 03/19/2012 11:50 am Iustin Pop

Update gnt-node evacuate man page/help text

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

36c70d4d 03/16/2012 01:40 pm Iustin Pop

Fix gnt-group --help display

Copy-paste mismatch :)

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

f0753837 03/16/2012 12:35 pm René Nussbaumer

hspace: Make use of the spindle_use

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

5850e990 03/16/2012 12:08 pm Iustin Pop

htools: Fix some compiler warnings

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

8d616d4d 03/15/2012 06:22 pm Iustin Pop

Add utilisation and instance selection tests

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

30084381 03/15/2012 06:22 pm Iustin Pop

Enable pipefail mode for shell tests

These allow more accurate checks.

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

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

Add RAPI shell-level unittest

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

d575c755 03/15/2012 06:22 pm Iustin Pop

Enhance the RAPI backend to accept file:// URLs

This will allow offline testing of this backend (except for the actual
curl part), also in the case where we didn't compile against curl.

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

ec629280 03/15/2012 04:25 pm René Nussbaumer

htools: Reflect the rename of spindle_usage to spindle_use

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

34700f5b 03/15/2012 04:25 pm René Nussbaumer

Rename spindle_usage to spindle_use on Ganeti side

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

fafd0773 03/15/2012 04:05 pm Iustin Pop

Add a helper function for mirrorType computations

We most always use `templateMirrorType . diskTemplate`, so let's add a
helper function for this.

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

1d42996b 03/15/2012 04:05 pm Iustin Pop

Fix TLMigrateInstance use of IAllocator

hail now expects correctly that relocate_from is of equal length with
the number of required nodes (fixme: there's a lot of not well
documented behaviour here… not nice for any other potential
IAllocators). As such, we need to pass just the instance's primary...

64946775 03/15/2012 04:05 pm Iustin Pop

Enable all disk templates in unit-tests

After the many patches implementing the shared storage functionality
in iallocator, balances, etc., and after the patches preparing the
unit-tests to do the right thing for shared storage, we can finally
flip the bits that make instances have "random" disk templates as...

f9f6480e 03/15/2012 04:05 pm Iustin Pop

Enable evacuation/relocation for shared storage

This patch toggles the final bit and enables nodeEvacInstance to work
on shared storage instances. Diskless instances are handled the same
(as in, None is the same everywhere :).

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

91575c31 03/15/2012 04:05 pm Iustin Pop

Replace explicit case with 'either'

Instead of manually case-ing on the Either contents, let's just use
either with const functions (not really readable, but…).

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

a1741ae5 03/15/2012 04:04 pm Iustin Pop

Rename evacDrbdSecondaryInner to evacOneNodeInner

The function is now generic, so let's rename it and cleanup/improve
the docstrings.

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

6ab3ce90 03/15/2012 04:04 pm Iustin Pop

Abstract the secondary evac into a separate function

This is generic enough (no longer depending on the replace type) that
it will be used for other replace modes too. So all we need to do is
to abstract it to a separate function (that can be called from...

53bddadd 03/15/2012 04:04 pm Iustin Pop

Fix Node_addPriFD test for arbitrary disk templates

Currently, this test assumes localStorageTemplates, so let's make sure
we enforce that on the given instance

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

0c8cef35 03/15/2012 04:04 pm Iustin Pop

Extend the possible move types with FailoverToAny

This brings together all previous pieces and allows balancing to work
(with the known caveats related to disk space calculation) for shared
storage disk templates.

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

d953a965 03/15/2012 03:53 pm René Nussbaumer

htools: Add the new ipolicy field

Also add the spindle usage to QC

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

553cb5f7 03/15/2012 03:53 pm René Nussbaumer

ipolicy: Keep track of spindle usage

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

4c18f468 03/15/2012 12:29 pm René Nussbaumer

htools: Use the spindle usage in the algorithms

In the same transition also do a simple refactor of the caculation

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

b003b8c0 03/15/2012 12:29 pm René Nussbaumer

htools: Convert all the other backends as this is trivial

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

52cc1370 03/15/2012 12:29 pm René Nussbaumer

htools: Adapt the Text backend to spindle usage

The old text files remain compatible with this change.

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

981bb5cf 03/15/2012 12:29 pm René Nussbaumer

htools: Adding spindle usage to Instance

For now we just pass in "1" as spindle usage and adapt the backend
later.

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

37b918c2 03/15/2012 12:29 pm René Nussbaumer

iallocator: Add the spindle_usage to iallocator

This adapts the Ganeti side to export the spindle_usage

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

ccbbb434 03/15/2012 12:29 pm René Nussbaumer

constants: Add new spindle_usage parameter to BE

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

1cdcf8f3 03/15/2012 12:24 pm Iustin Pop

Rework unit parsing

Due to how conversions were implemented previously, 1TB failed to
parse on 32-bit, as we were overflowing during computation, even
though the final result would fit easily.

This patch moves the parsing of the scaling factor to a separate...

1bf72492 03/14/2012 12:50 pm Alexander Schreiber

Enable lvmstrap to run under Linux 3.x

Extend the kernel version check to also accept Linux 3.x as valid.

Signed-off-by: Alexander Schreiber <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

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

16197d69 03/13/2012 06:11 pm Iustin Pop

Add more rebalance offline tests

These test that we can actually rebalance (and that it results in
replace-disks and failovers/migrations), and that we don't
double-rebalance, etc.

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

3e7220e4 03/13/2012 06:11 pm Iustin Pop

Enhance the offline tests

This adds new offline tests:

- checks that files generated by hspace can be read by hbal/hinfo
- checks that hbal handles node groups as expected
- checks that enabling multiple backends results in failure
- checks hspace machine readable code and higher verbosity...

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

42089b55 03/13/2012 05:56 pm Iustin Pop

Add a simple binary tester for htools

This only tests the command line basic options. In the future, it can
be expanded to check other things.

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

01c23d75 03/13/2012 05:56 pm Iustin Pop

Add a helper for htools CLI tests

… and update live-test.sh to use it, instead of hard-coding the
program paths.

A few additional style fixes are also done (indentation).

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

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

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

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

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

htools: add partial implementation of lib/objects.py

This is partial since not all object types can be easily converted for
now (will need some changes on the Python side for this).

Most importantly, the *Params types do not have a good solution now:
the Python code, due to its dynamic typing, hides the fact that we...

0547d608 03/13/2012 11:29 am René Nussbaumer

htools: Make it possible to load an IAlloc request

This is only useful in the stand-alone command line tools:

- hbal
- hspace
- hinfo

This change also documents the flag in all man-pages.

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

81f7ea25 03/09/2012 04:46 pm Iustin Pop

Fix lint error in commit 035b33e2

Commit 035b33e2 forgot one blank space, and current pylint in Debian
Sid doesn't run on our code… so I didn't realise this until after
commit, sorry.

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

7018af9c 03/07/2012 11:35 pm Iustin Pop

Fix relocation test ClusterAllocRelocate

As for the evacuate tests, we require a mirrored disk template, but
otherwise the test should work for both mirror types.

Additionally, we perform a simplification that was left as TODO.

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

3d7d3a1f 03/07/2012 11:34 pm Iustin Pop

Fix IAlloc.processRelocate to support shared storage

Currently, this function expects (but doesn't really check! only via
secondary node being defined) a DRBD8 template type.

This patch (not very readable, sorry) changes it so that we check
whether we're internally mirrored, externally mirrored, or not...

ac1c0a07 03/07/2012 11:31 pm Iustin Pop

Fix up Cluster nodeEvac unittests for shared storage

Currently, these presume that the instance being generated always is
DRBD/relocatable (but won't be in the future), and also presume that
all relocation modes can be used (hint: not ☺).

So we add a couple of helper functions to restrict the used disk...

a593113c 03/07/2012 11:25 pm Iustin Pop

Small improvement for nicer unit-testing

In case you just run "make htools/test" to recompile the unittests,
the old .tix file should be removed, otherwise you get the message
about inconsistent tick boxes. Let's make the compilation process
automatically remove this, for easier testing....

80b27509 03/07/2012 11:24 pm Iustin Pop

Rework evacDrbdSecondaryInner to take the imove

Instead of hard-coding the instance move operation, let's accept is as
a parameter from the caller. This is the single thing that makes this
DRBD-specific, so removing it will help for future
patches. Furthermore, this abstract the imove op type into a single...

bebe7a73 03/07/2012 11:24 pm Iustin Pop

Add a simple type alias for nicer type signatures

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

c6e8fb9c 03/07/2012 11:24 pm Iustin Pop

Fix a few tests that hard-coded the number of nodes

Instead of randomly generating the number of required nodes or
hard-coding it, compute it from the disk template of the
instance. Otherwise tests will fail when the disk template is not
DRBD8 and we ask for allocation on 2 nodes....

90669369 03/07/2012 11:18 pm Iustin Pop

Fix test Node_addSec_idempotent

Another test that only works for DRBD8 instances.

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

e7b4d0e1 03/07/2012 11:17 pm Iustin Pop

Fix the Node_rMem test to specify DRBD8 templates

… since memory reservation only is used for this template.

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

c6b7e804 03/07/2012 11:17 pm Iustin Pop

Split the Node_addOffline test into pri/sec

Currently, this (single) test checks whether we can add an instance as
primary and secondary to a given node. This won't work for instance
templates other than DRBD8, so we split it into:

- an add to primary test, which should work for all disk templates...

5f4464db 03/07/2012 11:05 pm Iustin Pop

Use the mirror type in Cluster.possibleMoves

Currently the function possibleMoves always presumes DtDrbd, which is
wrong for shared storage. To make it work with all disk templates, we
additionally pass the mirror type to it (we assume that the move
behaviour only depends on the mirror type, and not the individual...

810d051f 03/07/2012 11:05 pm Iustin Pop

iPolicy: enable by default all storage templates

… otherwise we can't run tests or simulations using non-default
templates. Tests still pass.

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

255d140d 03/07/2012 11:05 pm Iustin Pop

Fix printSolutionLine to handle big scores

Currently we don't set a boundary on the length of the score field,
which breaks all our nicely-aligned output efforts.

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

e85444d0 03/07/2012 11:05 pm Iustin Pop

Fix printSolutionLine to handle non-DRBD steps

Currently Cluster.printSolutionLine function always wants to print the
old and new secondary, and as such it fails (ugly) for moves of
non-DRBD instances. Change it so that it looks explicitly for
noSecondary nodes, and format the output different in that case....

b906d7c1 03/07/2012 11:05 pm Iustin Pop

Add a helper type and function for the mirror type

Currently we track the mirroring type as simply yes/no, with "yes"
meaning DRBD. This is not enough for handling shared storage, so we
need to add a type that gives the exact mirroring type (none,
internal, external), and a function that ties the disk template type...

73d12eab 03/07/2012 11:04 pm Iustin Pop

Small simplification in tryBalance

Instead of computing the bad/good node lists separately (in effect
iterating twice over the all_nodes list and also creating that list
twice from the container), let's use 'partition' and do a small
improvement.

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

2c7b328c 03/07/2012 11:04 pm Iustin Pop

Mark Rbd as a movable disk template

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

a7667ba6 03/07/2012 11:04 pm Iustin Pop

Do not rely on no-secondary for movable tests

Currently, the code in Loader.hs marks as un-movable any instances
which don't have a secondary. This is not valid for any shared storage
templates, so let's remove that check completely. The initial state of...

b7743258 03/07/2012 11:04 pm Iustin Pop

Handle nodes without local storage

Our current cluster model is based on per-node storage, and as such we
don't handle shared disk templates. Until we can improve the model,
let's handle nodes without local storage better: in order to still
compute a valid cluster score, we need to handle nodes with tDsk == 0....

035b33e2 03/07/2012 10:59 pm Iustin Pop

Fix tempfile reset code & test on newer Python

Python 2.7.3 (rc status) and 3.2.3/3.3 (rc, respectively alpha status)
have fixed http://bugs.python.org/issue12856 which we worked around
ourselves.

This means two things:

- we don't need to manually reset the module...

7bfb3367 03/06/2012 08:58 pm Iustin Pop

Merge remote-tracking branch 'origin/devel-2.5'

Conflicts:
Makefile.am (trivial, test data files added on both branches)
lib/opcodes.py (trivial, master renamed filter→qfilter, 2.5
fixed the type of the parameter)...

c55cc346 03/05/2012 11:17 pm Iustin Pop

Split check-man-warnings into two

This moves the dashes check to a new check-man-dashes script.

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

73d0e218 03/05/2012 11:17 pm Iustin Pop

Rename check-man to check-man-warnings

Currently the check-man test is dependent on the MAN_HAS_WARNINGS
test, which made sense as long as the script only did the warnings
check.

However, we should run the [em] tests always, and in general we could
run other tests too, even if man doesn't support --warnings; so let's...

9c45babb 03/05/2012 11:17 pm Iustin Pop

Makefile: improve the fix for .DELETE_ON_ERROR

I've investigated more and it seems that .DELETE_ON_ERROR not working
is a bug/regression in some versions of make; testing with make 3.82
from Debian experimental makes this special target work as
expected. Also, make 3.81 works on trivial Makefiles, but not on our...

4892d955 03/03/2012 09:46 pm René Nussbaumer

htools/ExtLoader: Bring the pieces together

This make it possible to load from an Ialloc file

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

9899796b 03/03/2012 09:46 pm René Nussbaumer

htools/CLI: Adding new options to use ialloc as source

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

786c514c 03/03/2012 09:46 pm René Nussbaumer

htools/IAlloc: Adding loadData method for use as backend

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

c3f8cb12 03/03/2012 09:46 pm René Nussbaumer

htools: Refactor some of IAlloc.readRequest to Hail

This makes it possible to reuse that function when we want to use IAlloc
as a data source backend

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

14fbd75b 03/03/2012 09:46 pm René Nussbaumer

hinfo: Adjust the verbosity

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

d0a14556 03/01/2012 08:48 pm René Nussbaumer

hinfo: Gather and print group statistics

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

f35ea63a 02/29/2012 06:17 pm Iustin Pop

Explicitly remove the .x.in man pages on failure

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

e8f936b0 02/29/2012 06:17 pm Iustin Pop

More -- fixes

Because .DELETE_ON_ERROR doesn't work consistently (works when the
target we're talking about is a final target, but not for
intermediates), I missed a lot of man checks.

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

c3024b7e 02/29/2012 04:22 pm René Nussbaumer

htools: Adding printTable helper

This helper abstract away all the unlines and unwords call you've to do
after you got a formatTable back.

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

5c52dae6 02/29/2012 04:19 pm Iustin Pop

Fixup a Node unittest

This fixes the prop_Node_rMem test, which cares about memory only;
otherwise we could fail due to other problems (e.g. not enough disk).

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

ee4ffc8a 02/29/2012 04:18 pm Iustin Pop

Allow overriding the target test count

This is not perfect, as the override applies identical target test
values to both the 'fast' and 'slow' tests (making the slow tests take
a long time), but it allows a quick override for manual runs.

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

eae69eee 02/29/2012 04:18 pm Iustin Pop

Add two more unittests for Node add/remove

These just test that add/remove are idempotent. This is not perfect,
as we use unsorted lists for some values (instead of sets), so when
using non-empty nodes this would break (but for empty nodes, a
1-element list is sorted, so it's fine)....

084565ac 02/29/2012 04:18 pm Iustin Pop

Use the spindles metric in cluster scores

This makes balancing use the new metric.

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

82f19570 02/29/2012 04:17 pm Iustin Pop

Track instance-used spindles in node set/add/remove

This simply tracks the instance-used spindles (using hard-coded '1'
per instance), and additionally prevents additions in soft-mode when
we go over the limit.

Note: there's an assymetry between addSec and removeSec (basically...

7959cbb9 02/29/2012 04:17 pm Iustin Pop

Shorten some function names

Since we use the functions always module-qualified, let's drop the
`instance` prefix and use a shorter one.

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

f87c9f5d 02/29/2012 04:17 pm Iustin Pop

Simplify logic in Node operations

This patch adds two helper functions and uses them for a somewhat
simplified logic in the add/remove pri/sec node functions.

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

0c7d4422 02/29/2012 04:16 pm Iustin Pop

htools: support spindles in simu backend

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

f951bd09 02/29/2012 04:16 pm Iustin Pop

htools: support spindles in text load/save

If missing, we'll default to 1 spindle.

This also updates the text file format with the ipolicy, which was
forgotten.

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