Statistics
| Branch: | Tag: | Revision:

root / test / hs @ 285d04a1

# Date Author Comment
285d04a1 09/25/2013 01:50 pm Jose A. Lopes

HUnit test for 'buildVersion'

Add 'HUnit' test for 'buildVersion'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

85c48fbb 09/19/2013 11:52 am Jose A. Lopes

Hs2Py constants: add constants from 'Ganeti.Types'

Add to Hs2Py constant generation all constants that are defined by the
Haskell defined declared in 'Ganeti.Types'. This patch also fixes a
type inconsistency between Haskell and Python, namely, the constant...

f8d4db63 09/12/2013 06:26 pm Klaus Aehlig

Add shelltest for the --ignore-dynu option of hbal

In the example, we have two nodes and 6 instances, all using external
storage. There are four small instances on one node, and two big
instances, requiring twice the amount of resources of a small instance,...

f361a6ee 09/12/2013 01:51 pm Jose A. Lopes

Haskell to Python constants: more constants

  • move several groups of constants, from Python to Haskell, which are
    currently being used in Haskell, including SSH and daemon related
    constants, policy allocation, blockdev driver manual (this is a
    single constant), auto repair related constants, and data collector...
4651c69f 09/10/2013 11:58 am Jose A. Lopes

Wrap 'Set' in 'ListSet' for the opcodes

In what Haskell to Python opcodes are concerned, a Haskell 'Set' is
translated into a Python 'list'. In other words, currently, opcodes
that handle sets of parameters are actually handling lists because
this is how sets are currently encoded. This patch introduces a new...

5cbf7832 08/08/2013 10:31 am Jose A. Lopes

Fix opcodes and parameters

  • fix some return types in opcodes and some types and documentation in
    parameters.
  • fix serialization of the default value of the 'name' parameter in
    the opcodes related to tags when tag kind is 'cluster'
  • revert changes to 'pShutdownTimeout'' and its references because the...
1ca326c8 08/07/2013 06:46 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
de36f091 08/07/2013 10:41 am Jose A. Lopes

Remove TagObject

The 'TagObject' datatype became useless because it was replaced by
'TagKind'. This patch removes 'TagObject', its 'Arbitrary' instance,
and related functions.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Guido Trotter <>

6e94b75c 08/07/2013 10:41 am Jose A. Lopes

Update Harep, Query server, and tests

Update Harep, Haskell query server, and tests concerning Luxi and
opcodes to reflect the changes to Haskell to Python opcode
generation. This change is necessary because TagObject is replaced by
TagKind and some types in opcodes and parameters changed to be...

34af39e8 08/07/2013 10:41 am Jose A. Lopes

Add Python opcode generation

  • add Python opcode generation to Template Haskell
  • fix all the opcodes and parameters, including their types and
    documentation
  • update Luxi to reflect the other changes.

Signed-off-by: Jose A. Lopes <>...

d31193c3 08/07/2013 10:41 am Jose A. Lopes

Eliminate Haskell constant for opcode names

Modify 'autotools/convert-constants' not to generate the Haskell
constant that holds all opcode names. By having Haskell generate the
Python opcopdes, it becomes impossible to generate this constant due
to a cyclic dependency. However, this constant is used only in tests,...

44c15fa3 08/07/2013 10:41 am Jose A. Lopes

Add Haskell types for opcodes and parameters

Add Haskell types for IP addresses (version 4 and 6), IP network
addresses, tag kind, and query result code.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Guido Trotter <>

aa7a5c90 07/30/2013 04:12 pm Michele Tartara

Add cleanup parameter to instance failover

Most of the code is shared with instance migrate, so we actually only need
to add the parameter and pass its value along the the common code.

Also, tests and harep are updated to support the right set of options to...

4e6cfd11 07/29/2013 03:27 pm Helga Velroyen

gnt-cluster modify --shared-file-storage-dir

This patch introduces to 'gnt-cluster modify' the option
'--shared-file-storage-dir' to change the default directory
for instances using shared file storage at cluster runtime.

Signed-off-by: Helga Velroyen <>...

2fe1e043 07/29/2013 03:27 pm Helga Velroyen

Remove obsolete autoconf variable from remaining files

This removes the obsolete autoconf variable
'ENABLE_SHARED_FILE_STORAGE' from all remaining files.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

21c2612d 07/25/2013 05:28 pm Guido Trotter

Merge branch 'stable-2.9'

  • stable-2.9:
    Update NEWS and version for Ganeti 2.7.1
    Add hvparam to disable VNET_HDR on tap devices
    daemon-util: pass --oknodo at rotate_logs
    Fix another missing renaming
    Add logrotate example
    daemon-util: provide rotate_logs and rotate_all_logs actions...
d676dbea 07/24/2013 12:55 pm Sebastian Gebhard

Extend gnt-instance show to show vlan parameter

Extensions for "gnt-instance show" to output the vlan parameter which
was introduced by my recent patch series.
This is done by extending the nic object that is used to output the
info. Every other occurrence of this object is adopted as well....

3039e2dc 07/23/2013 03:29 pm Helga Velroyen

gnt-cluster {init, modify} --file-storage-dir

This patch implements consistent usage and behavior of
the --file-storage-dir option in 'gnt-cluster init'
and 'gnt-cluster modify'. It includes a bunch of unit
tests as well.

Additionally, it enables the previously written unit...

858ecf2b 07/18/2013 06:32 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix permission problem related to Issue 477
    Add hs function to easily change file ownership

Conflicts:
src/Ganeti/Utils.hs (trivial)
trivial

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

e455a3e8 07/18/2013 11:35 am Michele Tartara

Fix permission problem related to Issue 477

Commit 91525dee856951ace940c78b6254a1c7344b4803 fixed Issue 477 but broke
"gnt-cluster info".

This commit offers a solution to both problems, by changing the permission
of the socket instead of changing the permission the confd process is run...

489c9037 07/17/2013 07:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Rename queryd to luxid
    Document the rapi client not to have a QueryNetworks method
    Enable unit tests again
    Document ganeti-queryd
    Add ganeti-queryd to QA env test
    Add queryd daemon (split from confd)...
3695a4e0 07/17/2013 06:04 pm Thomas Thrainer

Rename queryd to luxid

As queryd will, in the future, handle all LUXI request, queue jobs and
most likely perform various other tasks, it is renamed to luxid already.
This will safe some headache when upgrading Ganeti installations, as we
don't have to deal with a daemon rename....

670e954a 07/17/2013 12:33 pm Thomas Thrainer

Add queryd daemon (split from confd)

queryd is added as a new daemon which handles configuration queries over
LUXI. This functionality was removed from confd, which now only queries
over the network.

The queryd user is added to the master group such that it can access...

c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
4eb06290 07/15/2013 05:24 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Fix RAPI to include missing network fields
    Add support for querying network timestamps
    In the crontab example, look for the correct binary
    Fix wrong numbering in UPGRADE documentation

Conflicts:...

2dcb5a26 07/15/2013 12:34 pm Helga Velroyen

Remove file storage path from autoconf

This patch removes the option to configure the file
storage path at configure time, because it is now
replaced by a runtime option for gnt-cluster init.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Klaus Aehlig <>

75f2ff7d 07/15/2013 12:10 pm Michele Tartara

Allow modify_etc_hosts to be changed

The modify_etc_hosts options, enabling the cluster to modify the /etc/hosts
files of nodes, and to keep them in sync, could only be set at cluster init
time.

With this commit it can now be changed through modify_etc_hosts as well....

795d035d 07/12/2013 04:42 pm Klaus Aehlig

Add luxiReqQueryNetworks to LuxiOp

When the QueryNetwork was introduced as a method, apparently
it was forgotten in the Haskell world. Add it here as well.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

22ff02a7 07/10/2013 03:45 pm Christos Stavrakakis

Add support for querying network timestamps

Add creation and modified timestamps when creating a new network, and
extend the available query fields for networks with these fields,
namely 'ctime' and 'mtime'.

Signed-off-by: Christos Stavrakakis <>...

5f7d4181 07/10/2013 02:04 pm Jose A. Lopes

Fix single-execution of Haskell tests and shelltests

Add Makefile.am target hs-test-% for single-execution of Haskell
tests.

Add Makefile.am target hs-shell-% for single-execution of Haskell
shelltests.

Update documentation on running individual tests....

f9649b3d 07/10/2013 12:41 pm Klaus Aehlig

Only generate node lists with nodes having different names

genNodeList is used in testing to generate list of nodes
that could come up in cluster configurations. Since names
are used to assign indices to nodes, they have to be unique;
this is also the case in all real clusters....

76825515 07/05/2013 03:12 pm Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Also remove prop_IterateAlloc_sane from test list
    Fix documentation for prop_Alloc_sane
    Remove IterateAllocSane test
    Clean up work around for host name filtering
    Do not handle host queries special...
820ca72d 07/04/2013 08:04 pm Michele Tartara

Include "instance" information in LV data collector

This commit enables the logical volume data collector to get information about
the instances and to link it to the information about logical volumes.

The list of parameters accepted by the collector is expanded to allow proper...

76968973 07/04/2013 08:04 pm Michele Tartara

Add "includeLogicalId" function for Disks

This function checks whether a disk contains a given Lvm logical ID,
directly or through its children.

Unit tests are added as well.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

58458012 07/04/2013 08:03 pm Michele Tartara

Add "instance" field to LVInfo

Extend the LVInfo data structure with the field for storing the name of
the instance it is paired with.

Update the tests accordingly.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

51b12695 07/04/2013 08:01 pm Klaus Aehlig

Also remove prop_IterateAlloc_sane from test list

In f4d1bb7 that test was removed, but forgotten to remove it
from the list of tests to be executed. Fix that.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

09d8b0fc 07/04/2013 06:46 pm Klaus Aehlig

Fix documentation for prop_Alloc_sane

As discussed in the last commit, placing a new instance on the cluster
can lead to a cluster that can be improved by moving previously added
instances. For an empty cluster, however, there are no previous
instances. So add this to the test description to make obvious why...

f4d1bb75 07/04/2013 06:46 pm Klaus Aehlig

Remove IterateAllocSane test

The test is testing for a property that just isn't true. Iterated
allocation greedily place one instance at a time taking the locally
most balanced solution. Then it is tested whether the resulting global
allocation can be improved....

212b66c3 07/02/2013 01:53 pm Helga Velroyen

Turn 'exclusive_storage' into storage parameter (hs)

This is the haskell implementation of my patch "Extend RPC call
'node_info' by storage parameters". It turns the 'exclusive
storage' flag into a storage parameter of the LVM storage types.
Besides that, this patch moves some types into the Types.hs....

d90b69f6 07/01/2013 02:40 pm Bernardo Dal Seno

Add htools shell test for VCPU handling

This tests that VCPUs used by both instances and node OS are correctly
accounted in allocation.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

c8c071cb 07/01/2013 02:40 pm Bernardo Dal Seno

Load CPUs used by the node OS in htools

A new field is added to the Node type, and it's used to initialize the used
CPUs field.

The signature of Node.create has been split among lines to match the
parameter list.

Signed-off-by: Bernardo Dal Seno <>...

c7f116c0 07/01/2013 02:35 pm Michele Tartara

Add tests for the LV data collector

This commit adds a few shelltests for the logical volume data collector.

Also, it performs some cleanup of the comments already present in the file:
given that the number of the tests should be changed manually, and this is...

0cf8edad 07/01/2013 02:34 pm Michele Tartara

Add tests for LVs parser

Add unit tests and Quickcheck tests for the LV parser.

Also, fix the alphabetic order of some imports in htest.hs.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

b5334d80 07/01/2013 02:34 pm Michele Tartara

Add function testing parsers with QuickCheck

Parsing a string automatically generated by QuickCheck can be useful in many
cases. A function for doing this is added to the common test functions.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

688f35e6 07/01/2013 02:34 pm Michele Tartara

Add function for generating arbitrary UUID

Add a function for generating arbitrary UUIDs to be used for QuickCheck tests.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

ed74dde5 07/01/2013 10:53 am Klaus Aehlig

Add test for the --full-evacuation option

In this example cluster, there are four pairs of nodes, each hosting
two instances. Each node has disk capacity for an additional instance.
Therefore, for normal online rolling reboots, there are two node groups,...

da4a52a3 06/20/2013 05:04 pm Thomas Thrainer

Index instances by their UUID

No longer index instances by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the...

f5c4553b 06/18/2013 06:24 pm Michele Tartara

Merge branch 'stable-2.8' into 'master'

  • stable-2.8
    Version bump to 2.8.0~alpha1
    Make cfgupgrade idempotent
    Update config version number when downgrading
    Add test for shrink heuristics over different resources
    Improve hspace shrinking strategy...
c5f6cba2 06/17/2013 08:32 pm Helga Velroyen

Rename directory 'Block' to 'Storage'

This patch renames the 'Block' directory to 'Storage' in
the Haskell code base. The same rename was done in the
python code base earlier this quarter. We generalize the
name, because we needed a place for general storage...

f624a8eb 06/17/2013 05:37 pm Klaus Aehlig

Add test for shrink heuristics over different resources

In this example, memory prevents adding more than one instance on
the first node. Yet, on the other nodes, 2 instances can be placed
each, if disks are shrunk appropriately. This, however, requires
to courageous decision to shrink disks next, even though more nodes...

d6cc980d 06/14/2013 12:16 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Make shrinkByType aware of individual disks
    Add a test for hspace to respect instance policy

Conflicts: (trival, take union of added files/tests)
Makefile.am
test/hs/shelltests/htools-hspace.test...

6b502fa3 06/14/2013 11:15 am Klaus Aehlig

Add a test for hspace to respect instance policy

In this example, the instance policy for disks prevents allocation
of more than one instance per node. The test verifies that tiered
allocation still respects this and doesn't attempt to place policy
violating instances on the cluster....

bfa9a5d1 06/14/2013 11:15 am Klaus Aehlig

Make shrinkByType aware of individual disks

When shrinking an instances, you can't just get smaller disk footprint
while leaving the individual disks as they are. Make the shrink
heuristic aware of that fact, and decrease all individual disks as
well. Fixes issue 484....

1c3231aa 06/13/2013 12:32 pm Thomas Thrainer

Index nodes by their UUID

No longer index nodes by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the
ConfigWriter, including all methods....

030ab01a 06/12/2013 10:18 am Helga Velroyen

Add hvparams to RPC call 'node_info'

This patch adds the hvparams parameter to the RPC call
'node_info'. It also adjusts the related code in noded.py
and Query/Node.hs

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

a93e5814 06/07/2013 04:11 pm Bernardo Dal Seno

New tests for hspace and exclusive storage

hspace is run on clusters with exclusive storage enabled.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

914c6df4 06/07/2013 04:11 pm Bernardo Dal Seno

Spindles become part of htools resource spec

Spindles are now part of resource spec. Instances get created with spindles
specified (which are just ignored when exclusive storage is disabled).

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

825f8cee 06/07/2013 04:11 pm Bernardo Dal Seno

htools cluster score takes spindles into account

When exclusive storage is enabled, spindles are used instead of disk space
to compute the cluster score.

Comments and variable names in computePDsk has been changed to match the
actual code.

Signed-off-by: Bernardo Dal Seno <>...

74ff6aed 06/07/2013 04:11 pm Bernardo Dal Seno

Update spindles when moving instances in htools

Spindles get updated, and errors raised when not enough free spindles
exist. No new error is raised when exclusive storage is disabled.

Unit tests included.

Signed-off-by: Bernardo Dal Seno <>...

fcfc0c2d 06/07/2013 04:11 pm Bernardo Dal Seno

Unit tests for htools and exclusive storage

The existing tests are run also on nodes with exclusive storage enabled. The
values for spindles and exclusive storage are set in a consistent way, for
both nodes and instances.

Signed-off-by: Bernardo Dal Seno <>...

96f9b0a6 06/07/2013 04:11 pm Bernardo Dal Seno

Load node spindles data in htools

The data structure for nodes gets a new field for free spindles, and the
existing field for total spindles gets renamed to avoid identifying it with
the node parameter that had the same name. These fields get filled with...

e5c92cfb 06/04/2013 09:06 pm Klaus Aehlig

Add a force option to the ClusterSetParams Opcode

If set, the op code will, in particular, try to set the master IP
on the new netdev, even if shutting down the master IP on the old
netdev failed.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

92070017 06/04/2013 04:22 pm Michele Tartara

Fix shadowing of library function

The "reads" field shadows a library function from Prelude. This commit
fixes the problem.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

08fa3f09 06/03/2013 06:10 pm Michele Tartara

Add shelltests for diskstats

Check that the behavior of running the diskstats data collector is as
expected.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

3ed5cd7e 06/03/2013 06:09 pm Michele Tartara

Add unit tests for the Diskstats parser

Add one test parsing an actual /proc/diskstats file and one QuickCheck
test.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

f8f638fe 06/03/2013 06:09 pm Michele Tartara

Add function for generating arbitrary non-negative numbers

In many tests it is useful to have the possibility to easily generate
non-negative integer numbers.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

105266b2 06/03/2013 06:08 pm Michele Tartara

Factor out and rename testFile function

The testFile function used in the DRBD parser test file can actually be
useful in any case where a parser has to be tested.

This patch moves it to the TestCommon file, and renames it to a more meaningful
testParser....

a7e0c9b0 06/03/2013 06:08 pm Michele Tartara

Fix erroneous docstring

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

d7976f54 06/03/2013 04:15 pm Bernardo Dal Seno

Unit tests for spindles and exclusive storage in htools

Everything should work the same when exclusive storage is active, as
spindles are not yet handled as a resource. A new test has been added for
the interactions between spindles and policies.

Signed-off-by: Bernardo Dal Seno <>...

5a13489b 06/03/2013 04:15 pm Bernardo Dal Seno

Check real spindles in ipolicies

When exclusive storage is enabled, the spindles in instance disks are used
to check the instance policies (as outlined in design-partitioned.rst).

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

2724417c 06/03/2013 04:15 pm Bernardo Dal Seno

Add spindles to instance disks in htools

A new data type is introduced for disks to store both size and spindles.
When available, spindles are filled with input data. Except for loading and
storing, spindles are ignored.

Signed-off-by: Bernardo Dal Seno <>...

c324da14 06/03/2013 04:15 pm Bernardo Dal Seno

Load exclusive_storage in htools

The node parameter is loaded into the data structures. No behavior is yet
modified.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

a4f35477 06/03/2013 04:15 pm Bernardo Dal Seno

New function to load JSON arrays of optional values

This will be needed to load spindles in some htools backends. Unit tests
provided.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

c09359ee 06/03/2013 04:14 pm Bernardo Dal Seno

Add unit test for text backend + fix bug

Test serialization and deserialization of instances. Fix check of secondary
node.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

dd0b06d0 06/03/2013 11:25 am Klaus Aehlig

Test with non-redundant instances and several node-groups

The example cluster contains two node groups. The first contains three nodes,
with two non-redundant instances each. As each node has only capacity for three
instances, the nodes have to be rebooted individually. Additionally, there is...

342a9b3b 05/31/2013 04:36 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Document users-setup tool
    Adjusting permissions after confd start
    Ensure the queue socket has the right permissions
    Update IAllocator interface documentation
    Add NEWS entry for hail honoring networks...
017160ed 05/29/2013 10:53 am Thomas Thrainer

Add tests for network-aware allocation

hail-alloc-invalid-network defines a cluster with two nodegroups and an
allocation request which does not fit on any of the groups. Group 1 has
invalid disk-templates while Group 2 is not connected to the right
networks....

908c2f67 05/29/2013 10:52 am Thomas Thrainer

Parse NIC data from allocation request in hail

Add a NIC type and extend the Instance type by a list of NIC's. Parse
the NIC's in allocation requests and store them for now. Later patches
will make use of this field in order to ensure that the requested
instance is only placed in node groups wich are connected to those...

c8b199db 05/29/2013 10:52 am Thomas Thrainer

Parse node group networks

Extend the Group by the network ids it is connected to. Adapt
the IAlloc backend such that the networks are parsed correctly.
This also required the adaption of test data.

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

1d4a4b26 05/28/2013 04:05 pm Thomas Thrainer

Add disks_active to configuration

This flag tracks if the disks of an instace are supposed to be active.
That's the case when an instance is running or when its disks got
activated explicitly (and in a couple of other cases).
It will be used by watcher to re-activate disks after a node reboot....

b54ecf12 05/23/2013 02:03 pm Bernardo Dal Seno

Add spindles field to disk object

The field is filled with the value provided on the command line.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Thomas Thrainer <>

3a7eecd7 05/22/2013 03:27 pm Klaus Aehlig

Extend hroller tests by options for non-redundant instances

The cluster now consists of 3 nodes, with drbd instances between
nodes 1 and 2, and 2 and 3. Additionally, nodes 1 and 3 each contain
a non-redundant instance, but node 2 cannot hold two additional...

8840de6f 05/22/2013 12:08 pm Klaus Aehlig

Test for hroller taking non-redundant instances into account

The example cluster consists of 6 nodes, each hosting 2 instances and
having capacity for 3. So, while the drbd-induced graph consists of
only insulated nodes, no more than two nodes can be rebooted at the...

1bb99a33 05/17/2013 05:42 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8: (45 commits)
    Update NEWS with disk creation fixes
    Sort cmdlib-related entries in Makefile.am
    cmdlib: Cleanup public/private functions
    cmdlib: Extract instance query related functionality
    cmdlib: Extract instance operation functionality...
7af7da68 05/15/2013 05:43 pm Helga Velroyen

Compatibility test for instances

This patch introduces a test to check the compatibility
of the Haskell and the Python representation of instances.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Klaus Aehlig <>

13d62481 05/15/2013 05:43 pm Helga Velroyen

Instance generators

This patch introduces and enhances generators for
instances:
- 'genInstWithNets' is split into the generation of an
arbitrary instance and enhancing an instance with nets
- 'genInst' calls 'genInstWithNets' with an empty set
of initial networks to provide a reasonable default...

6b168d4a 05/15/2013 05:43 pm Helga Velroyen

Annotate every arbitrary instance field

The Arbitrary instance of the 'Instance' object is written
using the <*> syntax. Since it often uses the 'arbitrary'
generator for the instance's fields it is hard to figure
out which 'arbitrary' fills which instance field. This...

d9b681ea 05/15/2013 05:43 pm Helga Velroyen

Generators for disks

This patch adds generators for Disk instances to the Haskell
test code. It uses somewhat more reasonable generators to
fill the fields instead of just arbitrary values.
'genDiskWithChildren' is a generator that generates a disk
with a specified number of disk children. To avoid shooting...

7b2d4001 05/10/2013 02:56 pm Klaus Aehlig

Extend hroller test to also verify tag-based node selection

While the multiple-tags test was added to verify that coloring is done
only after node selection (otherwise it wouldn't be possible to get in
both cases a single reboot group), it can easily be extended to also...

2a1737eb 05/10/2013 01:56 pm Klaus Aehlig

Add a test for online rolling reboot scheduling

In the example configuration, the graph constructed by just connecting
primary and secondary instances is two-colorable. However, when taking
conflicting locations of secondary nodes into account, three reboot...

361f2719 05/10/2013 01:53 pm Klaus Aehlig

Fix expectation in hroller test

Regular expressions are not shell globs. So "any symbol" is expressed
by a dot, not a question mark. In this case, the confusion lead to a
too liberal expectation, hence the test passed. Fix it nevertheless.

Signed-off-by: Klaus Aehlig <>...

62441832 05/07/2013 06:59 pm Klaus Aehlig

Add a test demonstrating the --node-tags option of hroller

The example is a cluster of 6 nodes, paired into 3 group by three
instances. So the whole cluster would need two reboot groups. The two
tags select, in two different ways, one node of each group. So, when...

e6e2d4a5 05/07/2013 06:58 pm Klaus Aehlig

Add tests for the -O option of hroller

In hroller, the option -O can be used to mark certain nodes as offline.
These nodes should then not be part of any reboot group. Add tests
to verify this behavior.

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

f2d87a5e 05/03/2013 04:47 pm Michele Tartara

Merge remote-tracking branch 'origin/stable-2.8'

Conflicts:
lib/bdev.py
lib/cmdlib.py

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

516a0e94 04/30/2013 06:38 pm Michele Tartara

Add reason trail to haskell opcode format

The haskell type definition of opcodes should remain aligned with the python
one.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

c42fbe28 04/30/2013 10:49 am Iustin Pop

Fix bug in group queries related to node/instance fields

Since we use the primitive string type for group UUIDs, the group
fields have a bug where we pass the group name as filter for node
tests, whereas the nodes themselves use the group UUID. This results...

5519f036 04/29/2013 11:13 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8: (42 commits)
    Add shelltests for hspace allocation
    hspace: Handle multiple ipolicy specs
    QA: Test multiple instance specs
    QA: Handle multiple instance specs
    Unit test for cli.FormatPolicyInfo()...
efa6dd08 04/29/2013 07:05 pm Thomas Thrainer

Add test for DRBD 8.4 /proc/drbd parsing

The current parser already supports the output of DRBD 8.4 /proc/drbd,
so add tests which actually verify this behaviour.
Note that the empty lines in proc_drbd84.txt are actually present in the
output of DRBD 8.4, they always appear when minors are not contiguous....

d41efc42 04/29/2013 07:05 pm Thomas Thrainer

Add test for empty version in /proc/drbd

The previous patch removed a (rather implicit) test for /proc/drbd not
containing a version line. This adds an explicit test for this case.

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