Statistics
| Branch: | Tag: | Revision:

root / test / hs @ 1c4910f7

# Date Author Comment
0108d385 03/11/2014 03:28 pm Klaus Aehlig

Verify serialisation of LockLevel

For the new JSON instance Ganeti.Locking.Locks.LockLevel, verify that
readJSON . showJSON = Ok.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

1835fd75 03/11/2014 03:28 pm Klaus Aehlig

Add network locks to Haskell

Ganeti also has a lock level for networks, however this level was forgotten
when the Ganeti lock hierarchy was implemented in Haskell.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

1f87d93d 03/07/2014 05:22 pm Petr Pudlak

Add a test for (de)serialization of Ssconf

.. to verify that readJSON . showJSON = Ok.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

d6f05205 03/07/2014 05:22 pm Petr Pudlak

Create a data type for representing RPC compressed data

It is serialized as a JSON pair. The first element is a number
describing the compression type, the second element the actual data
(in this case Base64+Zlib encoded).

On the Python side it is decompressed by backend._Decompress....

885759da 03/07/2014 09:35 am Petr Pudlak

Refactor warnings issued by the latest 'hlint'

.. as the newest version of hlint adds additional checks

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

01a9a382 03/06/2014 05:35 pm Klaus Aehlig

Verify that all lock owners indeed own a lock

Add a test verifying that the list of lock owners is not
too big in the sense that every subject contained in that
list owns at least one lock.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

27f28739 03/06/2014 05:35 pm Klaus Aehlig

Verify the list of lock owners is complete

In other words, verify that if all the lock owners release their
locks, the empty lock allocation is reached.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

2868f3f7 03/05/2014 11:21 am Hrvoje Ribicic

Add the interruptible option to the delay opcode

To prepare for the use of sockets to interrupt a running delay opcode,
this patch adds an option to the opcode for doing so.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Petr Pudlak <>

0b3a266d 03/04/2014 05:19 pm Petr Pudlak

Test the instance 'ArrayObject Disk'

.. which is one of the few ones that use extra fields.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

91f0dc1e 03/04/2014 05:19 pm Petr Pudlak

Add a helper function for testing 'ArrayObject' instances

It checks if 'fromJSArray . toJSArray' is equivalent to 'Ok'.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

69809ae3 03/04/2014 02:27 pm Klaus Aehlig

Verify the intervall property of GanetiLocks

According to the specification in our design, if A is a group
lock and B belogs to this group, then all locks between A and B
in the lock order also must belong to A. Verify this.

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

cf7f8e51 03/04/2014 02:27 pm Klaus Aehlig

Verify implication restriction on locks

As specified in our design, if A is a group lock and B
belongs to A, then A must be earlier in the lock order
than B. Verify this property.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

2e1399da 03/04/2014 02:27 pm Klaus Aehlig

Update Arbitrary GanetiLocks

With the extension of Ganeti.Locking.Locks.GanetiLocks to the
full lock hierarchy, also extend the instantiation of Arbitrary.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

0cffcdb1 02/28/2014 02:08 pm Dimitris Bliablias

Allow cluster mac prefix modification

Extend LUClusterSetParams to allow the modification of the cluster
mac-prefix setting in 'gnt-cluster modify' command.

This fixes part of issue 239.

Signed-off-by: Dimitris Bliablias <>
Reviewed-by: Jose A. Lopes <>

e3b02e1f 02/26/2014 06:23 pm Klaus Aehlig

Verify serialization/deserialization consistency for Locks

As we made Ganeti.Locking.Locks an instance of JSON, we better verify
that we can readJSON what we showJSON.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

89d140d1 02/26/2014 06:23 pm Klaus Aehlig

Add test for serialization of LockAllocation

Verify readJSON . showJSON = Ok for LockAllocations.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

13caa61d 02/21/2014 02:14 pm Klaus Aehlig

Verify the result of opportunistic union

Verify that the result returned by the opportunistic union correctly
reflects the state change: locks not in the result are not changed,
locks in the result are as requested.

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

fb68bc0c 02/21/2014 02:14 pm Klaus Aehlig

Verify that opportunistic union only adds to the locks held

Add a test verifying that by opportunistic union the set of locks
held, and the level at which the locks are held, only increases.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

9f9c4543 02/21/2014 02:14 pm Klaus Aehlig

Use opportunisticUnion in Arbitrary LockAllocation

Also allow the newly exported function opportunisticLockUnion in the
construction of arbitrary lock allocations.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

07eec0fc 02/21/2014 02:14 pm Klaus Aehlig

Generate arbitrary :: LockAllocation according to interface

While we know that freeLocks and intersectLocks are defined in terms
of updateLocks, it is still cleaner to test against the interface: the
module Ganeti.Locking.Allocation exports several functions, and all...

277c969f 02/19/2014 03:45 pm Klaus Aehlig

Add a test verifying that lock-implication is honored

Locks can be included in one another. This inclusion can be violated
in two ways, viz.,
- A holds a lock L and B holds an exclusive lock L belongs to, and
- A holds an exclusive lock and B holds a lock L belongs to....

64df329d 02/19/2014 03:45 pm Klaus Aehlig

Verify that every owner mentioned as blocking actually is

If a request is blocked by multiple lock owners, verify that each
single one of them actually blocks the request. In other words,
verify that, whenever all but one release their lock, the request
still does not succeed....

9bf17b50 02/19/2014 03:45 pm Klaus Aehlig

Verify that the set of blocking owners is big enough

When a request is blocked, the list of blocking owners
should exhaust all blocking reasons, i.e., if those
owners release all their locks, the update must succeed.

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

619b12df 02/19/2014 03:45 pm Klaus Aehlig

Make TestLock an instance of Lock

Equip the type of test locks with a simple group structure
consisting of two lock groups and a big lock.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

a9c3ba29 02/19/2014 03:45 pm Klaus Aehlig

Verify that releasing a lock always succeeds

There are no restrictions on releasing a lock; so this operation
has to succeed unconditionally. Verify this.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

93f1e606 02/19/2014 10:39 am Jose A. Lopes

Add '-c | --instance-communication' flag to instance modify

  • Add the instance communication flag to the 'OpInstanceSetParams'
    opcode. This flag allows the user to enable/disable instance
    communication in a running instance. This patch adds this flag but...
a317d77a 02/17/2014 03:40 pm Klaus Aehlig

Make the lock allocation part of WConfD's state

As WConfD is supposed to be the authoritative source for
configuration and locks, it needs to have access to the lock
state as well.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

1d49428b 02/17/2014 03:40 pm Klaus Aehlig

Verify atomicity of lock updates

Add a test verifying the atomicity of an update, i.e., if an update
succeeds, then all requests must be satisfied in the final state, and
if it fails, the state must be unchanged.

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

987fcfb7 02/17/2014 03:40 pm Klaus Aehlig

Verify lock stability over updates

Add a test that verifies that updates by one user do not
affect the locks held by a different user.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

3469663d 02/17/2014 03:40 pm Klaus Aehlig

Verify Basic property for lock allocation

Verify the minimal consistency property for any form
of lock handling: if a user holds an exclusive lock,
then no other user can hold the same lock (neither
exclusively, nor shared).

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

e465608f 02/14/2014 11:47 am Petr Pudlak

Add mtime/ctime to ConfigData

It's used on the Python side, it's been missing on the Haskell side.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

fb0fa957 02/14/2014 11:47 am Petr Pudlak

Add the WConfD daemon to build configuration files

Also list it in the Haskell datatype, constants, Python constants and
test configuration.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

63571096 02/14/2014 11:46 am Petr Pudlak

Add tests for Ganeti.THH.Types

In particular, test (de)serialization of "OneTuple".

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

1263a102 02/14/2014 11:46 am Petr Pudlak

Add a helper test method for checking deserialization

It tests if a deserialization method fails properly when an invalid
input is given.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

42fda604 02/13/2014 02:33 pm Jose A. Lopes

Add 'instance_communication_network' to 'OpClusterSetParams'

... and update the unit tests.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Helga Velroyen <>

da0aa302 02/07/2014 11:15 am Santi Raffa

OpCodes: modify InstanceReinstall for private, secret params

Modify InstanceReinstall to accept and process private and secret
parameters.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

6bce7ba2 02/07/2014 11:14 am Santi Raffa

OpCodes: modify InstanceCreate for private, secret params

Modify InstanceCreate to accept process private and secret parameters.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

07e3c124 02/07/2014 11:14 am Santi Raffa

OpCodes: modify ClusterSetParams for private parameters

Modify ClusterSetParams to accept and process private parameters.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

1a182390 02/07/2014 11:14 am Santi Raffa

OpCodes: modify InstanceSetParams for private parameters

Modify InstanceSetParams to accept and process private parameters.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

a5efec93 02/07/2014 11:14 am Santi Raffa

Add private OS parameters to cluster and instance conf

This updates objects, constructors and mocks for Instance and Cluster
objects in Python and Haskell.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

4884f187 02/07/2014 11:13 am Santi Raffa

Add Private types to Python, Haskell

This commit adds the private containers to Python and Haskell.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

560ef132 02/07/2014 11:13 am Santi Raffa

serializer: emit and encode Private values

For inbound data the simplest, safest thing to do is to traverse all
JSON right after encoding and search for private parameters by key.

This ensures that all consumers of this data get Private values
transparently and consistently; the serializing methods don't have to...

9d929656 02/07/2014 11:13 am Santi Raffa

OpCodes test: fix argument order (expected/but got)

Fix expected/but got value in some unit tests.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose A. Lopes <>

015f1517 02/06/2014 03:34 pm Jose A. Lopes

Add CLI and OpCode instance communication option

  • Add command-line interface flag to enable instance communication
  • Add instance communication parameter to the opcode that creates an instance

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

3af1359f 02/06/2014 03:34 pm Jose A. Lopes

Add metadata daemon

... including, user, group, daemonizing code with command line
options, integration with the Snap HTTP server, and logic.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

45907709 02/04/2014 03:14 pm Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add andRestArguments to IDiskParams
    Add function providing the canonical andRestArguments
    Add genAndRestArguments :: Gen (Map String JSValue)
    Add additional constructor AndRestArguments to OptionalType...
2e09344f 02/04/2014 10:51 am Klaus Aehlig

Add andRestArguments to IDiskParams

In this way, we cann pass through the opaque parameters
required for disk creation and modification in the case of
external storage.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

db9583f2 02/04/2014 10:51 am Klaus Aehlig

Add genAndRestArguments :: Gen (Map String JSValue)

So that objects using AndRestArguments are available for testing.
As the AndRestArguments are intended for passing through additional
parameters passed on the command line, we restrict them to the
values that are allowed at this position: Strings of ASCII characters...

ea7032da 01/30/2014 04:10 pm Petr Pudlak

Update getDirJobIDs to use ResultT

Also simplify code and remove unused functions.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

87f15934 01/30/2014 04:10 pm Petr Pudlak

Generalize type signatures of functions that produce Result

This allows them to be used in any 'MonadError', in particular in monad stacks
composed using ResultT, without explicit lifting.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

8d61946f 01/30/2014 11:03 am Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Make safeRenameFile create dirs with defined permissions
    Add constant for subdir permissions within the job queue
    Add utility to fix permissions
    Add data type describing permissions and possibly owners...
b75430d9 01/27/2014 02:50 pm Ilias Tsitsimpis

Add 'provider' to IDiskParams

IDISK_PROVIDER was included in python's IDISK_PARAMS, so it
should also be included in the Haskell code.

Now that luxid creates and enqueues jobs, without this patch the
ExtStorage interface is broken as the user can not pass the disk...

06455b13 01/16/2014 07:25 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add 'design-2.11.rst' which kvmd and instance shutdown
    Clarify spacing in record syntax
    Update NEWS entry about job scheduling
    Clean up luxidMaxRunningJobs
    Make the scheduler use the max_running_jobs config parameter...
ad756c77 01/16/2014 05:11 pm Klaus Aehlig

Add opcode parameter for the maximal number of running jobs

This parameter of OpClusterSetParams will allow to set the
maximal number of jobs to be run simultaneously.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

74b3f734 01/16/2014 05:11 pm Petr Pudlak

Use ClockTime instead of Double in fields in Objects.hs

This affects "mtime" and "ctime" fields in all data types.

This also forces explicit declaration of how the fields are serialized
in Query.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

6879dfd2 01/16/2014 05:11 pm Petr Pudlak

Also fix MaybeForJSON parsing and add unit tests

Its readJSON was mistakenly implemented as an infinite loop.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

dde8b625 01/16/2014 05:11 pm Petr Pudlak

Add (de)serialization unit tests for TimeAsDoubleJSON

This includes adding an Arbitrary instance for TimeAsDouble, and also an
orphan instance for Arbitrary ClockTime so that the current tests work
unmodified.

Signed-off-by: Petr Pudlak <>...

588d0ee4 01/13/2014 07:43 pm Jose A. Lopes

Unit tests for KVM daemon

Add unit tests for KVM daemon.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

4084d18f 01/13/2014 07:43 pm Jose A. Lopes

KVM daemon datatype, user and group

  • add user and group to 'configure.ac', 'Makefile.am' and
    'AutoConf.hs.in'
  • extend 'Daemon' datatype with 'GanetiKvmd' and implement all related
    functions, such as, 'daemonName', etc.
  • export KVM daemon name as constant...
b3cc1646 12/20/2013 03:15 pm Helga Velroyen

Verify incoming RPCs against candidate map

From this patch on, incoming RPC calls are checked against
the map of valid master candidate certificates. If no map
is present, the cluster is assumed to be in
bootstrap/upgrade mode and compares the incoming call...

f3ac6f36 12/19/2013 01:59 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Version bump for 2.10.0~rc1
    Update NEWS for 2.10.0 rc1 release
    Fix pylint 0.26.0/Python 2.7 warning
    Update INSTALL and devnotes for 2.10 release
  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release...
79258532 12/18/2013 03:49 pm Klaus Aehlig

hsqueeze: Also test for tagging

hsqueeze is required to tag nodes before powering them down. Also test
for this behavior.

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

25b2392b 12/18/2013 03:49 pm Klaus Aehlig

Add an hsqueeze test for drbd instances

In this example, there are two drbd instances, rendering a total of
four nodes ineligible for being offlined. Additionally, the master
may not be offlined either, leaving a single candidate.

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

d3e6fd0e 12/17/2013 06:12 pm Santi Raffa

ssconf: Add Gluster mount directory

This commit adds the gluster storage directory to ssconf (without
actually using its value just yet).

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

d79a6502 12/11/2013 01:32 pm Petr Pudlak

Generalize the IO client handling in Luxi

... to be usable for WConfd as well. A daemon handler is encapsulated
into `Handler` data type, which is then passed to a generic `listener`.

The changes are done in Luxi.hs so that the differences are visible and...

5e671e0e 12/11/2013 12:07 pm Petr Pudlak

Add the Unix domain socket path to the Server data type

This simplifies code for closing such a socket.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

d605e261 12/11/2013 12:07 pm Petr Pudlak

Rename getClient/Server to getLuxiClient/Server

Later they will be split into LUXI-specific and general parts.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

0359e5d0 11/29/2013 12:10 pm Spyros Trigazis

Add default_iallocator_params cluster parameter

Add a cluster parameter to hold the iallocator parameters used
by the default instance allocator. Implement the option to
modify config.data, query config.data and upgrade man pages,
tests and cfgupgrade tool. The new default_iallocator_params is...

38d18416 11/26/2013 11:14 am Helga Velroyen

Remove opcodes from haskell tests

Clears the haskell tests from the query opcodes that are no
longer needed.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

4757ccc4 11/25/2013 06:49 pm Klaus Aehlig

Fix wrong expectation in hsqueeze shelltest

The shelltests expected the wrong position of the -f option
as well. Fix this.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

96ed3a3e 11/21/2013 04:06 pm Dimitris Aragiorgis

Introduce --hotplug-if-possible option

This will be useful for an external entity using RAPI that
wants to modify devices of instances.

The common use case for that is:
"I want to add a NIC/disk to an instance. If it is running
then try to hotplug the device. If not, then just add it to config."...

2ca1b52d 11/21/2013 03:45 pm Klaus Aehlig

Add missing spindles paramter to idisk

When spindles where added to Ganeti, apparently it was forgotten
to add the parameter to the Haskell data type as well. Do this now.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

7295a6dc 11/19/2013 02:13 pm Hrvoje Ribicic

Allow the NIC VLAN to be set to an empty string

The NIC VLAN has previously not been modified via Haskell, causing the
INicParams class not to be used. With the recent job queue
refactorings, a modification definition is recorded, and for an empty
string (which is a legal default value) a crash happens. This patch...

36820089 11/15/2013 05:40 pm Klaus Aehlig

Add tests for hsqueeze commands

In the examples, pick a node that certainly has to be powered on or off,
respectively, and verify that the power command is there, as well
an appropriate migration command in the right position.

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

0808e9d5 11/14/2013 05:40 pm Petr Pudlak

Add NodeGroup to InstanceConsoleInfoParams

Before, calls to `gnt-instance list -o console` with an instance on a
node with a custom SSH port failed because of missing group
configuration. This patch fixes the problem.

Signed-off-by: Petr Pudlak <>...

1de58759 11/14/2013 05:27 pm Helga Velroyen

group queries: test niceSort and remove FIXME

In an effort to get rid of the python queries soon, this
patch fixes a FIXME of the group queries regarding the
missing testing of niceSort in this context. Due to the
lack of actually weirdly named hostnames, this patch...

14933c17 11/14/2013 03:08 pm Jose A. Lopes

Add Haskell hypervisor instance state

Add 'InstanceState' datatype which is the Haskell counterpart of the
Python type 'HvInstanceState'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

d9d1e541 11/08/2013 07:00 pm Klaus Aehlig

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

65d356d2 10/31/2013 06:00 pm Klaus Aehlig

Add a test for hsqueeze expansion

In this example, there are 7 nodes, each with capacity for
4 instances. Two nodes are online and host 4 instances each,
thus forming a cluster with no free resources. Four additional
nodes a standby, and two additional node is offline for other...

db0ea4ae 10/31/2013 05:59 pm Klaus Aehlig

hsqueeze: add a test for the -v option

This test also verifies that the master node is
not considered for being offlined.

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

7839bb67 10/31/2013 05:59 pm Klaus Aehlig

Change default for target resource to 2.0

The target resources, as used by hsqueeze, are supposed to
be strictly higher than the minimal resources. However,
keeping minimal resources of less than a single instance
is not a useful reserve.

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

bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
51d7ac96 10/29/2013 03:56 pm Thomas Thrainer

Support import with compressed instance moves

Support compressing instance data while sending it to the target node on
instance imports.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

896cc964 10/29/2013 03:56 pm Thomas Thrainer

Add local compression to OpBackupExport

OpBackupExport is extended by a compress parameter. This parameter
(either 'none' or 'gzip') controls if instance disks are compressed
before being sent over the network to the destination node.

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

f198cf91 10/29/2013 03:56 pm Thomas Thrainer

Add possibility to compress to OpInstanceMove

OpInstanceMove now supports the 'compress' option. It allows to enable
compression for intra-cluster instance moves.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

80ae381e 10/29/2013 03:56 pm Klaus Aehlig

Fix expectation of the htools wrapping

With the addition of hsqueeze, htools obtained a new personality.
Additionally, the longer htool name also changes the line wrapping of
the descriptions. Adapt the expectation accordingly.

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

1c912fd2 10/29/2013 02:26 pm Klaus Aehlig

Add test for hsqueeze compression

In this example cluster, there are 6 nodes with
capacity for 4 instances each, holding a total
of 8 instances. So even after turning off 2 nodes
and rebalancing, every node still has capacity for
2 instances.

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

df58ca1c 10/24/2013 12:27 pm Dimitris Aragiorgis

Hotplug: client support

Add --hotplug option. Only used in OpInstanceSetParams.
If this is omitted, modifications become effective after reboot.

Ask user confirmation in case NIC modify + hotplug because it will
be done via removing old NIC (and the corresponding tap) and adding...

efa0d4fd 10/17/2013 11:09 am Hrvoje Ribicic

Tests for InstanceInfo retrieval added

As the retrieval of instance information is a tricky operation which
affects the way the instance status is calculated, a few tests have
been added to ensure its behaviour remains constant.

Signed-off-by: Hrvoje Ribicic <>...

b9e12624 10/17/2013 11:09 am Hrvoje Ribicic

Add a console information RPC call

As the instance queries need console information, and the information
is retrieved through python classes that should not be ported yet, an
RPC call supplying the information has been added. Some tests as well.

Signed-off-by: Hrvoje Ribicic <>...

3fd38382 10/17/2013 11:09 am Hrvoje Ribicic

Add aliases of existing instance fields

For legacy reasons, some instance fields are aliased. The aliases have
the same definition but appear under different names. Support for such
fields has been added to Query/Common.hs
As aliases can cause somewhat harder to find bugs, a new test was...

c14ba680 10/16/2013 08:56 pm Hrvoje Ribicic

Enable 'AllInstancesInfo' RPC call in Haskell

The AllInstancesInfo call appears to have been implemented but never
used. The commit makes it usable by modifying the parameter type and
serialization.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

e4dac3e1 10/15/2013 12:29 pm Jose A. Lopes

Add test suite for some names in 'AutoConf'

Add test suite for some names in 'AutoConf' to test whether the values
generated from 'configure' and the 'Makefile' are valid filepaths,
user names, group names, among others. Fixes issue 601.

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

5ce621ab 10/11/2013 02:13 pm Helga Velroyen

Correct properties of the cluster's file storage dir

This patch does:
- Rename the haskell opcode parameter
'pGlobalFileStorageDir' and 'pGlobalSharedfileStorageDir'
to 'pClusterFileStorageDir' and
'pClusterSharedfileStorageDir', respectively, because...

346c3037 10/04/2013 05:11 pm Klaus Aehlig

Provide means of submitting jobs to a drained queue

During an upgrade, the job queue needs to be drained in order to avoid
new jobs coming to the cluster. Nevertheless, the upgrade process
needs to carry out some maintenance, like redistributing the new...

d067f40b 10/02/2013 03:50 pm Jose A. Lopes

Merge 'EvacNode' and 'NodeEvacMode'

Merge 'EvacMode' and 'NodeEvacMode' which are associated with the
duplicated constants 'IALLOCATOR_NEVAC_*' and 'NODE_EVAC_*'. This
merge moves the type 'EvacMode' to 'Ganeti.Types' in order to avoid a
circular dependency between 'Ganeti.HsConstants' and...

5c40076b 09/30/2013 07:12 pm Klaus Aehlig

Disable hlint camelcase on test module

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

33ce4d2d 09/30/2013 03:20 pm Spyros Trigazis

Add test for mond-data mock file

Test if the input file imported with the --mond-data option is
parsed properly.

Signed-off-by: Spyros Trigazis <>
Signed-off-by: Michele Tartara <>
Reviewed-by: Michele Tartara <>

f89ec0e0 09/25/2013 03:24 pm Jose A. Lopes

Disable hlint camelcase on test module

Haskell test modules contain functions which have names containing
underscore. Add hlint annotation to disable this check.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

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